![C语言课程设计--学生考勤信息记录系统1205_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/26/80a02892-d7e6-437a-989b-df528541178a/80a02892-d7e6-437a-989b-df528541178a1.gif)
![C语言课程设计--学生考勤信息记录系统1205_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/26/80a02892-d7e6-437a-989b-df528541178a/80a02892-d7e6-437a-989b-df528541178a2.gif)
![C语言课程设计--学生考勤信息记录系统1205_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/26/80a02892-d7e6-437a-989b-df528541178a/80a02892-d7e6-437a-989b-df528541178a3.gif)
![C语言课程设计--学生考勤信息记录系统1205_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/26/80a02892-d7e6-437a-989b-df528541178a/80a02892-d7e6-437a-989b-df528541178a4.gif)
![C语言课程设计--学生考勤信息记录系统1205_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/26/80a02892-d7e6-437a-989b-df528541178a/80a02892-d7e6-437a-989b-df528541178a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言课程设计-学生考勤信息记录系统1205 目 录 设计目的 . 总体设计 详细设计 调试与测试 总结与体会附:源程序清单和执行结果.第1章 设计目的 本次C语言课程设计是对本学期程序设计根底课程的实际应用,也算是对所学知识的一次检验,通过本次课程设计能到达的目的如下:1.稳固和加深对C课程根本内容和理论知识的理解和掌握。2.掌握C语言编译和程序调试的根本技能。3.利用C语言进行根本的程序设计从而逐步了解文件的一些相关操作和掌握函数的使用技巧,包括函数类型的选择,含参数的传递方式。4.掌握使用数组,指针,引用,文件等编译的方法,提高运用C语言解决实际问题的能力。5.通过对学生考勤系统的设计、
2、编写源代码,以及对C语言中各个语法和函数的使用,使得比照拟复杂的结构体、链接、文件的操作更加熟悉。6.通过课程设计,将本学期所学知识与实际应用联系和结合起来,培养自己的动手能力,以及加强各学科之间的联系,从而提高个人的团队意识,增强团队之间协调和配合第2章 总体设计2.1学生考勤信息记录系统的要求通过该系统实现对学生考勤信息进行创立、录入、修改、查询、保存等操作的管理。实验考勤信息包括学生姓名,学号,学科种类,各科的考勤信息。主要功能:1、能够完成对考勤的录入和修改2、创立一个班级的信息3、设备的查询4、将考勤信息保存到文件中2.2流程图根据设计要求,画出如下流程图: 菜 单2 结 束2.3设
3、置的主要函数void creat void ;void save struct Student *,char ;struct Student *load char ;void enter void ;/*录入函数*/void search_1 void ; /*查询函数_1*/void search_2 void ;/*查询函数_2*/void add void ;void modify void ; /*修改函数*/void back void ; /*退出函数*/void mune_1 ;/*界面-1*/void mune_2 ;/*界面-2*/mune_1 ;mune_2 ;第3章 详细
4、设计3.1函数以及调用关系void mune_1 ; /*菜单函数1*/void mune_2 /*菜单函数2*/开始录入记录查询个人创立信息修改信息查询整班结束Menu_2 1 2 3 4 5 6 Break Break Break Break Break breakvoid enter void ;/*录入函数*/开始 p- num a 输入学生本节课息y/n else结构和 while 结构嵌套结构:while p1- num! 0 n n+1;if n 1 head p1;else p2- next p1;p2 p1;p1 struct Student * malloc LEN ; s
5、canf "%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创立成功,按任意键返回主菜单n" ;getch ; system "cls" ;mune_2 ;2 switch结构switch sub cas
6、e 1: 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; 3while结构 while p! NULL if p- num a printf "ntt请重新输入高等数学缺勤节数:" ; scanf "%d",&p- mat
7、h ; printf "ntt请重新输入大学英语缺勤节数:" ; scanf "%d",&p- English ; printf "ntt请输入大学物理缺勤节数:" ; scanf "%d",&p- physics ; printf "ntt请重新输入马克思主义根本原理与概论缺勤节数:" ; scanf "%d",&p- Mks ; printf "ntt请重新输入C语言缺勤节数:" ; scanf "%d",&
8、amp;p- C ; printf "ntt请重新输入英语口语缺勤节数:" ; scanf "%d",&p- teal ; printf "ntt请重新输入体育缺勤节数目:" ; scanf "%d",&p- PE ; flag 1;save head,cla ; printf "ntt修改成功!ntt" ;break; p p- next; 第4章 调试与测试4.1调试执行程序时,显示如下信息选择不同的选项,执行相应的功能。 选择3 ,创立一个班级的根本信息。 选择1 ,录入本
9、次课考勤情况。选择要修改的科目的界面:输入缺勤同学和缺勤节数:结束输入那么输入n后返回菜单2:选择2,查询学生个人考勤信息。选择4,修改学生个人考勤信息。选择5,查看一个班级的考勤信息。选择6,退出学生考勤信息系统。第5章 总结与体会三周的课程设计已经结束了。回想学习C语言 的过程中,既有快乐又有烦恼。从领到书的那一刻,我就很郁闷,?C 语言程序设计?到底事学什么的,有什么用。刚开始上课时,还在迷茫这门课程是用来做什么的。不过,这些感受都是在对这门课程不了解的情况下产生的。后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。尤其是学到语句和函数时,上机操作程序,经过编译,调试和运行
10、后,出现界面,当时觉得很好奇,想真正的学好这门课程。通过半个学期的学习,我掌握了根本知识。下学期开始时,被通知要进行课程设计。当时有点懵,感觉学的东西很少,很零散,不知该怎么连到一起,就要课程设计,是不是太难为我们了。第一天根本上都是在看书,把根本知识再熟悉一遍。到了下午的时候,看了很多练习题,从这些练习题上我得到了不少启发,然后我们组把整个程序的思路理清了,开始着手写程序。第一周结束的时候,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。但是,接下来,我们又不得不再次陷入困境。在整个程序的编写过程中,最难的就是修改和删除这两个模块,这也是我们要
11、解决的重点问题。开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。困难之时,我们组的其他人,帮助了我,完成了修改和删除,这让我认识到团队的力量。这样的话,整个程序根本上全部完成了,就剩下完善工作了。我们组写了两个程序,最后,两个程序相互组合,互补,大功告成虽然设计时完成了,但是我觉得其中还是有一些缺乏之处:1. 警告句。程序中缺少一些警告句,例如:“是否真的删除y/n?。2. 重名的情况。由于考虑的不周全,没有设计遇到重名的情况该怎么处理。3. 选择单一。我们设计的程序中,只设计了按名字选择,进行操作
12、,忽略了重名的情况。整个程序完成了,还有很多不完善的地方,希望自己以后办事的时候要认真,仔细,考虑周全。短短的几周课程设计结束了,但是这段时间里,我又学到了更多C 知识,如:对象数组,string类,文件流,链表以及文件对链表的操作等,同时我也被提醒以后办事的时候要认真,仔细,考虑周全,也看到了团队精神和互帮互助的重要性。这一点会让我终生受益。通过这次课程设计,我觉得自己肚子里的墨水多了,收获也挺大的,这几周过的挺充实!*附:源程序清单和执行结果#include #include #include #include #define LEN sizeof struct Student struc
13、t 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 void ; /*录入函数*/void search_1 void ; /*查询函数_1*/void search_2 void ; /*查询函数_2*/void modify void
14、 ; /*修改函数*/void back void ; /*退出函数*/void mune_1 ; /*界面-1*/void mune_2 ; /*界面-2*/mune_1 ;mune_2 ;printf "n" ; void mune_1 printf "nnnnnn" ; printf "t*" ; printf "ttt * * " ; printf "ttt* 欢 迎 使 用 班 级 考 勤 系 统 *" ; printf "ttt * * " ; printf &q
15、uot;nt*nnn" ; printf " " ; printf "nnntttt nttttt" ; getch ; system "cls" ; void mune_2 int option,ch; /*定义一个选项的数据类型*/ printf "nnn" ; /*制作的一个漂亮的选择界面*/printf "t*n" ;printf "t*ttttttt *n" ;printf "t*ttttttt *n" ;printf "t*
16、 1、录入本次课考勤情况t 2、查询学生考勤信息t *n" ;printf "t*ttttttt *n" ;printf "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 &quo
17、t;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 "cls" ;search_1 ; break;case 3: ch getchar ;system "cls" ;creat ; break;case 4: ch ge
18、tchar ;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 *head,char filename FILE *
19、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" NU
20、LL printf "can not 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 &
21、quot;请输入上课班级:" ;scanf "%s",cla ;strcat cla,".dat" ;p head load cla ;system "cls" ;while select 'y'|select 'Y' printf "nnn" ; printf "t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n" ; printf "t*ttttttt *n&q
22、uot; ; 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" ; printf "t* 5、C程序设计根底 t 6、教师口语tt *n" ; printf "t*ttttttt *n" ; printf "t*
23、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 sub 0&&sub
24、 8 break;elseprintf "ttt输入错误,请重新输入ntttt" ;scanf "%d",&sub ; system "cls" ; printf "请输入本次课缺席同学的座号:" ; scanf "%d",&stu ; printf "n" ; printf "请输入该同学的缺课节数:" ; scanf "%d",&num ;while p! NULL if p- num stu switch
25、sub case 1: 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",&a
26、mp;select ; save head,cla ;getch ; system "cls" ;mune_2 ; void search_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 "请输入要查询同学的座号:"
27、;scanf "%d",&num ;system "cls" ;while p! NULL if p- num num printf "nn" ;printf "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n" ;printf "座号 姓名 性别 数学 英语 物理 马克思 C语言 教师口语 体育n" ;printf " %3d %8s %4s%5d %5d %5d
28、%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!没有这个学生信息,请核对后再输入!nn" ;getch ; system "cls&
29、quot; ;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 "* * * * * * * * * * * * * * * * * * * * * * * * * *
30、* * * * * * * * * * * * * *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* * * * * * * * * * * * * * * *
31、 * * * * * * * * * * * * * * * * * * * * * * * *n" ;getch ; system "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请输入要
32、修改的学生的座号:" ; scanf "%d",&a ;while p! NULL if p- num a printf "ntt请重新输入高等数学缺勤节数:" ; scanf "%d",&p- math ; printf "ntt请重新输入大学英语缺勤节数:" ; scanf "%d",&p- English ; printf "ntt请输入大学物理缺勤节数:" ; scanf "%d",&p- physics
33、; 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5《七律 长征》 说课稿-2024-2025学年语文六年级上册统编版001
- 2024年四年级英语下册 Unit 7 What's the matter第4课时说课稿 译林牛津版001
- 18《慈母情深》说课稿-2024-2025学年统编版语文五年级上册001
- 2025门窗工程承包合同
- 2025市场咨询服务合同范本
- 2025嫁接种苗技术服务合同书
- 2024-2025学年高中历史 第2单元 西方人文精神的起源及其发展 第7课 启蒙运动说课稿 新人教版必修3
- 信息平台建设合同范本
- 7 《我在这里长大》第一课时(说课稿)2023-2024学年统编版道德与法治三年级下册
- 书推广合同范例
- GB/T 45006-2024风电叶片用纤维增强复合材料拉挤板材
- 锅炉、压力容器制造质量手册含程序文件-符合TSG07-2019《许可规则》
- 逻辑思维训练500题(带答案)
- 炎症性肠病共识2024
- 《中等强国视域下韩国的“新南方政策”研究》
- 2024-2030年中国保理行业现状规模及运营态势分析报告
- 新版加油站全员安全生产责任制
- 快消品公司销售部薪酬绩效方案(快消品公司销售KPI绩效考核指标)
- 人工智能大模型
- 化学第五单元化学反应的定量关系大单元备课-2024-2025学年九年级化学人教版(2024)上册
- 2024年中国网球游戏机市场调查研究报告
评论
0/150
提交评论