图3-3 按条件(班级、学号、姓名)显示学生的上机时间
3.4 机器使用情况
图3-4 机器使用情况查询
第四章 课程设计心得与体会
在这次课程设计中,我体会颇多,学到很多东西。我加强了对C++的认识,
复习了自己以前的知识,自己的逻辑思考能力也提高不少。从而对Microsoft Visual C++ 6.0又有了更深入的认识!在这次课程设计中,我还懂得了程序开发的一些比较重要的步骤,比如需求分析、总体设计、程序模块设计(含功能需求、程序代码设计与分析、运行结果)、系统使用说明等。总之,通过这次课程
设计,我收获颇丰,相信会为自己以后的学习和工作带来很大的好处。最重要的还是激发了我编程的兴趣和热情,让我从一个只懂理论变成了能做一些小型程序,让我对编程更加热爱了。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。特别是学会了在Visual C++ 集成开发环境中如何调试程序的方法。当然,老师的悉心指导和同学的帮助也是不可忽视的,在此感谢本次课程设计中辅导老师对我的关心和帮助,诚心诚意感谢她对我的鼓励与教导,是她在我迷茫的时候给了我些许提示,激发了我编程的灵感;还有,我在此也十分感谢本次课程设计中同学们对我的帮助,尽管本次不是团队合作,但是他们也给了我不少的提示和帮助,是他们让我有信心坚持做下来,在此感谢他们!
附录一:程序清单
#include
student[M]; int n;
void addition() { int i;
printf(\请输入录入学生信息的总数:\); scanf(\,&n); for(i=1;i<=n;i++)
{ printf(\请输入第%d个学生学号(20s):\,i); scanf(\,student[i-1].id);
printf(\请输入第%d个学生班级(20s):\,i); scanf(\,student[i-1].theclass);
printf(\请输入第%d个学生姓名(20s):\,i); scanf(\,student[i-1].name);
printf(\请输入第%d个学生上机时间(20s)(例:02):\,i); scanf(\,student[i-1].ontime);
printf(\提示:您已成功录入第%d条信息\\n\,i); } }
(上机费用=上机时间* 1.0/h ,不足一小时按一小时计算) void calculate() { int hours;
char times[30]; time_t rawtime;
struct tm * timeinfo; time ( &rawtime );
timeinfo = localtime(&rawtime ); strcpy(times,asctime(timeinfo)); printf(\所有学生上机费用如下:\\n\); for(int i=1;i<=n;i++)
{printf(\学生%d费用:\,i);
if((student[i-1].ontime[3]-48)*10+student[i-1].ontime[4]>(times[14]-48)*10+times[15])
hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]; else
hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]+1; printf(\,hours); } }
void calculate() { int hours;
char times[30]; time_t rawtime;
struct tm * timeinfo; time ( &rawtime );
timeinfo = localtime(&rawtime ); strcpy(times,asctime(timeinfo)); printf(\所有学生上机费用如下:\\n\); for(int i=1;i<=n;i++) {printf(\学生%d费用:\,i);
if((student[i-1].ontime[3]-48)*10+student[i-1].ontime[4]>(times[14]-48)*10+times[15])
hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]; else
hours=(times[11]-48)*10+times[12]-(student[i-1].ontime[0]-48)*10-student[i-1].ontime[1]+1; printf(\,hours); } }
void search()
{ int i,b,c,count; do
{ char find[20];
printf(\请选择查询方式:1.根据学号查询;2.根据班级查询;3.根据姓名查询;4.根据上机时间:\); scanf(\,&b); switch(b)
{ case 1: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\请输入学生的学号:\); scanf(\,find); for(i=0;i { if (strcmp(student[i].id,find)==0) { count++; if(count==PF_FLOATING_POINT_EMULATED) printf(\学生学号\\t学生班级\\t学生姓名\\t上机时间\\n\); printf(\,student[i].id,student[i].theclass, student[i].name,student[i].ontime); } } if(!count) printf(\提示:该生不存在\); goto A; case 2: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\请输入学生的班级:\); scanf(\,find); for(i=0;i { if (strcmp(student[i].theclass,find)==0) { count++; if(count==PF_FLOATING_POINT_EMULATED) printf(\学生学号\\t学生班级\\t学生姓名\\t上机时间\\n\); printf(\,student[i].id,student[i].theclass, student[i].name,student[i].ontime); } } if(!count) printf(\提示:该生不存在\); goto A; case 3: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\请输入学生的姓名:\); scanf(\,find); for(i=0;i if (strcmp(student[i].name,find)==0) { count++; if(count==PF_FLOATING_POINT_EMULATED) printf(\学生学号\\t学生班级\\t学生姓名\\t上机时间\\n\); printf(\,student[i].id,student[i].theclass, student[i].name,student[i].ontime); } } if(!count) printf(\提示:该生不存在\); goto A; case 4: count=PF_FLOATING_POINT_PRECISION_ERRATA; printf(\请输入学生的上机时间:\);