




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息科学与技术学院程序设计基础课程设计报告题目名称:学生考勤管理系统学生姓名:郭晨晨学 号:二专业班级:13 级计科(3)班指导教师:郭理2013年6月6日目录1.课程设计题目与要求课题目的和要求设计目的:要求实现- “学生考勤管理程序”记录学生的缺课情况,它包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型 (迟到、 早退、 请假及旷课)设计要求:1. 录入学生的缺课记录;2修改某个学生的缺课记录;3查询某个学生的缺课情况;4统计某段时间内,某门课旷课学生姓名及旷课次数,按旷课次数由多到少排序;5统计某段时间内,有学生旷课的课程及旷课人次,按旷课人次由多到少排序;6. 系统以菜单方式工作
2、。课题意义程序实践是本科生重要教学环节之一。通过程序实践,强化学生的计算机应用技能,使学生验证、巩固和充实所学的理论知识,宽知识面,培养学生的创新精神和实践能力加深对相关内容的理解,拓学生考勤管理程序可以大大减缓学生考勤人员的工作量, 方便了平时上课学生的出勤率的管理。2总体设计功能模块设计根据分析整个系统主要划分为7 个功能模块,分别执行要求中的功能。数据管理中可以对学生的基本信息、课程的基本信息、学生缺课的查询、添加、删除和修改。查询管理通过根据学生姓名,课程姓名时间段儿等信息,查询单个学生的缺课记录,单科课的旷课记录,单个学生的旷课记录。功能模块图如图1 所示:图 1 功能模块图系统设计
3、方案这个程序是过程性语言设计的。运用多种条件语句,主体采用的是链表指针。系统的设计采用了数组语句、选择语句和循环语句, 在需要处理大量同类数据时,这样就使程序书写更加简洁。程序使用了布尔函数。选择语句多采用if 多分支选择结构与switch 语句。首先计算switch 表达式,然后在caes 子句中寻找值相等的常量表达式,并以此为入口符号,由此开始顺序执行。循环语句采用了for 语句等、 do-while 语句, for 语句用于已知循环次数的循环结构,括号中的三个量分别用来表示循环变量初值、循环终值和循环增量。do-while 语句先循环后判断,Break 语句在 switch 语句中,保证
4、多分支情况的正确执行,在循环语句中,强制终止本层循环。保存和读取函数是典型的函数功能,一个程序是由若干个函数组成的,保存和读取函数是和其他函数互相调用的。3 详细设计数据结构设计struct xuekechar xueke_name50;int people_num;这是定义了一个xueke 结构体,用来存放一个学科名及其相应的旷课人数;struct student char name50;long time;int lesson_time;char lesson_name50;int chidao_num;int zaotui_num;int qingjia_num;int kuangke_
5、num;struct student *next; 这是定义了一个student 的结构体,用来存放一个学生的考勤记录,其中有,字符数组name50 , lesson_name50, 分别存放学生名字,缺 课 课 程 名 字 ; int 型 变 量lesson_time,chidao_num,zaotui_num,qingjia_num,kuangke_num,分别来存放,缺课节次,迟到次数,早退次数,请假次数,旷课次数 long 型变量 time ,记录时间。主模块设计要建立的学生人数,学生基本信息(包括缺课时间、学生姓名、课程名称、节次、迟到次数、早退次数、请假次数、旷课次数)可用crea
6、t ()函数如图1.结束根据要修改的学生姓名以及科目名称找到相应的信息,再选择要修改的项目进行单项修改如根据人名可以查出该学生的所有缺课记录如图 3图3根据学科名称和时间范围查出所有在该范围内旷课的学生以及次数如图 4图4根据要查询的学科名称及时间段查出在改时间段内该门课上旷课的人数如5图5可以载入实现储存在当前文件夹中txt 文件中所储存的数据如图 6进入系统界面,顺序的完成各项操作,进行数据的输入,信息的保存调用相应的函数打开相应的地址,查询各项信息。如图 74.图7运行结果运行开始菜单图1开始菜单 主菜单图2主菜单 建立学生缺课记录图2建立学生缺课记录储存学生旷课记录3 储存学生旷课记录
7、5.课程设计总结课程设计顺利完成,题目所要求的功能基本实现,可以对学生的缺课信息进行添加,修改,删除以及查询的显示。不过这个程序还不够完善,例如不能往当前文件夹中的txt 文件中添加记录。结束语整个系统的设计过程对于我来说是个学习、探索的过程,通过借鉴别人,学习设计程序,在整个设计过程中,出现过很多的问题,很多繁琐的东西都需要反复的修改,主要是因为前期的学习不认真,对系统的需求分析的要求认识不清楚,使得在后边的工作中不得不经常反复请教别人去修改。使我体会到设置中每一步的重要性。所以在分析一个问题时,我们需要站在一个有远见的高度。通过此次设计,我对C+吾言编程有了深刻的认识,积累了使用软件工程的
8、思想来开发软件的经验,更重要的是学会了在对待问题时应该考虑到哪些方面和怎么解决问题。虽然时间紧迫但我学会了不少, 感到自身知识的贫乏, 希望在日后积极学习并尝试努力中能做出完善的系统。参考文献谭浩强.C+语言程序设计.清华大学出版社求是科技.Visual C+ 信息系统开发. 人民邮电出版社附录:源代码#include<cstdio> ueke_name;ai.people_num=0;cout<<" 请输入要查看的时间范围由小到大【输入格式: 时间 (空格 )时间】 "cin>>look_time1>>look_time2;
9、p1=head;for(i=0;i<n;i+)while(p1!=NULL&&look_time1<=p1->time&&p1->time<=look_time2)if(ai.xueke_name=p1->lesson_name)ai.people_num+=p1->kuangke_num;p1=p1->next;p1=head;for(j=0;j<n-1;j+)for(i=0;i<n-1-j;i+)if(ai.people_num<ai+1.people_num) zhongjian=ai+1.
10、people_num;ai+1.people_num=ai.people_num;ai.people_num=zhongjian;strcpy(zhongjian_name,ai+1.xueke_name);strcpy(ai+1.xueke_name,ai.xueke_name);strcpy(ai.xueke_name,zhongjian_name);elseif(ai.people_num=ai+1.people_num&&strcmp(ai.xueke_name,ai+1.xueke_n ame)>0) zhongjian=ai+1.people_num;ai+1
11、.people_num=ai.people_num;ai.people_num=zhongjian;strcpy(zhongjian_name,ai+1.xueke_name);strcpy(ai+1.xueke_name,ai.xueke_name);strcpy(ai.xueke_name,zhongjian_name);for(i=0;i<n;i+)cout<<" 学科名称:"<<ai.xueke_name<<" 旷课次数:"<<ai.people_num<<endl;return
12、head;return head;struct student *zairu()struct student *p1=NULL,*p2=NULL,*head=NULL;struct student student_ziliao100;int i=0,n=0;if(fp1=fopen("","rb+")=NULL) printf("cannot open filen");return(head); while(!feof(fp1)if(fread(&student_ziliaoi,LEN,1,fp1)!=1)if(feof(fp
13、1)fclose(fp1);break; printf("file read errorn");i+;n=i;student_num=n;p1=p2=(struct student *)malloc(LEN);head=p1;for(i=0;i<n;i+)p1->chidao_num=student_ziliaoi.chidao_num;p1->kuangke_num=student_ziliaoi.kuangke_num;strcpy(p1->lesson_name,student_ziliaoi.lesson_name);p1->lesso
14、n_time=student_ziliaoi.lesson_time;strcpy(p1->name,student_);p1->qingjia_num=student_ziliaoi.qingjia_num;p1->time=student_ziliaoi.time;p1->zaotui_num=student_ziliaoi.zaotui_num;p2->next=p1;p2=p1;p1=(struct student*)malloc(LEN); p2->next=NULL; return(head); void chucun(s
15、truct student *head) struct student *p1;p1=head;fp1=fopen("","wb+");while(p1!=NULL) fwrite(p1,LEN,1,fp1);p1=p1->next; fclose(fp1);cout<<"储存成功n"void main()struct student *head; int a,b,c;欢迎使用学生考勤管理系统进入管理nnn"查看系统相关信息nnn"zhuye:cout<<"$n, cout&
16、lt;<"1_cout<<"2cout<<$nnnnn" cin>>a;if(a=1)docout<<"I*cout<<"1_建立学生缺课记录n"cout<<"2_修改学生缺课记录n"cout<<"3_查询学生缺课记录n"cout<<"4_查看单科旷课记录n"cout<<"5_查看学生旷课记录n"cout<<"6_载入学生旷课记录n"cout<<"7_储存学生旷课记录n"cout<<"8_退出考勤管理程序n"I*cout<<"*n"cin>>b;switch(b)case 1:head=creat(); print(head); break;case 2:head=xiugai(head);print(head);break;case 3:chaxun(hea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国PCB药水行业发展动向分析及市场发展规模预测研究报告
- 2025至2031年中国立式三槽行业投资前景及策略咨询研究报告
- 广东省高州市九校联考2024年毕业升学考试模拟卷数学卷含解析
- 2025年项目安全培训考试试题(培优A卷)
- 2025年企业主要负责人安全培训考试试题(可下载)
- 2025年新进厂员工安全培训考试试题带答案(轻巧夺冠)
- 25年公司厂级员工安全培训考试试题及答案 完整
- 2024-2025工厂安全培训考试试题答案完整
- 2024-2025厂里安全培训考试试题(突破训练)
- 2025班组三级安全培训考试试题【网校专用】
- 2025-2030中国医疗领域的射频识别设备(RFID)行业市场发展趋势与前景展望战略研究报告
- 2025年人教版小学三年级下册奥林匹克数学竞赛测试卷(附参考答案)
- 火锅店服务员服务全流程详解
- 2025至2030中国车载OLED屏市场未来前景展望及运行态势剖析报告
- 2024-2025学年八年级下学期道德与法治期中模拟试卷(二)(统编版含答案解析)
- 2025-2030中国生物医药行业市场深度调研及发展趋势与投资前景预测研究报告
- 贸易公司员工管理制度
- 专利代理师高频题库新版2025
- 肝硬化护理新进展
- 武安市公安局招聘警务辅助人员笔试真题2024
- 2025年全国国家版图知识竞赛题库及答案(中小学组)
评论
0/150
提交评论