教师工作量管理

更新时间:2024-06-18 06:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《程序设计基础》 课程设计报告

课程设计题目

教师工作量管理

目 录

一. 课程设计目的……………………………………………………1 二. 课程设计方案……………………………………………………1

总体思路…………………………………………………………1 课程设计内容……………………………………………………1

课程功能分配……………………………………………………1 三. 课程设计条件……………………………………………………2

课程设计的实验环境……………………………………………2 课程设计的预备知识……………………………………………2 四. 课程设计步骤……………………………………………………3

系统及结构分析…………………………………………………3 软件设计阶段……………………………………………………3 软件测试及维护阶段……………………………………………5 结束语……………………………………………………………6 致谢………………………………………………………………6 五. 附录………………………………………………………………6

一.课程设计目的:

学生根据所学的程序设计基础原理与程序设计的知识,能够针对一个小型的程序设计基础管理系统,进行系统的需求分析,系统设计,基础设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型程序设计基础的目的。

二.课程设计方案:

1.总体思路:

利用学到的C语言编程知识和编程技巧,完成一个小型管理信息系统的开发,帮助学生熟悉开发一个系统的整个过程:系统分析、程序的设计、编写与调试等过程。

2.课程设计内容:

(1). 基本信息录入(包括教师信息、班级信息、课程信息等) (2). 教师科研信息录入 (3). 教师工作量统计 (4). 教师工作量统计结果输出 (5). 教师工作量的查询

3.课程功能分配情况: ★

(1) 主要完成: 信息的录入

(2)参与设计编程:

①.基本信息录入(教师信息) ②.基本功能:

a.输入教师的学号。 b.输入教师的姓名。 c.输入教师的性别。 d.输入教师的学历

e.输入教师的联系方式。

(1) 主要完成:

信息的录入

(2) 参与设计编程:

①. 基本信息录入(班级信息) ②. 基本功能:

a.输入教师所教的班级数目。 b.输入教师所教班的科目。 c.输入教师所教的总科目。

(1)主要完成:

工作量的查询

(2)参与设计编程:

①.教师工作量的查询 ②.基本功能:

a.查询教师的学号姓名。 b.查询教师的班级个数。

c.查询教师所教理论课时和实验课时。

(1)主要完成:

工作量统计结果输出

(2)参与设计编程:

①.教师工作量统计结果输出 ②.基本功能:

a.输出教师所教理论课时。 b.输出教师所教实验课时。 c.输出教师所教总课时。

(1)主要完成:

工作量统计

(2)参与设计编程:

①.教师工作量统计 ②.基本功能:

a.统计教师所教理论课时。 b.统计教师所教实验课时。 c.统计教师所教总课时。

★学号:2011100153 王国健 (1)主要完成:

信息的录入

(2)参与设计编程:

①.教师科研信息录入(课程信息) ②.基本功能:

a.输入教师所教的理论。 b.输入教师的实验课时。

三.课程设计条件:

1.课程设计的实验环境:

硬件要求能运行Windows XP操作系统,开发工具可采用Microsoft Visual C++ 6.0。

2.课程设计的预备知识

熟悉C语言编程知识和编程技巧,熟练运用C语言编程系统,将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题以及提高实际编程的能力。

四.课程设计步骤

1.系统结构分析

系统满足教师工作量管理的实际要求,包含基本信息录入、教师科研信息的录入、工作量的统计、统计结果的输出、查询等结构。 (1)本系统适用于教师工作量的管理,其功能主要分为六大类:

①. 基本信息录入功能:准确录入教师的基本信息(如姓名、学号、学位、性别等等)、班级信息(如班级数目)。

②. 教师科研信息录入功能:准确录入课程信息(如实验、理论)。

③. 教师工作量统计功能:方便用户准确的统计所教的课程。

④. 教师工作量统计结果的输出功能:方便用户直观看到自己的工

作量。

⑤. 教师工作量的查询功能:方便用户查询自己的信息与工作量。

⑥. 退出:退出结束系统操作。

