c 课程设计之系统

上传人:re****.1 文档编号:559633266 上传时间:2022-10-29 格式:DOC 页数:26 大小:198KB
返回 下载 相关 举报
c 课程设计之系统_第1页
第1页 / 共26页
c 课程设计之系统_第2页
第2页 / 共26页
c 课程设计之系统_第3页
第3页 / 共26页
c 课程设计之系统_第4页
第4页 / 共26页
c 课程设计之系统_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《c 课程设计之系统》由会员分享,可在线阅读,更多相关《c 课程设计之系统(26页珍藏版)》请在金锄头文库上搜索。

1、设计任务:C语言课程设计任务书10题目:学生考勤系统设计功能:学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等信息。本系统可以模拟考勤过程、记录考勤结果,并能在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。要求:1、用C语言实现程序设计;2、利用结构体进行相关信息处理;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。平时成绩:验收答辩成绩:设计报告成绩:总评成绩:指导教师:一、总体设计1程序的总体设计 确定界面,使用户可选择操作项目(录入,修改,查询,评分)。 录入功能:使用结构体,要求用户输

2、入姓名、性别、学号、当前出勤情况等信息,并写入文件。 修改功能:使用户输入学号,姓名其中一项可以修改考勤其信息。对于修改功能的实现,是先将所有文件内容读入到内存中,然后修改考勤值,最后再重新覆盖写入文件。 查询模块:使用字符串比较函数,利用循环找到对应结构体数组元素,然后输出需要信息。对于查询功能的实现,同修改,是先将所有文件内容读入到内存中,然后查找到其中某项,最后输出到屏幕。 评分模块:系统根据总的应道考勤数按照百分制,求出每个学生的分数,并输出到屏幕。2. 数据结构学生信息用结构体记录,包括姓名(字符数组)、性别(字符型)、日期(年月日三个字符数组)、节次(整型)、出情况(整型)。3.

3、函数原型声明 void main() /*主函数*/void input(); /*录入数据函数*/void mend(); /*修改数据函数*/void find(); /*查询数据函数*/void score(); /*计算总评函数*/二、详细设计 1、void main()void main() /*主 函 数 */ void input(); /*录入数据函数*/ void mend(); /*修改数据函数*/ void find(); /*查询数据函数*/ void score(); /*计算总评函数*/ char choice; printf( n);printf( n);prin

4、tf( 学 生 考 勤 管 理 系 统 n);printf( n);printf( n);printf( n); printf( n);printf( n); printf( 1.学生信息及考勤情况录入 n); printf( n);printf( 2.学生信息及考勤情况修改 n); printf( n);printf( 3.学生信息及考勤情况查询 n); printf( n);printf( 4.学生考勤总评分数查询 n);printf( n); printf( n); printf(n); printf(请选择您需要的操作(输入数字):n); scanf(%c,&choice); swit

5、ch(choice) /*选择功能*/ case 1: input();break; case 2: mend();break; case 3: find();break; case 4: score();break; default: printf(Errorn); /*实现功能选择*/ /*主 函 数 结 束*/break结束流程图输出界面switch(time)input()1mend()234find()score()break结束开 始2、void input()void input() /*录入数据函数内容开始*/ int i,j=0,k=1; printf(学 生 基 本 信 息

6、 录 入n); if(fp=fopen(data.txt,w)=NULL) printf(Errorn); exit(0); for(i=0;k=1;i+) /*输入信息循环*/ for(;j=0;) /*输入确认循环*/ getchar(); printf(请输入第%d个学生的姓名 ,i+1); gets(stui.name); printf(请输入第%d个学生的学号 ,i+1); gets(stui.number); printf(请输入第%d个学生的性别(男:m 女:f) ,i+1); stui.sex=getchar(); printf(请输入第%d个学生的当前考勤次数 ,i+1);

7、scanf(%d,&stui.kaoqin); printf(您输入的信息为 姓名 %s 学号 %s 性别 %c n 0 重输 1 确认,stui.name,stui.number,stui.sex); scanf(%d,&j); /*输入确认*/ j=0; if(fwrite(&stui,sizeof(struct student),1,fp)!=1) printf(Errorn); /*写入文件*/ printf(是否继续输入下一个学生信息 0 终止 1 继续n); scanf(%d,&k); /*继续输入选择*/ fclose(fp); printf(0 返回主菜单n);getchar(

8、); /*此语句用来接收在执行printf语句时最后输入的回车*/a=getchar(); /*接收输入的第一个字符*/getchar(); /*此语句用来接收在执行getchar输入最后的回车*/ if(a=0) main(); /*返回主菜单*/ /*录入数据函数内容结束*/打开文件0=j0=ik=1?1=k输入i+1个学生信息生信息输入k值选择是否继续j=0?输入j值选择是否确认NYi+1=i写入文件结束开始流程图3、void mend()void mend() /*修改数据函数内容开始*/ int i=0,j=0,way,t,x; char name10,number10; printf( 学 生 考 勤 修 改n); if(fp=fopen(data.txt,r)=NULL) /*将文件内容读入内存*/ printf(Errorn); exit(0); for(i=0;feof(fp)=0;i+) fread(&stui,sizeof(struct student),1,fp); fclose(fp); printf(选择查找方式 1 按照姓名查找 2 按照学号查找); scanf(%d,&way);/*按照姓名查找开始*/ if(way=1) printf(请输入需要修改学生的姓名 );

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号