学生信息系统源代码.docx
- 文档编号:10176707
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:17
- 大小:17.54KB
学生信息系统源代码.docx
《学生信息系统源代码.docx》由会员分享,可在线阅读,更多相关《学生信息系统源代码.docx(17页珍藏版)》请在冰豆网上搜索。
学生信息系统源代码
#include
#include
#include
#include
#defineMY1printf("\t学号\t姓名\t性别\t年龄\t出生年月\t地址\t电话\t")
#defineMY2printf("\n%d\t%6s\t%4s\t%2d\t%4d%2d%2d\t%4s\t%6s\t\n",s[i].num,s[i].name,s[i].sex,s[i].age,s[i].a.year,s[i].a.month,s[i].a.day,s[i].address,s[i].tel)
#defineMAX20
inti;
intsum;
/*时间结构体类型*/
structdate
{
intyear;
intmonth;
intday;
}a;
structs_message
{
intnum;
charname[20];
charsex[5];
intage;
structdatea;
charaddress[50];
chartel[11];
charemail[20];
}s[MAX];
/*保存学生信息模块*/
voidsave_message(intsum)
{
inti;
FILE*fp;
if((fp=fopen("D:
\\s.txt","wb"))==NULL)
{
printf("readingfileiswrong!
\n");
return;
}
for(i=0;i { if(fwrite(&s[i],sizeof(structs_message),1,fp)! =1) printf("writingfileiswrong! \n"); } fclose(fp); } /*读取学生信息模块*/ intread_message() { FILE*fp; inti=0; if((fp=fopen("D: \\s.txt","rb"))==NULL) { printf("\n\n***********暂时无任何库存信息,按回车键进入主菜单选择基本信息的录入! ***********\n"); return0; } while(feof(fp)==0)/*feof(fp)有两个返回值: 如果遇到文件结束,函数feof(fp)的值为1,否则为0。 */ { if(fread(&s[i],sizeof(structs_message),1,fp)! =1)break; i++; } fclose(fp); return(i); } /*输入学生信息模块*/ putin_message() { //system("cls"); inti=0,m=0; printf("\n\n***********输入学生信息****************\n\n"); printf("输入要输入的学生的个数(m scanf("%d",&m); for(i=sum;i { printf("\n\n第%d个学生的信息\n",i+1); printf("\n学生学号: "); scanf("%d",&s[i].num); if(s[i].num==0)break; printf("\n学生姓名: "); scanf("%s",s[i].name); printf("\n学生性别: "); scanf("%s",s[i].sex); printf("\n学生年龄: "); scanf("%d",&s[i].age); printf("\n学生出生年月: "); scanf("%4d%2d%2d",&s[i].a.year,&s[i].a.month,&s[i].a.day); printf("\n地址: "); scanf("%s",s[i].address); printf("\n电话: "); scanf("%s",s[i].tel); } printf("\n***********************学生信息输入完毕**********************\n"); sum+=m; printf("\n按回车键返回主菜单! "); getch(); /*从控制台读取一个字符,但不显示在屏幕上,即会等待你按下任意键,再继续执行下面的语句,所在头文件为#include return0; } /*输出学生信息模块*/ voidputout_message() { //system("cls"); inti=0; printf("\n*****************************学生信息表**********************\n\n"); for(i=0;i { MY1; MY2; printf("\n\n"); } printf("按回车键返回主菜单! "); getch(); } /*添加学生信息*/ insert_message() { //system("cls"); inti=sum,flag=0,j=0,v=0; charchoice; printf("\n\n**********添加一个学生信息***********\n"); do { printf("\n学生学号: "); scanf("%d",&s[i].num); for(j=0;j if(s[i].num==s[j].num) v=1; if(v==1) printf("thenumberisalreadyexisted"); break; if(s[i].num==0)break; printf("\n学生姓名: "); fflush(stdin); scanf("%s",s[i].name); printf("\n学生性别: "); scanf("%s",s[i].sex); printf("\n学生年龄: "); scanf("%d",&s[i].age); printf("\n学生出生年月: "); scanf("%d%d%d",&s[i].a.year,&s[i].a.month,&s[i].a.day); printf("\n学生地址: "); scanf("%s",s[i].address); printf("\n电话: "); scanf("%s",s[i].tel); printf("\n要继续吗? (Y/N)"); choice=getch();//choice if(choice=='y'||choice=='Y') { printf("\n继续! \n"); flag=1; } elseflag=0; i++; sum++; }while(flag==1); printf("按回车键返回主菜单! "); getch(); return0; } /*修改学生信息*/ revise_message() { //system("cls"); inti=0,choice1; intrevise_num,flag=0; intr=0; charchoice2; printf("\n输入要修改的学生的学号: "); scanf("%d",&revise_num); for(i=0;i { if(revise_num==s[i].num) r=1; } if(r==0||revise_num==0) printf("没有该学生的相关信息"); do { for(i=0;i { if(s[i].num==revise_num) { printf("\n你要修改哪一项? \n"); printf("\n1.学号\n"); printf("\n2.姓名\n"); printf("\n3.性别\n"); printf("\n4.年龄\n"); printf("\n5.生日\n"); printf("\n6.地址\n"); printf("\n7.电话\n"); printf("请选择: "); scanf("%d",&choice1); switch(choice1) { case1: printf("\n输入修改后的学生学号: "); scanf("%d",&s[i].num);break; case2: printf("\n输入修改后的学生姓名: "); scanf("%s",s[i].name);break; case3: printf("\n输入修改后的学生性别: "); scanf("%s",s[i].sex);break; case4: printf("\n输入修改后的学生年龄: "); scanf("%d",&s[i].age);break; case5: printf("\n输入修改后的学生生日: "); scanf("%4d%2d%2d",&s[i].a.year,&s[i].a.month,&s[i].a.day);break; case6: printf("\n输入修改后的学生地址: "); scanf("%s",s[i].address);break; case7: printf("\n输入修改后的电话: "); scanf("%s",s[i].tel);break; } } } printf("\n要继续吗? (Y/N)"); choice2=getch(); if(choice2=='y'||choice2=='Y') { printf("\n继续! \n"); flag=1; } elseflag=0; } while(flag==1); printf("按回车键返回主菜单! "); getch(); return0; } /*更新学生信息模块*/ renew_message() { //system("cls"); charchoice; do { printf("\n\n\n*****************更新学生信息*******************\n\n"); printf("1.添加学生信息\n\n"); printf("2.修改学生信息\n\n"); printf("0.返回主菜单\n\n"); printf("choice(0-2)"); scanf("%d",&choice); switch(choice) { case1: insert_message();break; case2: revise_message();break; case0: break; } save_message(sum); }while(choice! =0); return0; } /*按学号查询*/ intinquire_num() { //system("cls"); inti=0,j,r=0; printf("\n输入要查询的学生的学号: "); scanf("%d",&j); for(i=0;i { if(j==s[i].num) r=1; } if(r==0||j==0) printf("没有该学生的相关信息"); for(i=0;i if(j==s[i].num) { printf("\n**********学生信息**********\n"); MY1; MY2; } getch(); return0; } /*按姓名查询*/ intinquire_name() { //system("cls"); inti=0,r=0; charinquire_name[20]; printf("\n输入要查询的学生的姓名: "); scanf("%s",inquire_name); for(i=0;i { if(strcmp(s[i].name,inquire_name)==0) r=1; } if(r==0) printf("无该学生信息\n"); for(i=0;i if(strcmp(s[i].name,inquire_name)==0) { printf("\n**********学生信息**********\n"); MY1; MY2; } return0;//添加返回值 } //查询 inquire_message() { //system("cls"); intchoice; do { printf("\n\n\n*****查询学生信息*****\n\n"); printf("1.按学号查询\n\n"); printf("2.按姓名查询\n\n"); printf("0.返回主菜单\n\n"); printf("choice(0-2)"); scanf("%d",&choice); switch(choice) { case1: inquire_num();break; case2: inquire_name();break; case0: break; } }while(choice! =0); getchar(); return0; } /*按学号删除*/ intdelete_num() { //system("cls"); inti=0,m=0,k=0,flag; charchoice; charde_num; do { printf("\n输入要删除的学生的学号: "); scanf("%d",&de_num); for(i=0;i { if(s[i].num! =de_num) break; } for(i=0;i { if(s[i].num==de_num) { m=i; for(i=m+1;i s[i-1]=s[i]; } } sum--; printf("\n此学生的信息已被删除**********\n"); printf("\n要继续删除吗? (Y/N)"); choice=getch(); if(choice=='y'||choice=='Y') { printf("\n继续! \n"); k++; flag=1; } elseflag=0; }while(flag==1); printf("按任意键返回主菜单! "); getch(); return0; } /*按姓名删除*/ intdelete_name() { //system("cls"); inti=0,m=0,k=0,flag; charchoice; charde_name[20]; do { printf("\n输入要删除的学生的姓名: "); scanf("%s",de_name); for(i=0;i { if(strcmp(s[i].name,de_name)! =0) break; } for(i=0;i { if(strcmp(s[i].name,de_name)==0) { m=i; for(i=m+1;i s[i-1]=s[i]; } } sum=sum-1; printf("\n此学生的信息已被删除**********\n"); printf("\n要继续删除吗? (Y/N)"); choice=getch(); if(choice=='y'||choice=='Y') { printf("\n继续! \n"); k++; flag=1; } elseflag=0; }while(flag==1); printf("按任意键返回主菜单! "); getch(); return0; } /*删除学生信息模块*/ delete_message() { //system("cls"); intchoice; do { printf("\n\n\n*****删除学生信息*****\n\n"); printf("1.按学号删除\n\n"); printf("2.按姓名删除\n\n"); printf("0.返回主菜单\n\n"); printf("choice(0-2)"); scanf("%d",&choice); switch(choice) { case1: delete_num();break; case2: delete_name();break; case0: break; } }while(choice! =0); getchar(); return0; } /*主函数*/ voidmain() { //system("cls"); intchoice,m; sum=read_message();/* chara[4]="110",b[4]; printf("\n\n\n**********************************请您输入密码**********************************\n"); printf("密码: "); for(m=0;m<3;m++) { b=getch(); printf("*"); } b[3]='\0'; getch(); if(strcmp(a,b)==0)/*比较两个字符串,如果相同则函数值为0*/ { do { printf("\n\n********************************************************************************\n"); printf("\n\n**********************欢迎您进入学生信息管理系统******************************\n\n"); printf("********************************************************************************\n"); printf("1.录入学生信息\n\n"); printf("2.输出学生信息\n\n"); printf("3.更新学生信息\n\n"); printf("4.查询学生信息\n\n"); printf("5.删除学生信息\n\n"); printf("0.退出系统\n\n"); printf("请选择(0-5): "); scanf("%d",&choice); switch(choice) { case1: putin_message();save_message(sum);break; case2: putout_message();break; case3: renew_message();save_message(sum);break; case4: inquire_message();break; case5: delete_message();save_message(sum);break; case0: break; } }while(choice! =0); save_message(sum); printf("学籍信息被保存! --(s.txt)\n"); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息系统 源代码