学生成绩管理系统代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

for(i=0;i<N;i++) { printf("\ninput the %d stu information:\n",i+1); printf("input the name:"); scanf("%s", stu[i].name); printf("\ninput the num:"); scanf("%s",stu[i].num); printf("\ninput the sex:"); scanf("%s",stu[i].sex); for(j=0;j<M;j++) { printf("\ninput the student %d grade:",j+1); scanf("%d",&stu[i].score[j]); } } for(i=0;i<N;i++) if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) { printf("file write error\n"); return; } fclose(fp); } //从文件中读取信息并存入数组stu[N] void readFromFile() { int i; FILE *fp; if((fp=fopen("student","r+"))==NULL) { printf("cannot open the file\n"); return; }
/*学生成绩管理系统*/ #include<stdio.h> #include<string.h> #include<stdlib.h> #define M 3 int N=3; struct student { char name[10]; char sex[10]; char num[10]; int score[3]; float ave; }stu[3]; /* declaration of function */ void input(); void save(); void modify(); void dele(); void display(); void query(); void readFromFile(); //信息录入,将录入的信息存入文件stu中 void input() { FILE *fp; int i,j; if((fp=fopen("stu","w+"))==NULL) { printf("cannot open the file\n"); return; }
break; printf("\n
address list information change
\n");
ຫໍສະໝຸດ Baidu
printf("*************************************************************\n"); printf("\n name 【1】 sex【2】 num 1 【3】 2【3】 3【3】 \n"); printf("*************************************************************\n"); printf("please choose:"); scanf("%d",&m); if(m==1) { printf("input the new name:");/*修改姓名*/ scanf("%s",b); strcpy(stu[i].name,b); } if(m==2) { printf("input the new sex:");/*修改性别*/ scanf("%s",n); strcpy(stu[i].sex,n); } if(m==3) { for(j=0;j<M;j++) { printf("input the new grade:");/*修改成绩*/ scanf("%d",&stu[i].score[j]); } } save(); display(); } //信息删除 void dele()
for(i=0;i<N;i++) fread(&stu[i],sizeof(struct student),1,fp); fclose(fp); } //写入 void save() { int i; FILE *fp; if((fp=fopen("student","w+"))==NULL) { printf("cannot open the file\n"); return; } for(i=0;i<N;i++) if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1) printf("file write error\n"); fclose(fp); } //信息显示,按成绩由大到小排序; void display() { struct student temp; float t=0; int i=0; int j=0; /*学生成绩平均分*/ printf("\t\t成绩统计\n\n"); readFromFile(); for(j=0;j<N;j++) { for(i=0;i<M;i++) { t=t+stu[j].score[i]; } stu[j].ave=t/N; printf("\n学生%s的成绩平均成绩为:",stu[j].name);
{ int i,h; char t[10]; readFromFile(); display(); printf("\nplease choose the num you want to delete:");/*选择学号,将其 信息删除*/ scanf("%s",t); for(i=0;i<N-1;i++) { if(strcmp(stu[i].num,t)==0) { for(i=0;i<N-1;i++) stu[i]=stu[i+1]; N=N-1; } } if(strcmp(stu[N-1].num,t)==0) N=N-1; for(i=0;i<N;i++) if(stu[i].num!='\0') printf("\n%-10s%-10s%-10s%-10d%-10d%-10d",stu[i].name,stu[i].sex,stu[i].n save(); } //信息查询 void query() { int i; char a[10]; printf("\n input the selected num:");/*依据学号查询*/ scanf("%s",a); readFromFile(); for(i=0;i<N;i++) { if((strcmp(stu[i].num,a)==0)) { printf("\nname sex num 1 2 3 \n");
printf("%0.2f分",stu[j].ave); t=0; } /*排序(冒泡法)从大到小*/ for (j=0;j<N;j++) for(i=0;i<N-j-1;i++) if(stu[i].ave<stu[i+1].ave) { temp=stu[i]; stu[i]=stu[i+1]; stu[i+1]=temp; } printf("\n\n学生平均成绩前三名:"); for(i=0;i<3;i++) { printf("\n第%d名:%0.2f分",i+1,stu[i].ave); } for(i=0;i<N;i++) printf("\n%-10s%-10s%-10s%-10f%",stu[i].name,stu[i].sex,stu[i].num,stu[i].ave); save(); } //信息修改 void modify() { int m,i,j; char n[10]; //int t; char a[10]; char b[10]; display(); printf("\ninput the num you want to change:");/*依据学号,对通讯录各 项内容进行修改*/ readFromFile(); scanf("%s",a); for(i=0;i<N;i++) if(strcmp(stu[i].num,a)==0)
printf("\n%-10s%-10s%-10s%-10d%-10d%-10d",stu[i].name,stu[i].sex,stu[i].num,stu[i].sc break; } } } void main() /*主函数*/ { char c; do { printf("\n\n\n"); printf(" student list information management system \n"); printf("------------------------------------------------------------------"); printf("\n\n"); printf(" 1 input data //录入 2 display data //显示 \n"); printf(" 3 modify //修改 4 dele data //删除 \n"); printf(" 5 query data //查询 0 exit system //退出 \n"); printf(" \n\n"); printf("------------------------------------------------------------------"); printf("\n please select:"); c=getchar(); switch(c) { case '1': {input();getchar();break;} case '2': {display();getchar();break;} case '3': {modify();getchar();break;} case '4': {dele();getchar();break;} case '5': {query();getchar();break;} case '0': { printf("\nThank you using this system ,bye bye !\n"); exit(0); } default: {
printf("\ninput error,please try again!"); c=getchar(); } } }while(1); }
相关文档
最新文档