学生成绩管理系统.doc_第1页
学生成绩管理系统.doc_第2页
学生成绩管理系统.doc_第3页
学生成绩管理系统.doc_第4页
学生成绩管理系统.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/*学生管理系统调试*/#include #include #include #include #define N 5/学生总人数struct student /学生信息结构体,应该独立于main()定义 char name10;char NO15;char EN5;/为了我能看到输入的结果,所以这用字符数组存放成绩,精度为5 /*float math; float computer; float avg; union remark/老师测评 char remark15;/优、良、中、差 float m;/百分制 remark;*/受代码长度限制在这只举以上三个数据为例;struct student stuN;/结构体数组void in_i(int i)FILE * fp4;if(fp4 = fopen(i.txt, wb)= NULL)printf(error on creat i.txtn);exit(1);fwrite(&i, sizeof(int), 1, fp4);fclose(fp4);int out_i(void)int i;FILE * fp5;if(fp5 = fopen(i.txt,rb)= NULL)printf(n数据库为空,快来丰富它吧!n);i = 0;return i;fread(&i, sizeof(int), 1, fp5);fclose(fp5);return i;bool judge_name(struct student * t, int i)int j;struct student data1N;FILE * fppp1;if(fppp1 = fopen(student.txt, rb) = NULL)printf(error!n);exit(1);rewind(fppp1);for(j = 0; jname) = 0)printf(sorry, the name has been logined!n);fclose(fppp1);return true;fclose(fppp1);if(j = i)return false;bool judge_NO(struct student * q, int i)int j;struct student data2N;FILE * fppp2;if(fppp2 = fopen(student.txt, rb) = NULL)printf(error on open!n); rewind(fppp2);for(j = 0; jNO) = 0)printf(sorry, the NO has been logined!n);fclose(fppp2);return true;fclose(fppp2);if(j = i)return false;bool judge_EN(struct student * z, int i)/这段是自讨苦吃,没办法嘿嘿int s;if(strlen(z+i)-EN)5)printf(超过精度表示范围,会丢失数据哦!n); return false;elsefor(s = 0; sEN); s+)if(!(0ENs&(z+i)-ENs ENs = .)printf(输入非法,请重新输入!n);return true;else if(z+i)-EN01&(z+i)-EN3 =.|(z+i)-EN4 = .)printf(输入非法,请重新输入!n);return true;else if(z+i)-EN0 =1&(z+i)-EN10|(z+i)-EN20|(z+i)-EN30|(z+i)-EN40)printf(输入非法,请重新输入!n);return true;elsereturn false;bool input(struct student * p, int i)FILE * fp;if(fp = fopen(student.txt, ab) = NULL)printf(error on open file!n);exit(1);printf(nname: );scanf(%s, (p+i)-name); if(judge_name(p,i)return true;printf(nNO: ); scanf(%s, (p+i)-NO); if (judge_NO(p,i)return true;printf(nenglish(请加小数点): );scanf(%s, (p+i)-EN);if(judge_EN(p,i)return true;/*printf(nmath: );scanf(%f, &(p+i)-math);printf(ncomputer:);scanf(%f, &(p+i)-computer);printf(%f,&(p+i)-avg);*/fwrite(p+i,sizeof(struct student),1, fp);printf(成绩输入成功!n);fclose(fp);return false;void search_name( char * s1, int i)int j = 0;/stu的下标struct student data3N;FILE * fp2;if(fp2 = fopen(student.txt,rb) = NULL)printf(error!n);exit(1); for(j = 0; ji; j+)fread(&data3j,sizeof(struct student),1, fp2);if(strcmp(s1,) != 0)if(j = i-1)printf(no this students information!);fclose(fp2);break;else printf(%s %s %sn,, data3j.NO, data3j.EN);break;fclose(fp2);return;void search_NO(char * no, int i)int j = 0;/stu的下标struct student data4N;FILE * fp3;if(fp3 = fopen(student.txt,rb) = NULL)printf(error!n);exit(1); for(j = 0; ji; j+)fread(&data4j,sizeof(struct student),1, fp3);if(strcmp(no,data4j.NO) != 0)if(j = i-1)printf(no this students information!);fclose(fp3);break;else printf(%s %s %sn,, data4j.NO, data4j.EN);break;fclose(fp3);return;void print(int i)int j = 0;struct student dataN;FILE * fp1;if(fp1 = fopen(student.txt, rb) = NULL)printf(file not exit!n);for(j =0; j=N)printf(服务器已满,不能在写入数据!n);/在这可通过改变N的值来实现break;printf(请输入学生信息: );if (input(stu, i)break;/输入失败也会改变i的值,今晚改进i+;in_i(i);break;case 2:printf(请输入姓名:);scanf(%s,s);sstrlen(s) = 0;i = out_i(); search_name(s, i);break;case 3:printf(请输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论