(2)本系统性能力求易于使用,具体有较高的扩展性和可维护性。系统的功能结构关系图如下:

教师工作量的管理系统 录入信息 输 出

教师信息 班级信息课程信息统计结果查询结果 2.软件设计阶段

在系统中包括以下几个阶段: (1)登陆界面的设计:

功能:登陆者可以选择自己将要使用的功能,选择不同的序号可进入为自己服务的界面。

(2)教师信息录入界面;

(3)教师工作量的统计界面;

(4)教师信息按学号查询界面;

(5)教师信息按教师姓名查询界面:

(6)退出;

3.软件测试阶段及维护:

在开发这个软件系统的漫长过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,在本次设计过程中,我组成员采用循环测试法,力求在每个阶段结束之前通过严格技术审查,即每完成一个功能,就进行测试,尽可能早的发现并纠正差错,完成模块测试之后再进行系统测试。在该设计中,

偏重考虑了当用户输入的信息出错时,系统就会出现提示,以便让用户知道出错的原因,并能及时做出修改,所以站在用户的角度考虑,尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,以此来发现错误,纠正错误,取得了一定的效果。

在运行的过程中,发现了一些问题,主要是当程序出错时,系统有没有能力给出出错信息,使系统能够安全的运行下去,而不是退出系统。所以,加强系统的安全性是十分重要的,这就使得我要充分的考虑到每一个运行细节,并分析可能出错的情况,在这些边界上,设置出错检测,使系统能自动捕获出错点,给出提示,允许用户重新进行操作。一个应用系统性能的优劣,效率的高低始终应当由用户来做出判决,应用系统在运行过程中,用户会提出一些新的需求和建议,我们就会根据用户需求的变化,对本系统一定的修改,使其进一步地得到完善和提高。

4.结束语 :

作为计算机专业的学生,在一年的学习过程中我们逐渐了解很多关于本专业的知识,而这次课程设计更加深了我们对专业的认识,我们可以用比较充裕的时间来尝试开发一个小型系统,这次课程设计确实为我们今后从事计算机的开发打下了坚实的基础。在这次课程设计中,总的感觉是我遇到了很多困难,这主要是由于我开发软件的经验不足,其次我对开发软件的应用也不够熟练。有时虽然是一个很小的问题,但解决起来却花费了我不少的时间,值得欣慰的是,当自己苦思冥想或者和其它同学一起探讨,把问题解决的时候我还是觉得获益非浅,这就是在摸索中寻求到的知识。在开发期间,有目的的去学习一些将要用到的东西,仔细的考虑工作流程的规律和步骤,充分的利用手中的开发工具,使自己的开发在代码上实现够少而精确。让用户能够尽量简单的进行操作,但是在老师的检测过程中,还是出现了很多的不足之处,这些都是要在今后的工作重要努力改进和完善的。当我即将完成这次课程设计的时候我终于认清楚了以前老师经常提起的一个问题,一个系统开发的过程中编码不是重要的,重要的是对分析系统以及系统模型的建。有了一个好的系统模型之后,我们再将其划分成几个模块,那样做起来就会容易得多。

5.致谢:

在系统的开发过程中,我碰到了很多的难题,多亏有同学们的帮助,在这里,特别要向我们组的成员表示衷心的感谢。但是由于是第一次用c语言编的比较大的程序,肯定会有经验上的不足,失误之处在所难免,敬请各位老师,领导批评的指正。

五.附录: 程序代码:

#include #include #include #include\#define N 20

