ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:17.34KB ,
资源ID:8419853      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8419853.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计学生考勤系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计学生考勤系统.docx

1、C语言课程设计学生考勤系统设计任务:C语言课程设计任务书题目:学生考勤系统设计功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。分步实施:1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;2、建立一个文件,将每条记录信息写入文件中并能显示于屏幕上)3、完成上述添加(出勤情况)、查找(学号,姓名,性别等)、修改等功能。4、进一步要求:自动给出每个学生的考勤分数要求:1、用C语言实现程序设计;2、利用结构体数组实现信息的数据结构设计;

2、3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。(总评成绩:指导教师:附件:学生考勤系统主要源程序代码#include#include /*头文件。*/int SIZE; /*宏定义。*/int CLASS;struct student /*定义一个结构体数组,包含学生信息。*/ char name9; char sex4; int number; int count; int score; stu300;void main() /*主函数,选择界面。*/ void start(); printf(n); printf(n); printf(n);

3、 printf(n); printf(#n); printf(# 学生考勤系统 #n); printf(# 欢 迎 您 #n); printf(#n); printf(n); printf(n); printf(n); printf(n); printf(#n); printf(t请输入班级人数:n); printf(#n); scanf(%d,&SIZE); printf(n); printf(#n); printf(t请输入课程节数:n); printf(#n); scanf(%d,&CLASS); printf(n); printf(n); printf(n); printf(n);;

4、start();void start() /*主函数的辅助函数start函数。*/ char x; void found(); void search(); void add(); void mark(); printf(#n); printf(# 请选择所需功能,输入对应数字: #n); printf(# 1.建立学生列表 #n); printf(# 2.查找学生信息 #n); printf(# 3.模拟考勤过程 #n); printf(# 4.计算考勤分数 #n); printf(# 5.退出 #n);) printf(# #n); printf(#n); scanf(%S,&x); sw

5、itch(x) /*利用switch函数实现子函数的选择功能。*/ case1:found();break; case2:search();break; case3:add();break;; case4:mark();break; case5:break; default :printf(*输入有误,请重输:n);start(); void found() /*第一个子函数found函数,用于建立学生列表。*/ int a; printf(#n); printf( 开始建表。n); printf(#n); FILE *fp; for(a=0;aSIZE;a+) /*运用for循环,逐次输入学

6、生信息。*/ printf(请输入第%d个学生的个人信息:n,a+1); printf(姓名:);; scanf(%s,stua.name); printf(性别:); scanf(%s,stua.sex); printf(学号:); scanf(%d,&stua.number); stua.count=0; stua.score=0; | fp=fopen(stud,w); /*新建一个文件,运用for函数将学生信息写入文件。*/ for(a=0;aSIZE;a+) if(fwrite(&stua,sizeof(struct student),1,fp)!=1) printf(文件输入错误。

7、n); fclose(fp); printf(n); printf(n); printf(n); printf(n); printf(建表如下:n); fp=fopen(stud,r); /*读取新建的文件,并输出。*/ printf(姓名 t性别 t学号 t缺课数 t考勤分数 n); printf(-n); for(a=0;aSIZE;a+) fread(&stua,sizeof(struct student),1,fp); printf(%s t%s t%d t%d t%dn,stua.name,stua.sex,stua.number,stua.count,stua.score); fc

8、lose(fp); printf(n); printf(n); printf(n); printf(n); printf(#n); printf(# 记录完毕 #n); printf(# 欢迎下次再来。 #n); printf(#n); start(); /*返回主函数的辅助函数,即主菜单。*/ void search() /*第二个子函数search函数,用于查询学生信息。*/ char b; void search1(); void search2(); printf(*n); printf( 请选择:n); printf( 1.按姓名查找。n); printf( 2.按学号查找。n);

9、printf(*n); scanf(%s,&b); switch(b) /*运用switch函数,构成选择结构,可供选择查询类型。*/ case1:search1();break; /*进入第1种查询类型的函数。*/ case2:search2();break; /*进入第2种查询类型的函数。*/ default :printf(*输入有误,请重输:);search(); # printf(n); printf(n); printf(n); printf(n); printf(#n); printf(# 查找完毕 #n); printf(# 欢迎下次再来。 #n); printf(#n);|

10、start(); /*返回主函数的辅助函数,即主菜单。*/ void search1() /*第1种查询类型的函数。*/ int c; char student_name9; FILE *fp; /*打开已建立的文件并将其输出到屏幕上。*/ fp=fopen(stud,r); printf(姓名 t性别 t学号 t缺课数 t考勤分数 n); printf(-n); for(c=0;cSIZE;c+) fread(&stuc,sizeof(struct student),1,fp); printf(%s t%s t%d t%d t%dn,stuc.name,stuc.sex,stuc.numbe

11、r,stuc.count,stuc.score); fclose(fp);* printf(n); printf(n); printf(n); printf(n); printf(请输入要查询学生姓名:); scanf(%s,student_name); printf(n); printf(n); printf(n); printf(n); for(c=0;cSIZE;c+) /*运用for循环和strcmp函数逐个比较输入的姓名与列表中学生的姓名,找到相同的后输出该学生的信息。*/ if(strcmp(student_name,stuc.name)=0) printf(已查到*n); pri

12、ntf(姓名:%s 性别:%s 学号:%d 缺课数:%dn,stuc.name,stuc.sex,stuc.number,stuc.count);) void search2() /*第2种查询类型的函数。*/ int c; int d; FILE *fp;( fp=fopen(stud,r); printf(姓名 t性别 t学号 t缺课数 t考勤分数 n); printf(-n); for(c=0;cSIZE;c+) fread(&stuc,sizeof(struct student),1,fp); printf(%s t%s t%d t%d t%dn,stuc.name,stuc.sex,

13、stuc.number,stuc.count,stuc.score); fclose(fp); printf(n); printf(n); printf(n); printf(n); printf(请输入要查询学生学号:); scanf(%d,&d); printf(n);% printf(n); printf(n); printf(n); for(c=0;cSIZE;c+) /*同第1种查询类型的函数,用for循环逐个比较输入的学号与列表中学生的学号,找到相同的后输出该学生的信息。*/ if(d=stuc.number) printf(已查到*n);、 printf(姓名:%s 性别:%s

14、学号:%d 缺课数:%dn,stuc.name,stuc.sex,stuc.number,stuc.count); void add() /*第三个子函数add函数,用于模拟考勤过程。*/ int e,f,y; struct name /*再建立一个叫name的结构体数组。*/ char nam9; na300; FILE *fp; fp=fopen(stud,r); /*打开已建立的文件并将其输出到屏幕上。*/ for(e=0;eSIZE;e+) fread(&stue,sizeof(struct student),1,fp);: printf(%s t%s t%d t%d t%dn,stu

15、e.name,stue.sex,stue.number,stue.count,stue.score); fclose(fp); printf(n); printf(n); printf(n); printf(n); printf(*n); printf( 模拟考勤开始。n); printf(*n); for(e=0;eCLASS;e+) /*运用for循环的嵌套,向name结构体中输入姓名,再依次与列表中的学生姓名逐个比较。*/ printf(请输入第%d节课未到的学生姓名并以“over”结束:,e+1); for(y=0;y for(f=0;fSIZE;f+) if(strcmp(nay.n

16、am,stuf.name)=0) /*如果输入的姓名与某个学生姓名相同,在其count的信息中加1。*/ stuf.count+; if(strcmp(nay.nam,over)=0) /*循环结束,遇到 over,退出循环。*/ break;: fp=fopen(stud,w); /*将新的列表数据写入原文件中。*/ for(e=0;eSIZE;e+) if(fwrite(&stue,sizeof(struct student),1,fp)!=1) printf(文件输入错误。n); fclose(fp); printf(n); printf(n); printf(n); printf(n)

17、; printf(模拟考勤完毕,结果如下:n); fp=fopen(stud,r); /*打开更新的文件并将其输出到屏幕上。*/ printf(姓名 t性别 t学号 t缺课数 n);: printf(-n); for(f=0;fSIZE;f+) fread(&stuf,sizeof(struct student),1,fp); printf(%s t%s t%d t%dn,stuf.name,stuf.sex,stuf.number,stuf.count); fclose(fp); printf(n);【 printf(n); printf(n); printf(n); printf(#n);

18、 printf(# 考勤完毕 #n); printf(# 欢迎下次再来。 #n); printf(#n); start(); /*返回主函数的辅助函数。*/ void mark() /*第四个子函数mark函数,用于计算考勤分数。*/ int g; FILE *fp; /*打开更新的文件并将其输出到屏幕上。*/ fp=fopen(stud,r+); printf(姓名 t性别 t学号 t缺课数n); printf(-n); for(g=0;gSIZE;g+) fread(&stug,sizeof(struct student),1,fp); printf(%s t%s t%d t%dn,stu

19、g.name,stug.sex,stug.number,stug.count); printf(n); printf(n); printf(n);】 printf(n); printf(*n); printf( 评分开始。n); printf(*n); for(g=0;gSIZE;g+) /*用for循环实现评分过程。*/ stug.score=(100-stug.count*5); /*缺一节课扣五分。*/ if(stug.score0) stug.score=0; fclose(fp); fp=fopen(stud,w); /*将更新的学生列表信息写入原文件中。*/ for(g=0;gSI

20、ZE;g+) if(fwrite(&stug,sizeof(struct student),1,fp)!=1) printf(文件输入错误。n); fclose(fp); printf(n); printf(n); printf(n); printf(n); printf(结果如下:n); fp=fopen(stud,r); /*打开更新的文件并将其输出到屏幕上。*/ printf(姓名 t性别 t学号 t缺课数 t考勤分数 n); printf(-n); for(g=0;gSIZE;g+) fread(&stug,sizeof(struct student),1,fp); printf(%s t%s t%d t%d t%dn,stug.name,stug.sex,stug.number,stug.count,stug.score); fclose(fp); printf(n); printf(n); printf(n); printf(n); printf(#n); printf(# 评分完毕 #n); printf(# 欢迎下次再来。 #n); printf(#n); start(); /*返回主函数的辅助函数,即主菜单。*/

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1