语言课程设计学生成绩管理系统_第1页
语言课程设计学生成绩管理系统_第2页
语言课程设计学生成绩管理系统_第3页
语言课程设计学生成绩管理系统_第4页
语言课程设计学生成绩管理系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

学生成绩管理系统

《学生成绩管理系统》旳设计与实现汇报内容1、每一条记录包括一种学生旳学号、姓名、3门课成绩、平均成绩。2、输入功能:可以一次完毕若干条记录旳输入。3、显示功能:完毕所有学生记录旳显示。4、查找功能:完毕按姓名查找学生记录,并显示。5、排序功能:按学生平均成绩进行排序。6、插入功能:按平均成绩高下插入一条学生记录7

删除功能:假如输入错误,可以删除学生记录;8

退出。代码如下:#include"stdio.h"

#include"conio.h"

#include"string.h"

intn=0;

structstudent

{intnum;

charname[10];

intscore[3];

floatavg;

}stu[1000];main()

{

for(;;)

{

{switch(print())

{

case0:printf("\n\nPlease,choosethenumberform1to8\n");break;

case1:creat();break;

case2:display();break;

case3:find();break;

case4:sort();break;

case5:add();break;

case6:del();break;

case7:save();break;

case8:exit(0);}

printf("\n\n\n

putanykeytothemenu.....\n");

}

getch();

}

}

print()

{chars[3];

intc;

clrscr();

printf("\n\n\n

***************MENU**************\n");

printf("

||

||\n");

printf("

||

1Increasetherecord

||\n");

printf("

||

||\n");

printf("

||

2Showallrecords

||\n");

printf("

||

||

the\n");

printf("

||

3searchtherecord

||\n");

printf("

||

||

result\n");

printf("

||

4Sortrecords

||\n");

printf("

||

||

management\n");

printf("

||

5Insertrecord

||\n");

printf("

||

||\n");

printf("

||

6Deletearecord

||\n");

printf("

||

||\n");printf("

||

7Savethefile

||\n");

printf("

||

||\n");

printf("

||

8Quit

||

~@~shen..\n");

printf("

||

||

\n");

printf("

*********************************\n");

do{printf("\n

Enteryouchoice(1~8):");

scanf("%s",s);

c=atoi(s);

}while(c<0||c>8);

return(c);

}creat()

{inti;FILE*fp;

clrscr();

printf("Howmanystudentstorecord?(1~1000)\n");

scanf("%d",&n);

printf("\nNO.:name:score1:score2:score3:\n");

for(i=0;i

{

scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);

stu[i].avg=(float)(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;

}

if((fp=fopen("score","wb"))==NULL)

{printf("Error,cannotopenfile\n");

return;

}

for(i=0;i

if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)

printf("filewriteerror\n");

fclose(fp);}display()

{inti,p=1;

FILE*fp;

clrscr();

if((fp=fopen("score","rb"))==NULL)

{printf("\n\n

Please,increaserecordsfirst~!!\n");

return;

}

printf("\n\n

NO.:name:

score1:

2:

3:

average:\n");

for(i=0;!feof(fp);i++)

{fread(&stu[i],sizeof(structstudent),1,fp);

if(stu[i].num!=0)

{printf("%5d

%-10s%4d%4d%4d%8.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].avg);

if(i==20*p){printf("putsanykeytonextpag..");getch();p++;}

}

}fclose(fp);}find()

{charc[10];inti;FILE*(fp);

if((fp=fopen("score","rb"))==NULL)

{printf("Error,cannotopenfile\n");

return;}

for(i=0;!feof(fp);i++)

fread(&stu[i],sizeof(structstudent),1,fp);

fclose(fp);printf("inputthenameforsearch:\n");

scanf("%s",c);

clrscr();

printf("\n\n

NO.:name:

score1:

2:

3:

average:\n");

for(n=i,i=0;i

{if(strcmp(c,stu[i].name)==0){printf("%4d

%-10s%4d%4d%4d%8.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].avg);break;}

elseif(i==n-1)printf("\n

Error~~!!\n

Nothisstudent\n");

}}add()

{inti;FILE*fp;chary;

clrscr();

printf("Howmanystudentstoinsert\n");

scanf("%d",&n);

printf("\nNO.:name:score1:score2:score3:\n");

for(i=0;i

{

scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);

stu[i].avg=(float)(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;

}

if((fp=fopen("score","ab"))==NULL)

{printf("Error,cannotopenfile\n");

return;

}

for(i=0;i

if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)

printf("filewriteerror\n");

fclose(fp);

printf("\n\nDoyouwanttosort??y/n?");

scanf("%s",&y);

if(y=='Y'||y=='y')sort();}

save()

{inti;FILE*fp;

if((fp=fopen("score","wb"))==NULL)

{printf("Error,cannotopenfile\n");

return;

}

for(i=0;i

if(fwrite(&stu[i],sizeof(structstudent),1,fp)!=1)

printf("filewriteerror\n");

fclose(fp);

}load()

{FILE*fp;inti;

if((fp=fopen("score","rb"))==NULL)return;

for(i=0;!feof(fp);i++)

fread(&stu[i],sizeof(structstudent),1,fp);

fclose(fp);

}sort()

{inti,j,k,t;floatp;FILE*fp;chartemp[10];

if((fp=fopen("score","rb"))==NULL)

{printf("Error,cannotopenfile\n");

return;}

for(i=0;!feof(fp);i++)

fread(&stu[i],sizeof(structstudent),1,fp);

fclose(fp);

for(n=i,i=0;i

{k=i;

for(j=k+1;j

if(stu[k].avg

{k=j;

t=stu[k].num;

stu[k].num=stu[i].num;

stu[i].num=t;

strcpy(temp,stu[k].name);

strcpy(stu[k].name,stu[i].name);

strcpy(stu[i].name,temp);

t=stu[k].score[0];

stu[i].score[0]=t;

t=stu[k].score[1];

stu[k].score[1]=stu[i].score[1];

stu[i].score[1]=t;

t=stu[k].score[2];

stu[k].score[2]=stu[i].score[2];

stu[i].score[2]=t;

p=stu[k].avg;

stu[k].avg=stu[i].avg;

stu[i].avg=p;

}

}

clrscr();

printf("\n\n

NO.:name:

score1:

2:

3:

average:\n");

for(i=0;i

if(stu[i].num!=0)

printf("%5d

%-10s%4d%4d%4d%8.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].avg);

}del()

{inti,x;charc[10],y;FILE*fp;

if((fp=fopen("score","rb"))==NULL)

{printf("Error,cannotopenfile\n");

return;}

clrscr();

printf("\n

NO.:name:

score1:

2:

3:

average:\n");

for(i=0;!feof(fp);i++)

{fread(&stu[i],sizeof(structstudent),1,fp);

if(stu[i].num!=0)printf("%5d

%-10s%4d%4d%4d%8.2f\n",stu[i].num,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].avg);

}

fclose(fp);

printf("inputthenamefordelete\n");

scanf("%s",c

温馨提示

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

评论

0/150

提交评论