C语言实现学生打卡系统
本文实例为大家分享了C语言实现学生打卡系统的具体代码,供大家参考,具体内容如下
题目描述
1.学生信息及打卡情况的录入
2.修改某个学生的打卡情况
3.查询某个学生的打卡情况
4.旷课学生的姓名及次数
5.学生打卡的总评分数计算
完整代码
#define_CRT_SECURE_NO_WARNINGS1 #include#include #include FILE*fp;//定义文件 chara;//返回选择变量 floatkq=10;//应到打卡次数 structstudent { charname[10];//姓名 charnumber[11];//学号 charsex;//性别 intyear;//出生日期--年 intmonth;//出生日期--月 intday;//出生日期--日 intk;//打卡次数 }stu[100]; voidinput(); voidchange(); voidsearch(); voidtimes(); voidevaluate(); intmain(); intmain() { intit=0; printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★\n"); printf("\t\t★※欢迎进入学生考勤系统★\n"); printf("\t\t★★\n"); printf("\t\t★1.学生信息及打卡情况录入★\n"); printf("\t\t★★\n"); printf("\t\t★2.修改某个学生的打卡情况★\n"); printf("\t\t★★\n"); printf("\t\t★3.查询某个学生的打卡记录★\n"); printf("\t\t★★\n"); printf("\t\t★4.旷课学生的姓名及次数★\n"); printf("\t\t★★\n"); printf("\t\t★5.学生打卡的总评分数计算★\n"); printf("\t\t★★\n"); printf("\t\t★6.退出系统★\n"); printf("\t\t★★\n"); printf("\t\t★★★★★★★★★★★★★★★★★★★★★★★★\n"); printf("\t*******请选择您需要的操作*******"); scanf("%d",&it); switch(it) { case1:input();break; case2:change();break; case3:search();break; case4:times();break; case5:evaluate();break; case6:break; default:printf("请重新输入!\n"); } if(it==6) printf("\t\t\t退出考勤系统,欢迎下次使用!"); system("pause"); return0; } voidinput() { inti=0; intj=0; intx=1; printf("************1.学生信息及打卡情况录入************\n"); if((fp=fopen("data.txt","w"))==NULL) { printf("文件打开失败!\n"); main(); } for(i=0;x==1;i++) { for(;j==0;) { getchar(); printf("请输入第%d个学生的姓名:",i+1); gets(stu[i].name); printf("请输入第%d个学生的学号:",i+1); gets(stu[i].number); printf("请输入第%d个学生的性别(男-m女-f):",i+1); stu[i].sex=getchar(); printf("请输入第%d个学生的出生日期(格式:年-月-日):",i+1); scanf("%d%d%d",&stu[i].year,&stu[i].month,&stu[i].day); printf("请输入第%d个学生当前的打卡次数:",i+1); scanf("%d",&stu[i].k); printf("您输入的信息为:姓名%s学号%s性别%c出生日期%d年%d月%d日打卡次数%d\n", stu[i].name,stu[i].number,stu[i].sex,stu[i].year,stu[i].month,stu[i].day,stu[i].k); printf("请确定信息(重输-0确定-1):"); scanf("%d",&j);//输入确认 } j=0; if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1) printf("文件写入错误!\n");//写入文件 printf("是否继续输入下一个学生的信息终止-0继续-1:"); scanf("%d",&x);//继续输入的选择 } fclose(fp); printf("返回主菜单-0:"); getchar(); a=getchar(); getchar(); if(a=='0') main();//返回主菜单 }//录入数据函数结束 voidchange() { printf("************2.修改某个学生的打卡情况************\n"); inti=0; intj=0; intt=10; intit=10; intx=10;; charname[10]={0}; charnumber[10]={0}; if((fp=fopen("data.txt","r"))==NULL)//将文件内容读入内存 { printf("文件打开失败!\n"); main(); } for(i=0;feof(fp)==0;++i) { fread(&stu[i],sizeof(structstudent),1,fp);//读取文件内容 } printf("选择修改对象:按姓名查找-1按学号查找-2:"); scanf("%d",&it); if(it==1)//按姓名查找开始 { printf("请输入需要修改学生的姓名:"); scanf("%s",&name); for(j=0;t!=0;j++) t=strcmp(stu[j].name,name); if(j==i) { t=0; printf("未找到该学生信息,请重新输入!\n"); fclose(fp); } if(j 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。