版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 C语言程序设计实验设计报告学 院:_ 专业班级: 学生姓名: 学 号: 指导老师: 设计题目: _ 2013年06月16日 目录1. 设计题目:学生考勤系统设计32. 设计方案:33.模块说明:33.1系统功能模块33.2函数以及调用关系44.代码分析及程序优化95. 数据文件名及说明106. 系统运行测试结果分析106.1 进入程序106.2 加载界面114.3 创建学生信息114.4 录入本课考勤情况126.4 修改学生信息126.5 查询学生考勤信息136.6 查看班级考勤情况136.7源程序清单和执行结果:141. 设计题目:学生考勤系统设计2. 设计方案: 该系统能考察学生的出勤情
2、况,所以包括每个班学生的全部信息。每个学生是一条记录,包括姓名性别学号,对应于某天某门课程的出勤情况等。该系统可模拟考勤过程,记录考勤结果,并能在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。其中,学生可在本系统在线请假以及查看学期内的上课出勤信息。在线请假中,学生可以随时查看到请假的详细进展情况。同时,学生可以查看本期内上课出勤的详细信息,如:查看某个课程在整个学期内的出勤情况请假、旷课、迟到、早退了多少次,以及具体的时间、任课老师姓名、第几节可等详细信息。学生还可以查看本人的基本信息,如:所在院系、年级、专业、班级、学号、姓名、性别等,以及修改个人用户密码,查看本班的课表。对
3、于任课老师,其使用本系统时,管理所教班级学生的上课出勤信息以及查看所教学生的上课出勤信息。老师自动列出还没有在网上公布的学生上课出勤信息,系统依据学生请假系统,决定学生上课出勤的最终结果。并且查看自己所教课程、所教班级学生整个上课出勤统计信息以及详细信息。3.模块说明:3.1系统功能模块根据设计要求,画出如下流程图: 开 始 菜 单2 6.退出4修 改 5查询23创建2查询11录入结 束3.2函数以及调用关系 void mune_1(); /*菜单函数1*/void mune_2() /*菜单函数2*/开始录入记录查询个人创建信息修改信息查询整班结束Menu_2退出系统 1 2 3 4 5 6
4、 Break Break Break Break Break break void enter(void); /*录入函数*/ 开始 输入班级和学生学号 p-num=a 大学体育模电C语言电机拖动马克思大学英语复变函数 输入学生本节课息y/n 返回菜单2 n 退出void search_1(void); /*查询个人信息*/开始输入此人所在班级和学号ap-num=a 真 假输出此人的考勤信息 返回菜单2void search_2(void); /*查询班级信息*/开始输入要查询的班别输出此班的考勤信息返回菜单2void modify(void); /*修改函数*/ 开始 输入你要修改的班级和学
5、号ap-num=a 真 假重新输入这位学生的考勤信息返回菜单2void save(struct Student *,char );退出关闭文件开始打开文件数据写入文件struct Student *load(char filename)开始关闭文件读出数据打开文件退 出4.代码分析及程序优化设置的主要函数void creat(void);void save(struct Student *,char );struct Student *load(char ); void enter(void); /*录入函数*/void search_1(void); /*查询函数_1*/void searc
6、h_2(void); /*查询函数_2*/void add(void); void modify(void); /*修改函数*/void back(void); /*退出函数*/void mune_1(); /*界面-1*/void mune_2(); /*界面-2*/mune_1();mune_2();5. 数据文件名及说明6. 系统运行测试结果分析6.1 进入程序6.2 加载界面4.3 创建学生信息4.4 录入本课考勤情况 6.4 修改学生信息 6.5 查询学生考勤信息 6.6 查看班级考勤情况 6.7源程序清单和执行结果:#include /*头文件*/#include #include
7、 #include#define LEN sizeof(struct Student) /*宏定义*/struct Student /*定义一个结构体数组,包含学生信息*/int num;char name15;char sex4;int math, English,physics,Mks,C,teal,PE;struct Student *next;int n;void main() /*主函数,选择界面。*/void creat(void);void save(struct Student *,char );struct Student *load(char );void enter(vo
8、id); /*录入函数*/void search_1(void); /*查询函数_1*/void search_2(void); /*查询函数_2*/void modify(void); /*修改函数*/void back(void); /*退出函数*/void mune_1(); /*界面-1*/void mune_2(); /*界面-2*/mune_1();mune_2();printf(n);void mune_1() /*主函数的辅助函数mune_1函数。*/ printf(nnnnnn); printf(t*); printf(ttt * * ); printf(ttt* 欢 迎 使
9、 用 班 级 考 勤 系 统 *); printf(ttt * * ); printf(nt*nnn); printf(=); printf(nnnttttnttttt); getch(); system(cls);void mune_2()int option,ch; /*定义一个选项的数据类型*/ printf(nnn); /*制作的一个漂亮的选择界面*/printf(t*n);printf(t*ttttttt *n);printf(t*ttttttt *n);printf(t* 1、录入本次课考勤情况t 2、查询学生考勤信息t *n);printf(t*ttttttt *n);print
10、f(t* 3、创建学生信息tt 4、修改学生信息t *n);printf(t*ttttttt *n); printf(t* 5、查看班级考勤情况 t 6、退出考勤系统t *n);printf(t*ttttttt *n);printf(t*ttttttt *n);printf(t*n);printf(n);printf(ttt请输入您所需的操作(16):ntttt);while(1)scanf(%d,&option);switch(option)case 1: ch=getchar();system(cls);enter();break;case 2: ch=getchar();system(c
11、ls);search_1();break;case 3: ch=getchar();system(cls);creat();break;case 4: ch=getchar();system(cls);modify();break;case 5: ch=getchar();system(cls);search_2();break;case 6: ch=getchar();system(cls);back();break;default: printf(ttt输入错误,请重新输入!);printf(ntttt);ch=getchar();void save(struct Student *hea
12、d,char filename) FILE *fp;struct Student *p=head;if(fp=fopen(filename,wb)=NULL)printf(can not open filen);exit(0);while(p!=NULL)fwrite(p,LEN,1,fp);p=p-next;fclose(fp);struct Student *load(char filename)FILE *fp;struct Student *head,*p1,*p2;head=NULL;p1=NULL;if(fp=fopen(filename,rb)=NULL)printf(can n
13、ot open filen);exit(0);while(!feof(fp)p2=(struct Student *)malloc(LEN);if(fread(p2,LEN,1,fp)=1)if(head=NULL)head=p2;if(p1)p1-next=p2;p1=p2;p1-next=NULL;return (head);void enter() /*录入函数*/struct Student *head,*p;char select=y,cla10;int sub,stu,num,flag=0;printf(请输入上课班级:);scanf(%s,cla);strcat(cla,.dat
14、);p=head=load(cla);system(cls);while(select=y|select=Y)printf(nnn); printf(t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(t*ttttttt *n); printf(t*ttttttt *n); printf(t* 1、复变 tt 2、大学英语tt *n); printf(t*ttttttt *n); printf(t* 3、电拖 tt 4、马克思基本原理概论 *n); printf(t*ttttttt *n); pr
15、intf(t* 5、C程序设计基础 t 6、模电tt *n); printf(t*ttttttt *n); printf(t* 7、体育tttttt *n); printf(t*ttttttt *n); printf(t*ttttttt *n); printf(t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(n);printf(ttt请输入科目选项(17):ntttt);scanf(%d,&sub);while(1)if(sub0&subnum=stu)switch(sub) case 1:
16、p-math+=num;break;case 2: p-English+=num;break;case 3: p-physics+=num;break;case 4: p-Mks+=num;break;case 5: p-C+=num;break;case 6: p-teal+=num;break;case 7: p-PE+=num;break;p=p-next; printf(nntt*输入成功*!n);printf(是否继续输入(yn):);scanf(%c,&select);save(head,cla);getch(); system(cls);mune_2();void search_
17、1(void) /*查询个人信息*/struct Student *head,*p;char select=y,cla10;int num,flag=0;printf(请输入上课班级:);scanf(%s,cla);strcat(cla,.dat);p=head=load(cla);printf(请输入要查询同学的学号:);scanf(%d,&num);system(cls);while(p!=NULL)if(p-num=num)printf(nn);printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
18、 * * * * * * *n);printf( 学号 姓名 性别 复变 英语 电拖 马克思 C语言 模电 体育n);printf( %3d %8s %4s%5d %5d %5d %5d %3d %7d %8dn,p-num,p-name,p-sex,p-math,p-English,p-physics,p-Mks,p-C,p-teal,p-PE);printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n);flag=1;p=p-next;if(flag=0)printf(tt
19、!没有这个学生信息,请核对后再输入!nn);getch(); system(cls);mune_2();void search_2(void) /*查询某班级信息*/char cla10;struct Student *head,*p;printf(请输入您要查询的班级名:);gets(cla);system(cls);printf(n ttt%s班的考勤情况nn,cla);strcat(cla,.dat);p=head=load(cla);printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
20、* * * * *n);printf( 学号 姓名 性别 复变 英语 电拖 马克思 C语言 模电 体育n);while(p!=NULL)printf( %3d %8s %4s%5d %5d %5d %5d %3d %7d %8dn,p-num,p-name,p-sex,p-math,p-English,p-physics,p-Mks,p-C,p-teal,p-PE);p=p-next;printf(n* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n);getch(); system(
21、cls);mune_2();void modify(void) /*修改函数*/ int a,flag=0;char cla10; struct Student *head,*p;printf(ntt请输入要修改的班级:);scanf(%s,cla);strcat(cla,.dat);p=head=load(cla); printf(ntt请输入要修改的学生的学号:); scanf(%d,&a);while(p!=NULL) if(p-num=a)printf(ntt请重新输入复变函数缺勤节数:); scanf(%d,&p-math); printf(ntt请重新输入大学英语缺勤节数:); s
22、canf(%d,&p-English); printf(ntt请输入电机拖动缺勤节数:); scanf(%d,&p-physics); printf(ntt请重新输入马克思主义基本原理与概论缺勤节数:); scanf(%d,&p-Mks); printf(ntt请重新输入C语言缺勤节数:); scanf(%d,&p-C); printf(ntt请重新输入模电缺勤节数:); scanf(%d,&p-teal); printf(ntt请重新输入体育缺勤节数目:); scanf(%d,&p-PE); flag=1;save(head,cla); printf(ntt修改成功!ntt);break;p
23、=p-next;if(flag=0) printf(tt!没有这个学生信息,请核对后再输入!nn); getch(); system(cls); mune_2(); void creat(void) /*创建函数*/FILE *fp; struct Student *head,*p,*p1,*p2;char filename10;n=0;p1=p2=(struct Student *)malloc(LEN);printf(请输入你要创建班级的名称(如果要创建的文件已存在,将覆盖原文件):);gets(filename);strcat(filename,.dat);if(fp=fopen(fil
24、ename,wb)=NULL)printf(can not open filen);exit(0);printf(请输入学生的基本信息:姓名、学号、性别n);scanf(%s%d%s,p1-name,&p1-num,p1-sex);p1-math=p1-English=p1-physics=p1-Mks=p1-C=p1-teal=p1-PE=0;head=NULL;while(p1-num!=0)n=n+1;if(n=1)head=p1;else p2-next=p1;p2=p1;p1=(struct Student *)malloc(LEN); scanf(%s%d%s,p1-name,&p1-num,p1-sex);p1-math=p1-English=p1-physics=p1-Mks=p1-C=p1-teal=p1-PE=0;p2-next=NULL;p=head;while(p!=NULL)fwrite(p,LEN,1,fp);p=p-next;fclose(fp);printf(ttt创建成功,按任
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理课程中的临床经验分享
- 护理人员职业素养与职业道德
- 护理层级与职责划分
- 护理投诉管理中的成本效益分析
- 护理人员绩效管理与激励机制创新
- 护理技术操作培训:雾化吸入剂配制
- 护理安全创新:技术驱动下的护理实践
- 《纸儿用起来》教学课件-2025-2026学年苏少版(新教材)小学美术二年级下册
- 基于人工智能的物流管理系统应用案例分析报告
- 护理课件学习结束感谢您的陪伴
- 基于多维度分析的舟山港域通航安全风险评价与防控策略研究
- 老年人的群体特征
- 2026年徐州生物工程职业技术学院单招职业技能测试必刷测试卷及答案1套
- 2025新版东莞人文考试试题及答案
- 空压机设备维护管理规范手册
- 患者走失应急处理
- 水稻购销合同(标准版)
- 水质工程学下册知识点总结
- (正式版)DB15∕T 969-2024 《办公楼物业管理服务规范》
- 分子标记辅助育种优化
- 供应链贸易业务管理办法
评论
0/150
提交评论