学生管理系统.docx
- 文档编号:6668891
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:14
- 大小:16.20KB
学生管理系统.docx
《学生管理系统.docx》由会员分享,可在线阅读,更多相关《学生管理系统.docx(14页珍藏版)》请在冰点文库上搜索。
学生管理系统
#include
#include
#include
#include
#include
#defineLENsizeof(structstudent)
#defineFORMAT"%-8d%-15d%-2.11f%-2.11f%-2.11f%-2.11f%\n"
#defineDATAstu[i].num,stu[i].name,stu[i].elec,stu[i].requ,stu[i].sum
structstudent
{
intnum;
charname[15];
doubleelec;
doubleexpe;
doublerequ;
doublesum;
};
structstudentstu[50];
voidin();
voidshow();
voidorder();
voiddel();
voidmodify();
voidmenu();
voidinsert();
voidtotal();
voidsearch();
voidmenu()
{
system("cls");
printf("\n\n\n\n\n");
printf("\t\t|-------------student-------------|\n");
printf("\t\t|0.exit|\n");
printf("\t\t|1.inputrecord|\n");
printf("\t\t|2.searchrecord|\n");
printf("\t\t|3.deleterecord|\n");
printf("\t\t|4.modifyrecord|\n");
printf("\t\t|5.insertrecord|\n");
printf("\t\t|6.order|\n");
printf("\t\t|7.munber|\n");
printf("\t\t|8.show|\n");
printf("\t\t||\n");
printf("\t\t|tchoose(0-8):
");
}
voidmain()
{
intn;
menu();
scanf("%d",&n);
while(n)
{
switch(n)
{
case1:
in();break;
case2:
search();break;
case3:
del();break;
case4:
modify();break;
case5:
insert();break;
case6:
order();break;
case7:
total();break;
case8:
show();break;
default:
break;
}
getch();
menu();
scanf("%d",&n);
}
}
voidin()
{
inti,m=0;
charch[2];
FILE*fp;
fp=fopen("D:
\\data.txt","a+");
if(fp==NULL)
{
printf("cannotopen\n");
return;
}
while(!
feof(fp))
{
if(fread(&stu[m],LEN,1,fp)==1)
m++;
}
fclose(fp);
if(m==0)
printf("norecord");
else
{
system("cls");
show();
}
if((fp==fopen("D:
\\data.txt","wb"))==NULL)
{
printf("cannotopen\n");
return;
}
for(i=0;i fwrite(&stu[i],LEN,1,fp); printf("pleaseinput(y/n);"); scanf("%s",ch); while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) { printf("number: "); scanf("%d",&stu[m].num); for(i=0;i if(stu[i].num==stu[m].num) { printf("thenumberisexiting,pressanykeytocontiune! "); getch(); fclose(fp); return; } printf("name: "); scanf("%s",stu[m].name); printf("elective: "); scanf("%lf",&stu[m].elec); printf("experiment: "); scanf("%lf",&stu[m].expe); printf("requiredcourse: "); scanf("%lf",&stu[m].requ); stu[m].sum=stu[m].elec+stu[m].expe+stu[m].requ; if(fwrite(&stu[m],LEN,1,fp)! =1) { printf("cannotsave! "); getch(); } else { printf("%ssaved! \n",stu[m].name); m++; } printf("continue? (y/n): "); scanf("%s",ch); } fclose(fp); printf("ok! /n"); } voidsearch() { FILE*fp; intsnum,i,m=0; charch[2]; fp=fopen("D: \\data.txt","rb"); if(fp==NULL) { printf("cannotopen\n"); return; } while(! feof(fp)) { if(fread(&stu[m],LEN,1,fp)==1) m++; } fclose(fp); if(m==0) { printf("norecord"); return; } printf("pleaseinputthenumber: "); scanf("%d",&snum); for(i=0;i if(snum==stu[i].num) { printf("findthestudent,show? (y/n)"); scanf("%s",ch); if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) { printf("thenameelectiveexperimentrequiedsum\t\n"); printf(FORMAT,DATA); break; } } if(i==m) printf("cannotfindthestudent! \n"); } voiddel() { FILE*fp; intsnum,i,j,m=0; charch[2]; fp=fopen("D: \\data.txt","r+"); if(fp==NULL) { printf("cannotopen\n"); return; } while(! feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; fclose(fp); printf("pleaseinputthenumber: "); scanf("%d",&snum); for(i=0;i if(snum! =stu[i].num) printf("cannotfindthestudent,reinputagain! \n"); else { printf("findthestudent,delete? (y/n)"); scanf("%s",ch); } if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) for(j=i;j stu[j]=stu[j+1]; m--; if((fp==fopen("data.txt","wb"))==NULL) { printf("cannotopen\n"); return; } for(j=0;j if(fwrite(&stu[j],LEN,1,fp)! =1) { printf("cannotsave! \n"); getch(); } fclose(fp); } voidinsert() { FILE*fp; inti,j,k,m=0,snum; fp=fopen("D: \\data.txt","r+"); if(fp==NULL) { printf("cannotopen\n"); return; } while(! feof(fp)) if(fread(&stu[m],LEN,1,fp)==1)m++; if(m==0)printf("norecord"); fclose(fp); printf("pleaseinputpositivewheredoyouwanttoinsert! (inputthenumber! )\n"); scanf("%d",&snum); for(i=0;i break; for(j=m-1;j>i;j--) stu[j+1]=stu[j]; printf("nowpleaseinputthenewinformation.\n"); printf("number: "); scanf("%d",&stu[i+1].num); for(k=0;k if(stu[k].num==stu[m].num) { printf("thenumberisexiting,pressanykeytocontunue! "); getch(); fclose(fp); return; } printf("name: "); scanf("%s",stu[i+1].name); printf("elective: "); scanf("%s",stu[i+1].elec); printf("experment: "); scanf("%s",stu[i+1].expe); printf("requiredcourse: "); scanf("%s",stu[i+1].requ); stu[i+1].sum=stu[i+1].elec+stu[i+1].expe+stu[i+1].requ; if((fp=fopen("data.txt","wb"))==NULL) { printf("cannotopen\n"); return; } for(k=0;k<=m;k++) if(fwrite(&stu[k],LEN,1,fp)! =1) { printf("cannotsave! \n"); getch(); } fclose(fp); } voidorder() { FILE*fp; structstudentt; inti=0,j=0,m=0; fp=fopen("D: \\data.txt","r+"); if(fp==NULL) { printf("cannotopen! \n"); return; } while(! feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; fclose(fp); if(m==0) { printf("norecord! \n"); return; } if((fp=fopen("data.txt","wb"))==NULL) { printf("cannotopen! \n"); return; } for(i=0;i for(j=j+1;j if(stu[i].sum { t=stu[i]; stu[i]=stu[j]; stu[j]=t; } if((fp=fopen("data.txt","wb"))==NULL) { printf("cannotopen\n"); return; } for(i=0;i if(fwrite(&stu[i],LEN,1,fp)! =1) { printf("%scannotsave! \n"); getch(); } fclose(fp); printf("savesuccessfully\n"); } voidshow() {inti=0,m=0; FILE*fp; fp=fopen("D: \\data.txt","r"); if(fp==NULL) { printf("cannotopen! \n"); return; } while(! feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; fclose(fp); if(m==0) { printf("norecordtoshow"); return; } else { printf("numbernameelectiveexperinmentrequiredsum\n"); for(i=0;i printf(FORMAT,DATA); } } voidtotal() { intm=0; FILE*fp; fp=fopen("D: \\data.txt","r+"); if(fp==NULL) { printf("cannotopen! \n"); return; } while(! feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; fclose(fp); printf("thetotalnumberofstudentis%d: ",m); } voidmodify() { inti,m=0; intsnum; //charch[2]; FILE*fp; fp=fopen("D: \\data.txt","r+"); if(fp==NULL) { printf("cannotopen! \n"); return; } while(! feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; fclose(fp); if(m==0) { printf("norecord"); return; } printf("thenumberyouwanttomodify: "); scanf("%d",&snum); for(i=0;i if(snum! =stu[i].num) { printf("nothisrecord! "); getch(); fclose(fp); return; } //printf("doyouwanttomodifyit? (y/n): "); //scanf("%s",ch); //if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0) printf("name: "); scanf("%s",&stu[i].name); printf("elective: "); scanf("%d",&stu[i].elec); printf("experment: "); scanf("%d: ",&stu[i].expe); printf("required: "); scanf("%d",&stu[i].requ); stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ; if((fp=fopen("D: \\data.txt","w+"))==NULL) { printf("cannotopen\n"); return; } for(i=0;i<=m;i++) if(fwrite(&stu[i],LEN,1,fp)! =1) { printf("cannotsave! \n"); getch(); } fclose(fp); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 管理 系统