menu() {

printf(\\\n\

printf(\∴★∵**☆_∴★∵**__ | \\n\

printf(\\\t | I I | \\n\ printf(\\\t ____ | I *^_^* 欢迎进入教师 I | \\n\ printf(\\\t /,---< | printf(\\\t ( )o~o~~@~@ | printf(\\\t c >/ | printf(\\\t (_0/ - | printf(\\\t ,- >o<- | printf(\\\t / / ) | printf(\ printf(\(_( | |_/ | printf(\\\t /_/`__|_ | printf(\\\t | | | !___________________________ printf(\\\t | | | \\n\

printf(\\\t | | | \\n\

printf(\\\t | | | \\n\

printf(\\\t (___)_) \\n\

printf(\\\n\

printf(\\\n\

printf(\\\n\

printf(\\\t \\n\

printf(\\\t \\n\}

struct teacher//教师信息 {

int num;

char name[N]; char sex[N]; int age;

I 工作量管理系统 I | \\n\I 1--录入教师信息 I | \\n\I 2--统计教师工作量信息I | \\n\I 3--查询教师工作量信息I | \\n\I 0--退出操作 I | \\n\I *** I | \\n\I ********** I | \\n\I________________________I | \\n\! \\n\

| | ._[_______]_. | ~(@^_^@)~ | .______| |______. ------- __@ | ----- _`(<,_ | !_________________________! 请按选择输入(0~3) 7

char level[N]; long int phone; };

struct cla //班级信息 {

int class;//班级数目 char sub[N]; };

struct subject //课程信息 {

int shu1; //理论课时 int shu2; // 实验课时 };

struct message {

struct teacher aa; struct cla bb; struct subject cc; };

void record(); void statistics(); void query();

int i,m,l,j=0,k=0,p=0,q=0; char n[N];

struct message a[2]; double b[N]; main() {

int choice;

printf (\请输入您的选择:\ while(1) {

system(\ menu();

scanf (\ switch (choice) { case 0:{

char ch;

printf(\确认退出吗(y/n)?:\ getchar();

ch=getchar();

if(ch=='y'||ch=='Y') {

printf(\谢谢使用!!!!\\n\

exit(0);

} }

getchar(); break; case 1:

record ();getchar(); break; case 2:

statistics ();getchar(); getchar();break; case 3:

query ();getchar(); getchar(); break;

default:

printf (\无效选项!\ getchar();break; } } }

void record() {

printf(\请输入2个教师号,姓名,性别,年龄,学历,电话,班级个数,课程,理论课时,实验课时:\\n\. 基本信息录入(包括教师信息、班级信息、课程信息等)*/

for(i=0;i<2;i++) {

scanf(\&a[i].aa.age,a[i].aa.level,&a[i].aa.phone,&a[i].bb.class,a[i].bb.sub,&a[i].cc.shu1,&a[i].cc.shu2); } }

void statistics() {

for(i=0;i<2;i++)

{

if(a[i].bb.class==1)

b[i]=(a[i].cc.shu1)+(a[i].cc.shu2); else if(a[i].bb.class==2)

b[i]=1.5*((a[i].cc.shu1)+(a[i].cc.shu2)); else if(a[i].bb.class==3)

b[i]=2*((a[i].cc.shu1)+(a[i].cc.shu2)); else

b[i]=2.5*((a[i].cc.shu1)+(a[i].cc.shu2)); printf(\教师%d总课时%lf\\n\ } }

void query() {

printf(\查询\

printf(\ printf(\按教师号查询 2--按姓名查询\\n\ scanf(\ if(l==1) {

printf(\输入要查询的教师号:\\n\ scanf(\ for(i=0;i<2;i++) {

if(a[i].aa.num==m) {

printf(\教师号\\t姓名\\t班级个数\\t课程\\t理论课时\\t实验课时:\\n\ printf(\b.class,a[i].bb.sub,a[i].cc.shu1,a[i].cc.shu2); j=1; } }

if (j==0 && k==0)

printf(\没有该教师的信息!\\n\ }

else if(l==2) {

printf(\输入要查询的教师姓名:\\n\ scanf(\ for(i=0;i<2;i++) {

if(strcmp(a[i].aa.name,n)==0) {

printf(\教师号\\t姓名\\t班级个数\\t课程\\t理论课时\\t实验课时:\\n\

10

printf(\b.class,a[i].bb.sub,a[i].cc.shu1,a[i].cc.shu2); p=1; } }

if (p==0 && q==0)

printf(\没有该教师的信息!\\n\ } }

11

本文来源:https://www.bwwdw.com/article/c0l3.html

Top