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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C
课程设计报告
设计题目:学生考勤系统设计
专业微电子科学与工程
班级微电131
学生赵杨怡
指导教师
年—学期
设计任务:C语言课程设计任务书10
题目:学生考勤系统设计
功能:学生考勤系统应包含各班学生的全部信息。 每个学生是一条记录,包 括姓名、性别、学号、日期、节次、出勤情况等信息。本系统可以模拟考勤 过程、记录考勤结果,并能在课程结束后按照设定的考勤评分标准自动给出 每个学生的考勤分数。
Printf("请输入第%d个学生的生日(格式:年月日)",i+1);
SCa nf("%d%d%d",&stu[i].year,&stu[i].mo nth,&stu[i].day);
Printf("请输入第%c个学生的当前考勤次数",i+1);
SCa nf("%d", &stu[i].kq);
Printf("您输入的信息为姓名%s学号%s性别%c生日%d年%d月%d日\n0重输1确认
{
getchar();
Printf("请输入第%d个学生的姓名",i+1);
gets(stu[i]. name);
Printf("请输入第%d个学生的学号",i+1);
gets(stu[i]. nu mber);
Printf("请输入第%d个学生的性别(男:m女:f) ",i+1);
stu[i].sex=getchar();
要求:1、用C语言实现程序设计;
2、利用结构体进行相关信息处理;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。
平时成绩:
验收答辩成绩:
设计报告成绩:
总评成绩:
指导教师:
一、总体设计
1•程序的总体设计
◎确定界面,使用户可选择操作项目(录入,修改,查询,评 分)。
◎评分模块:系统根据总的应道考勤数按照百分制, 求出每个学
生的分数,并输出到屏幕。
2.数据结构
学生信息用结构体记录,包括姓名(字符数组)、性别(字
符型)、日期(年月日三个字符数组)、节次(整型)、出情况(整型)
3.函数原型声明
VOid mai n()//
VOid in put();//
void Cha nge();//
学生基本信息录入
***************************
**∖n");
if((fp=fope n("date.txt","w"))==NULL)
{
Printf(" exit(0);
文件打开失败\n");
for(i=0;jx==1;i++)//输入信息循环
{ for(;j==0;)//输入确认循环
评分数查询
•∖n");
Printf("

◊∖n");
Printf("
★◊★□★◊★□★◊★
□ ★◊★□★◊★□★∖n");//用户界面
Prin tf("∖n");
Printf("请选择您需要的操作∖n");
SCan f("%c",&item);
SWitCh(item)
{
CaSe '1': in put();break;
void SearCh();//
void evaluate(); //
、详细设计
录入数据函数
修改数据函数
查询数据函数 计算总评函数
★◊★□★◊★□★◊★□★◊★
◊学生考勤
◊BY朱胜佳
Prin tf("•
•∖n");
Prin tf("★◊★□★◊★□★◊★
□ ★◊★□★◊★□★∖n");
Printf("
Printf("文件写入错误∖n"); //写入文件
Printf("是否继续输入下一个学生信息0终止1
继续\n");
SCa nf("%d",&jx);//继续输入
选择
}
fclose(fp);
Printf("0返回主菜单\n");
getchar(); a=getchar();
getchar();
if(a=='0') mai n();//返回主菜单
",stu[i]. name,stu[i]. nu mber,stu[i].sex,stu[i].year,stu[i].m Ont
h,stu[i].day);
SCa nf("%d",&j);//输入确认
}
j=0;
if(fwrite(&stu[i],sizeof(structStUde nt),1,fp)!=1)
}
流程图:
开始
输入jx值选择是否继续
结束
3.
VOid Cha nge()
{ int i=0,j=0,sway,t,x;
Char name[10], nu mber[10];
{wenku.baidu.com
Printf("文件打开失败\n"); exit(0);
}
fclose(fp);
//
关闭文件
Prin tf("选择查找方式
1按照姓名查找
◎录入功能:使用结构体,要求用户输入姓名、性别、学号、日 期、节次、当前出勤情况等信息,并写入文件。
◎修改功能:使用户输入学号,姓名其中一项可以修改考勤其信 息。对于修改功能的实现,是先将所有文件内容读入到内存中,然 后修改考勤值,最后再重新覆盖写入文件。
◎查询模块:使用字符串比较函数,利用循环找到对应结构体数 组元素,然后输出需要信息。对于查询功能的实现,同修改,是先 将所有文件内容读入到内存中,然后查找到其中某项,最后输出到 屏幕。

•∖n");
Printf("

1.
学生信息及
考勤情况录入
◊∖n");
Printf("

•∖n");
Printf("

2.
学生信息及
考勤情况修改
◊∖n");
Printf("

•∖n");
Printf("

3.
学生信息及
考勤情况查询
◊∖n");
Printf("

◎∖n");
Printf("

4.
学生考勤总
CaSe '2': Cha nge();break;
CaSe '3': SearCh();break;
CaSe '4': evaluate();break;
}//实现功能选择
}
流程图:
2.
VOid in put()
{
int i,j=0,jx=1;
r r*ιr>4"F/11************************
2
按照学号查找");
SCan f("%d",&sway);
/**********************
按照

名查找开
for(i=0;feof(fp)==0;i++)
StUde nt),1,fp);//读取文件内容
fread(&stu[i],sizeof(struct

*************************
相关文档
最新文档