学生信息管理系统程序步骤.docx
- 文档编号:2904684
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:18
- 大小:17.56KB
学生信息管理系统程序步骤.docx
《学生信息管理系统程序步骤.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统程序步骤.docx(18页珍藏版)》请在冰点文库上搜索。
学生信息管理系统程序步骤
项目名称:
学生信息管理系统
项目内容:
#include
#include
#defineMAX37
#definePAGE5
intsum=0;
structstu******声明一个结构体类型******
{
charname[20];
longnum;
charsex;
intage;
charaddr[30];
intscore;
}student[MAX],b[MAX];
voidclrscr()******清屏******
{getchar();
system("cls");
}
save_message(intsum)******保存学生信息******
{FILE*fp;
inti;
if((fp=fopen("stud.txt","wb"))==NULL)******以二进制只写方式打开文件******
{printf("readfilewrong!
\n");******输出“读取错误文件!
”*******
return;
}
for(i=0;i if(fwrite(&student[i],sizeof(structstu),1,fp)! =1) printf("writefilewrong! \n"); fclose(fp);*******关闭文件******* } input_message()******输入学生信息模块****** {inti=0; charX; clrscr(); printf("\n***********inputstudents'message***********\n",MAX); do {printf("pleaseinput%dmessage: \n",i+1); printf("\ninputthestudent'sname: \n"); scanf("%s",student[i].name); printf("\ninputthestudent'snumber: \n"); scanf("%ld",&student[i].num); getchar(); printf("\ninputthestudent'ssex: \n"); scanf("%c",&student[i].sex); printf("\ninputthestudent'sage: \n"); scanf("%d",&student[i].age); printf("\ninputthestudent'sscore: \n"); scanf("%d",&student[i].score); printf("\ninputthestudent'saddress: \n"); scanf("%s",student[i].addr); i++; printf("continueornot? (y/n)\n"); X=getch(); if(X=='y'||X=='Y') continue;******只结束本次循环,而不是终止整个循环的执行****** if(X=='n'||X=='N'); break;******结束整个循环过程,不再判断执行循环条件是否成立****** }while(i printf("\npressanykeytoreturnthemainmenu! "); getchar(); sum=i; bioskey(0);******返回下一个在键盘键入的值****** } output_message()******输出学生信息模块****** {inti=0,j=0,count,page=1; clrscr(); printf("\n\n--studentinformationlist--the%dpage\n\n",page); printf("name--------number---sex---age---score---address\n");; printf("----------------------------------\n");; do {if(student[i].num! =0) {j++; if(j%PAGE! =0) {printf("%-10s---%ld---%4c---%5d---%5d---%-10s\n",student[i].name,student[i].num,student[i].sex,student[i].age,student[i].score,student[i].addr);; printf("----------------------------------\n");; } else {printf("%-10s--%ld---%4c---%5d---%5d---%-10s\n",student[i].name,student[i].num,student[i].sex,student[i].age,student[i].score,student[i].addr);; printf("----------------------------------\n");; if(student[i+1].num! =0) {printf("printanykeycountine! "); bioskey(0); clrscr(); printf("\n\n--studentinformationlist--the%dpage\n\n",++page); printf("name--------num--sex---age---score---address\n");; printf("----------------------------------\n");; } } } i++; }while(student[i].num! =0); printf("printanykeyreturntomenu! "); bioskey(0); } intread_message()******把每个学生的信息读入文件中****** {FILE*fp; inti=0; if((fp=fopen("stud.txt","rb"))==NULL)******以二进制只读方式打开文件****** {printf("\n\n****nosavemessage,printanykeyintomenuofinputstudent'sinformation! ****\n"); return0;******把数值0返回给调用return语句所在函数的语句****** } while(feof(fp)! =1) {fread(&student[i],sizeof(structstu),1,fp);******成块读入****** if(student[i].num==0)break; elsei++; } fclose(fp); return(i); } insert_message()******插入学生信息****** {inti=sum,j,flag=0; charchoice; system("cls"); printf("\n\ninputanewstudent\n"); printf("----------------\n"); do {++sum; printf("\nstudent'sname: "); scanf("%s",student[i].name); printf("\nnewnumberofstudent: "); scanf("%ld",&student[i].num); getchar(); printf("\nstudent'ssex: "); scanf("%c",&student[i].sex); printf("\nstudent'sage: "); scanf("%d",&student[i].age); printf("\nstudent'sscore: "); scanf("%d",&student[i].score); printf("\nstudent'saddress: "); scanf("%s",student[i].addr); printf("\nisitcountine? (Y/N)"); choice=getch();******选择统计菜单****** if(choice=='y'||choice=='Y') {printf("\ncountine! \n"); i++; flag=1; } elseflag=0; }while(flag==1); printf("\nprintanykeyreturntomenu! \n"); bioskey(0); } range(intm)******按学号排列****** {inti,j=0,k=0; for(i=0;i {if(student[i].num! =0) {b[j]=student[i]; j++; } elsek++; } sum-=k; if(k! =0) {for(i=0;i student[i]=b[i]; if(m==1) printf("messagehasbeendeleted! \n\n"); printf("Pleasepressanykeyback! "); bioskey(0); } return0; } del_by_name()******根据姓名删除有关学生信息****** {chardel_name[10],i,f=0; printf("\n\ninputnamebydelete: "); scanf("%s",del_name); for(i=0;i {if(strcmp(student[i].name,del_name)==0) {student[i].num=0; printf("%shavedeleted! ",student[i].name); f=1; range(0); break; } } if(f==0) printf("\n\nnothestudent! \n\n"); bioskey(0); return0; } del_by_num()******根据学号删除有关学生信息****** {longdel_num,i,f=0; printf("\n\ninputnum: "); scanf("%ld",&del_num); for(i=0;i {if(student[i].num==del_num) {student[i].num=0; f=1; range (1); break; } } if(f==0) printf("\n\nnothestudent! \n\n"); bioskey(0); return0; } delete_message()******删除模块****** {intchoice; do {clrscr(); printf("\n\n\n****************deletemessage****************\n\n"); printf("\n1.deletebyname\n\n"); printf("\n2.deletebynum\n\n"); printf("\n0.returntomenu\n\n"); printf("boysandgirlsincliass093,pleasechoice(0-2): "); scanf("%d",&choice); switch(choice) {case1: del_by_name();break; case2: del_by_num();break; case0: break; } }while(choice! =0); save_message(sum); printf("----------------------------------\n"); } change_message()******修改学生信息模块******* {inti=0,choice,change_num,flag; do {clrscr(); printf("\ninputnumberofneedchangestudent: "); scanf("%d",&change_num); for(i=0;i if(student[i].num==change_num) {printf("\n--student'sinformation--\n"); printf("----------------------------------\n"); printf("name--------num---sex---age---score---address\n");; printf("%-10s---%ld---%4c---%5d---%5d---%-10s\n",student[i].name,student[i].num,student[i].sex,student[i].age,student[i].score,student[i].addr); printf("\nwhichtermneedchange? \n"); printf("\n1.sex\n"); printf("\n2.age\n"); printf("\n3.score\n"); printf("\n4.address\n"); printf("\npleasechoose(1-4): "); scanf("%d",&choice); switch(choice) {case1: {printf("\ninputnewsex: "); scanf("%c",&student[i].sex);break; } case2: {printf("\ninputnewage: "); scanf("%d",&student[i].age);break; } case3: {printf("\ninputnewscore: "); scanf("%d",&student[i].score);break; } case4: {printf("\ninputnewaddress: "); scanf("%s",student[i].addr);break; } } printf("----------------------------------\n");; printf("name--------num---sex---age---score---adress\n");; printf("%-10s---%ld---%4c---%5d---%5d---%-10s\n",student[i].name,student[i].num,student[i].sex,student[i].age,student[i].score,student[i].addr); break; } if(i==sum) {printf("\nnothestudent! "); bioskey(0); } printf("\n\ncountine? (Y/N)\n"); choice=getch(); if(choice=='Y'||choice=='y') {flag=1; printf("\ncountine! \n"); } elseflag=0; }while(flag==1); printf("\nprintanykeyreturntomenu! "); bioskey(0); } inquire_name()******根据姓名查询学生有关信息****** {inti,choice,j=0; charinquire_name[10]; clrscr(); printf("\nintputthestudent'sname: \n"); scanf("%s",inquire_name); for(i=0;i if(strcmp(student[i].name,inquire_name)==0&&student[i].num! =0) {printf("\n--student'sinformation--\n"); printf("----------------------------------\n");; printf("name-------number---sex---age---score---address\n");; printf("%-10s---%ld---%4c---%5d---%5d---%-10s\n",student[i].name,student[i].num,student[i].sex,student[i].age,student[i].score,student[i].addr); } elsej++; if(j==sum)printf("\nnothestudent! "); bioskey(0); } inquire_num()******根据学号查询学生有关信息****** {inti,choice,j=0; longnum; clrscr(); printf("\ninputthestudent'snumber: \n"); scanf("%ld",&num); for(i=0;i if(student[i].num==num&&student[i].num! =0) {printf("\n--student'sinformatiom--\n"); printf("----------------------------------\n");; printf("name--------number---sex---age---score---address\n");; printf("%-10s---%ld---%4c---%5d---%5d---%-10s\n",student[i].name,student[i].num,student[i].sex,student[i].age,student[i].score,student[i].addr); } elsej++; if(j==sum)printf("\nnothestudent! "); bioskey(0); } inquire_message()******查询模块****** {intchoice; do {clrscr(); printf("\n\n******inquirestudent'sinformation******\n\n"); printf("1.inquirebystudent'sname\n\n"); printf("2.inquirebystudent'snumber\n\n"); printf("0.backtomenu\n\n"); scanf("%d",&choice); switch(choice) {case1: inquire_name();break; case2: inquire_num();break; case0: break; } }while(choice! =0); } score_sort()******按成绩排序****** {structstu*p,*q[MAX]; inti,j,k; clrscr(); printf("\nsortbyscore\n"); printf("\n**paiming**name**number**sex**age**score**address**"); p=student; for(i=0;i q[i]=p++; for(i=0;i {k=i; for(j=i+1;j if(q[k]->score if(k! =i) {p=q[i]; q[i]=q[k]; q[k]=p; } } for(i=0;i printf("\n%5d--%-10s---%ld---%4c---%5d---%5d---%-10s\n",i+1,q[i]->name,q[i]->num,q[i]->sex,q[i]->age,q[i]->score,q[i]->addr); bioskey(0); } number_sort()******按学号排序****** {structstu*p,*q[MAX]; inti,j,k; clrscr(); printf("\nsortbynumber\n"); printf("\n**paiming**name**num**sex**age**score**address**"); p=student; for(i=0;i q[i]=p++; for(i=0;i {k=i; for(j=i+1;j if(q[k]->num>q[j]->num) k=j; if(k! =i) {p=q[i]; q[i]=q[k]; q[k]=p; } } for(i=0;i printf("\n%5d--%-10s---%ld---%4c---%5d---%5d---%-10s\n",i+1,q[i]->name,q[i]->num,q[score)k=j;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 程序 步骤
![提示](https://static.bingdoc.com/images/bang_tan.gif)