教师教学管理系统实验报告.docx
《教师教学管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《教师教学管理系统实验报告.docx(10页珍藏版)》请在冰点文库上搜索。
![教师教学管理系统实验报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/beada517-7799-4498-8293-5afc613f08c9/beada517-7799-4498-8293-5afc613f08c91.gif)
教师教学管理系统实验报告
教师教学管理系统实验报告
通达学院程序设计报告
(2014/2015学年第一学期)
题目:
教师教学工作管理系统
专业
学生姓名
班级学号
指导教师
指导单位
日期2014—12—17
评分细则
评分项
成绩
遵守机房规章制度(5分)
上机时的表现(5分)
学习态度(5分)
程序准备情况(5分)
程序设计能力(10分)
团队合作精神(5分)
课题功能实现情况(10分)
算法设计合理性(10分)
用户界面设计(10分)
报告书写认真程度(5分)
内容详实程度(10分)
文字表达熟练程度(10分)
回答问题准确度(10分)
评分等级
备注
评分等级有五种:
优秀、良好、中等、及格、不及格
学生管理系统
一、课题内容和要求
请使用C/C++编写一系统,实现教师教学工作管理,软件的入口界面应包括如下几个方面。
(一)功能要求
(1)基本信息维护
要求:
教师以及教学工作信息数据以文件的形式保存,能实现教师信息以及教学工作的维护。
此模块包括子模块有:
增加教师信息,删除教师信息,修改教师信息。
(2)教学工作信息管理维护
要求:
1)输入/修改/删除教师上课信息,包括课程名称,任课教师,职称,上课时间,选课学生人数,课程编号,课程类型,课时数,并根据这些信息计算该课程的业绩点数(有相关公式)。
2)输入/修改/删除教师毕设信息,所带毕设学生名、学号、课题类型、课题名称、毕设总周数、指导教师信息,根据这些信息计算毕设工作业绩点数。
3)教学绩点统计:
要求:
输入教师姓名和时间,统计其在该时间内的所有教学工作信息。
统计所有教师指定学年内所有的业绩点,并按照由高到低进行排序。
(二)其他要求
(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读。
(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)
(3)学生可自动增加新模块。
二、需求分析
系统管理模块,学生基本信息管理模块,课程管理模块,学生成绩管理模块和教工日常管理模块。
数据的操作主要是:
数据添加、数据修改、数据查询。
三、概要设计
四、详细设计
#include<>
#include<>
#include<>
#include<>
#defineLENsizeof(structteacher)um!
=um,teach[i].name,teach[i].sex,teach[i].age,teach[i].edu);
printf("职称:
%s\n月薪:
%ld,住址:
%s,电话:
%s\n",teach[i].title,teach[i].wage,teach[i].addr,teach[i].telep);
i=i+1;
fread(&teach[i],sizeof(structteacher),1,fp);/*从文件中读入数据存储到结构体变量teach【i】中*/
}
um,teach[i].name,teach[i].sex,teach[i].age,teach[i].edu);
printf("职称:
%s\n月薪:
%ld,住址:
%s,电话:
%s\n",teach[i].title,teach[i].wage,teach[i].addr,teach[i].telep);
fclose(fp);
}
elseprintf("该文件中无教师信息\n");文2.数学3.英语");
scanf("%d",&i);
if(i==1)
{
printf("请输入筛选分数的上限:
");
scanf("%d",&j);
printf("请输入筛选分数的下限:
");
scanf("%d",&k);
printf("------------------------------筛选结果-----------------------------------------------------------\n");
printf("学号\t姓名\t性别语文成绩数学成绩英语成绩总分平均分\n");
printstart();
while(r!
=NULL)
{
if(k<=(r->&&(r->printe(r);
r=r->next;
}
}
elseif(i==2)
{
printf("请输入筛选分数的上限:
");
scanf("%d",&j);
printf("请输入筛选分数的下限:
");
scanf("%d",&k);
printf("------------------------------筛选结果-----------------------------------------------------------\n");
printf("学号\t姓名\t性别语文成绩数学成绩英语成绩总分平均分\n");
printstart();
while(r!
=NULL)
{
if(k<=(r->&&(r->printe(r);
r=r->next;
}
}
elseif(i==3)
{
printf("请输入筛选分数的上限:
");
scanf("%d",&j);
printf("请输入筛选分数的下限:
");
scanf("%d",&k);
printf("------------------------------筛选结果-----------------------------------------------------------\n");
printf("学号\t姓名\t性别语文成绩数学成绩英语成绩总分平均分\n");
printstart();
while(r!
=NULL)
{
if(k<=(r->&&(r->printe(r);
r=r->next;
}
}
else
Wrong();
}
voidSave(Linkl)
{
FILE*fp;
Node*p;
intflag=1,count=0;
fp=fopen("c:
\\student","wb");
if(fp==NULL)
{
printf("\n=====>提示:
重新打开文件时发生错误!
\n");
exit
(1);
}
p=l->next;
while(p)
{
if(fwrite(p,sizeof(Node),1,fp)==1)
{
p=p->next;
count++;
}
else
{
flag=0;
break;
}
}
if(flag)
{
printf("\n=====>提示:
文件保存成功.(有%d条记录已经保存.)\n",count);
shoudsave=0;
}
fclose(fp);
}
voidmain()
{
{
key();
menu();
1、}voidmain()
编程中涉及到链表和文件两方面的内容时,照成了很大的阻碍,最主要是在对链表的结点进行交换,对文件某些特殊的读写不清楚。
遇到问题时,我会先找到问题所在的地方,如果是小的基本的错误就自己改正;如果是自己改正不了,就先查阅书籍,然后再询问其他同学或者老师,再自己重新思考算法,然后不断的调试,根据它的提示修正错误,直到编译无错且运行的结果正确为止。
七、课程设计总结
在这次做实验过程中,发现了很多在以前学习C语言的时候的遗忘掉的和遗漏掉的知识。
从这次实验,我有了自己对C语言有了更深的理解,代码不能有丝毫的纰漏。
所以给了我们更高的要求,思维的严密性是此课程的一个锻炼的方面。
?
C语言的课程自此就结束了,但是要经常看相关的资料。
通过这次试验我深刻的认识到做实验对学习C语言的重要性,同时,也可以看得出,学习这门课程,不仅要有丰富的理论知识,而且还要付诸于实践,最好做到理论实践相结合。
并且,我也感受到了c语言的特点和魅力,希望将来能够熟练掌握这门课的知识和技术,对将来的学习和工作有所帮助。