C语言课程设计学生考勤系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附件:《学生考勤系统》主要源程序代码
#include<>
"
#include<> /*头文件。*/
int SIZE; /*宏定义。*/
int CLASS;
struct student /*定义一个结构体数组,包含学生信息。*/ {
char name[9];
char sex[4];
}
int number;
int count;
int score;
}stu[300];
void main() /*主函数,选择界面。*/ {
void start();
printf("\n");
^
printf("\n");
printf("\n");
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");
;
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);
switch(x) /*利用switch函数实现子函数的选择功能。*/ {
case'1':found();break;
case'2':search();break;
case'3':add();break;
;
case'4':mark();break;
case'5':break;
default :printf("****输入有误,请重输:\n");start();
}
}
void found() /*第一个子函数——found函数,用于建立学生列表。*/ {
int a;
—
printf("####################\n");
printf(" 开始建表。\n");
printf("####################\n");
FILE *fp;
for(a=0;a printf("请输入第%d个学生的个人信息:\n",a+1); printf("姓名:"); ; scanf("%s",stu[a].name); printf("性别:"); scanf("%s",stu[a].sex); printf("学号:"); scanf("%d",&stu[a].number); stu[a].count=0; stu[a].score=0; } | fp=fopen("stud","w"); /*新建一个文件,运用for函数将学生信 息写入文件。*/ for(a=0;a { if(fwrite(&stu[a],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(a=0;a } { fread(&stu[a],sizeof(struct student),1,fp); printf("%s \t%s \t%d \t%d \t%d\n",stu[a].name,stu[a].sex,stu[a].number,stu[a].count,stu[a].scor e); } fclose(fp); printf("\n"); printf("\n"); printf("\n"); ] printf("\n"); printf("#######################################\n"); printf("# 记录完毕 #\n"); printf("# 欢迎下次再来。 #\n"); printf("#######################################\n");