C语言学生成绩信息管理系统C语言_第1页
C语言学生成绩信息管理系统C语言_第2页
C语言学生成绩信息管理系统C语言_第3页
C语言学生成绩信息管理系统C语言_第4页
C语言学生成绩信息管理系统C语言_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

//last#include〈stdio。h〉include〈string.h〉#include〈stdlib.h〉include<conio.h>#define HEADER1 STUDENT \n"defineHEADER2” |numberInameIsexI\n"defineHEADERS” | I I I\n”defineFORMAT”姓名:%-6s\n性别:%-6s\n学号:%-6s\n\n”#define END \n"#defineDATAtemp.Name,temp。Num,temp。Sextypedefstruct_Student{charName[12];charSex[4];charNum[20];}Student;voidMenu(FILE*);voidLuRu(FILE*);voidSeekStudent(FILE*);voidQingKong(FILE*);voidJiaMi(char*,int);voidJieMi(char*,int);voidDelete(FILE*);voidUpDate(FILE*);voidJudgeFP(FILE*);intFileSize(FILE*);voidDisPlay(FILE*fp);intmain(){FILE*fp;intchoice;fp=fopen("student.txt","ab+");JudgeFP(fp);fp=fopen("student.txt","rb+");JudgeFP(fp);if(fp==NULL){printf("ERROR!\n");exit(0);)while(1){system("cls");Menu(fp);scanf("%d”,&choice);switch(choice){case0:break;case1:LuRu(fp);break;case2:SeekStudent(fp);break;case3:QingKong(fp);break;case4:Delete(fp);break;case5:UpDate(fp);break;case6:DisPlay(fp);break;default:printf("输入错误\n”);)if(choice==0)break;printf("任意键返回主菜单");getch();fflush(stdin);)fclose(fp);return0;)voidLuRu(FILE*fp)〃录入{Studenttemp;charch;do{printf("姓名:");scanf("%s",temp.Name);printf("性别:");scanf("%s",temp。Sex);printf("编号:”scanf("%s",tempoNum);fseek(fp,0L,SEEK_END);//JiaMi((char*)&temp,sizeof(Student));fwrite(&temp,sizeof(Student),1,fp);printf("任意键继续录入0跳出\n");fflush(stdin);}while((ch=getch())!=’0’);)voidQingKong(FILE*fp)//清空数据{if((fp=fopen("student。txt","wb"))==NULL)(printf("ERROR!\n");return;)printf("数据已清空\n”);}voidSeekStudent(FILE*fp)〃查询{Studenttemp;charin[20];inti=0,j;printf("输入姓名或者学号查询:\n”);scanf("%s",in);rewind(fp);for(j=0;j(FileSize(fp);j++)(while(!feof(fp))(fseek(fp,j*sizeof(Student),SEEK_SET);fread(&temp,sizeof(Student),1,fp);break;)//JieMi((char*)&temp,sizeof(Student));if(strcmp(in,temp.Name)==0I|strcmp(in,temp.Num)==0)(printf(FORMAT,DATA}i=1;))if(i==0)printf("没找到\n");)voidDelete(FILE*fp)//删除{Studenttemp, del;Studentblank={"0","0","0"};charin[20];intmycount=0,i=0,j;if(FileSize(fp)==0){printf("无记录可删\n”);return;)if(FileSize(fp)==1){QingKong(fp);printf("删除成功\n”);return;}printf("输入要删除的学号或者姓名:”);scanf("%s", in);fseek(fp, (FileSize(fp)—1)*sizeof(Student),SEEK_SET);fread(&temp,sizeof(Student), 1,fp);rewind(fp);for(j=0;j<FileSize(fp);j++){while(!feof(fp)){fseek(fp,j*sizeof(Student), SEEK_SET);fread(&del,sizeof(Student),1,fp);mycount++;break;)if(strcmp(in,del.Num)==0IIstrcmp(in,del。Name)==0){printf(FORMAT,del。Name,del。Num,del。Sex);fseek(fp, (mycount-1)*sizeof(Student),SEEK_SET);fwrite(&temp,sizeof(Student),1,fp);fseek(fp, (FileSize(fp)—1)*sizeof(Student),SEEK_SET);fwrite(&blank,sizeof(Student), 1,fp);printf("删除成功\n");i=1;break;))if(i==0)printf("删除失败\n");)voidUpDate(FILE*fp)〃修改记录{Studenttemp;charin[20];intmycount=0,i=0, j,k;if(FileSize(fp)==0)(printf("无记录可修改\n”);return;)if(FileSize(fp)==1){QingKong(fp);printf("删除成功\n");return;)printf("输入要修改的学号或者姓名:“);scanf("%s",in);rewind(fp);for(j=0;j〈FileSize(fp);j++)(while(!feof(fp)){mycount++;fseek(fp,j*sizeof(Student),SEEK_SET);fread(&temp,sizeof(Student), 1,fp);break;)if(strcmp(in,temp。Num)==0|Istrcmp(in,temp。Name)==0){printf(FORMAT,DATA)printf("请选择修改位置:1姓名2学号3性别4都修改0放弃修改\n");scanf("%d",&k);fflush(stdin);while(1){if(k==0){printf("成功放弃修改\n");return;}if(k>0&&k〈5)break;printf("输入错误,请重新输入:\n");scanf(”%d”,&k);fflush(stdin);)if(k==1)(printf("姓名:");scanf("%s",tempoName);)if(k==2){printf("学号:");scanf("%s”,temp.Num);)if(k==3){printf("性别:");scanf("%s”,tempoSex);)if(k==4){printf("姓名:“);scanf("%s",temp.Name);printf("学号:");scanf("%s",tempoNum);printf("性别:");scanf("%s",temp.Sex);}fseek(fp, (mycount-1)*sizeof(Student),SEEK_SET);fwrite(&temp,sizeof(Student),1,fp);printf("修改成功\n");=1;//break;))if(i==0)printf("修改失败\n");)intFileSize(FILE*fp)〃人数统计(intbegin,end,filesize;fseek(fp,0,SEEK_SET);begin=ftell(fp);fseek(fp,0,SEEK_END);end=ftell(fp);filesize=(end—begin)/sizeof(Student);returnfilesize;)voidJiaMi(char*p, intsize){inti;for(i=0; i<=size; i++)(%p=~(*p);p++;))voidJieMi(char*p, intsize){inti;for(i=0;i<=size;i++){*p=〜(*p);p++;))voidJudgeFP(FILE*fp){if(fp==NULL){printf("ERROR!\n");exit(0);))voidMenu(FILE*fp)〃菜单(printf("\t\t\t学生信息管理系统欢迎您\n”);printf("\2\21.录入数据\n");printf("\t\t\t\t2.查询信息\n”);printf("\t\t\t\t3.清空数据\n");printf("\t\t\t\t4.删除个人\n");printf("\t\t\t\t5。修改个人\n");printf("\t\t\t\t6。全部打印\n”);printf("\t\t\t\t0。退出系统\n”);printf("count:%d\n",

温馨提示

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

评论

0/150

提交评论