《学生信息管理系统c语言代码(共9页).docx》由会员分享,可在线阅读,更多相关《学生信息管理系统c语言代码(共9页).docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上#include #include#include#define LEN 15 #define N 100 struct record /定义结构体char codeLEN; char nameLEN; int age; char sex3; char timeLEN; char add30; char telLEN; char mail30; stuN;int k=1,n,m; /引用void readfile();void seek();void modify();void insert();void del();void display();void save(
2、);void menu();int main()while(k) menu(); system(pause); return 0;void help()printf(n0.欢迎使用系统帮助!n);printf(n1.进入系统后,先刷新学生信息,再查询;n);printf(n2.按照菜单提示键入数字代号;n);printf(n3.增加学生信息后,切记保存按;n);printf(n4.谢谢您的使用!n);void readfile()/建立信息char *p=student.txt;FILE *fp;int i=0;if (fp=fopen(C:Users86139Desktopstudent.t
3、xt,r+)=NULL)printf(Open file %s error! Strike any key to exit!,p);system(pause);/暂停的意思,等待用户信号exit(0); while(fscanf(fp,%s %s %d %s %s %s %s %s,stui.code,stui.name,&stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail)=8)i+; i=i; fclose(fp); n=i;printf(录入完毕!n);void seek() /查找信息int i,item,flag;char
4、s121;printf(-n);printf(-1.按学号查询-n);printf(-2.按姓名查询-n);printf(-3.退出本菜单-n);printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);flag=0;switch(item)case 1:printf(请输入要查询的学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)/flag=1;printf(学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mailn);printf(-n);printf(%6s
5、 %7s %6d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该学号不存在!n);break;case 2:printf(请输入要查询的学生的姓名:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.name,s1)=0)flag=1;printf(学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mailn);printf(-n);printf(%6s %7s
6、 %6d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该姓名不存在!n); break;case 3:return;default:printf(请在1-3之间选择n);void modify() /修改信息int i,item,num;char sex13,s1LEN,s2LEN; printf(请输入要要修改的学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(s
7、tui.code,s1)=0) num=i;printf(-n);printf(1.修改姓名n);printf(2.修改年龄n);printf(3.修改性别n);printf(4.修改出生年月n);printf(5.修改地址n);printf(6.修改电话号码n);printf(7.修改E-mail地址n);printf(8.退出本菜单n);printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);switch(item)case 1:printf(请输入新的姓名:n);scanf(%s,s2);strcpy(stunum.name,s2); b
8、reak;case 2:printf(请输入新的年龄:n);scanf(%d,&stunum.age);break;case 3:printf(请输入新的性别:n);scanf(%s,sex1);strcpy(stunum.sex,sex1); break;case 4:printf(请输入新的出生年月:n);scanf(%s,s2);strcpy(stunum.time,s2); break;case 5:printf(请输入新的地址:n);scanf(%s,s2);strcpy(stunum.add,s2); break;case 6:printf(请输入新的电话号码:n);scanf(%
9、s,s2);strcpy(stunum.tel,s2); break;case 7:printf(请输入新的E-mail地址:n);scanf(%s,s2);strcpy(stunum.mail,s2); break;case 8:return;default:printf(请在1-8之间选择n); void sort()/排序 int i,j,*p,*q,s; char temp10; for(i=0;ii;j-) if(strcmp(stuj-1.code,stuj.code)0)/比较学号的大小 strcpy(temp,stuj-1.code); /交换学号以及以下的信息(冒泡排序) s
10、trcpy(stuj-1.code,stuj.code); strcpy(stuj.code,temp); strcpy(temp,stuj-1.name); strcpy(stuj-1.name,stuj.name); strcpy(stuj.name,temp); strcpy(temp,stuj-1.sex); strcpy(stuj-1.sex,stuj.sex); strcpy(stuj.sex,temp); strcpy(temp,stuj-1.time); strcpy(stuj-1.time,stuj.time); strcpy(stuj.time,temp); strcpy(
11、temp,stuj-1.add); strcpy(stuj-1.add,stuj.add); strcpy(stuj.add,temp); strcpy(temp,stuj-1.tel); strcpy(stuj-1.tel,stuj.tel); strcpy(stuj.tel,temp); strcpy(temp,stuj-1.mail); strcpy(stuj-1.mail,stuj.mail); strcpy(stuj.mail,temp); p=&stuj-1.age; q=&stuj.age; s=*q; *q=*p; *p=s; void insert()/插入函数 int i=
12、n,j,flag; printf(请输入待增加的学生数:n); scanf(%d,&m); do flag=1; while(flag) flag=0; printf(请输入第%d 个学生的学号:n,i+1); scanf(%s,stui.code); for(j=0;ji;j+) if(strcmp(stui.code,stuj.code)=0) printf(已有该学号,请检查后重新录入!n); flag=1; break; printf(请输入第%d 个学生的姓名:n,i+1); scanf(%s,stui.name); printf(请输入第%d 个学生的年龄:n,i+1); scan
13、f(%d,&stui.age); printf(请输入第%d 个学生的性别:n,i+1); scanf(%s,stui.sex); printf(请输入第%d 个学生的出生年月:(格式:年.月)n,i+1); scanf(%s,stui.time); printf(请输入第%d 个学生的地址:n,i+1); scanf(%s,stui.add); printf(请输入第%d 个学生的电话:n,i+1); scanf(%s,stui.tel); printf(请输入第%d 个学生的E-mail:n,i+1); scanf(%s,stui.mail); if(flag=0) i=i; i+; wh
14、ile(in+m); n+=m; printf(录入完毕!nn); sort(); void del()/删除信息 int i,j,flag=0; char s1LEN+1; printf(请输入要删除学生的学号:n); scanf(%s,s1); for(i=0;in;i+) if(strcmp(stui.code,s1)=0) flag=1; for(j=i;jn-1;j+) stuj=stuj+1; if(flag=0)printf(该学号不存在!n);if(flag=1)printf(删除成功,显示结果请选择菜单n);n-; void display() /浏览信息 int i; pr
15、intf(所有学生的信息为:n); printf(学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mailn); printf(-n); for(i=0;in;i+) printf(%6s %7s %5d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail); void save() / 保存 int i; FILE *fp; fp=fopen(C:Users86139Desktopstudent.txt,a); for(i=0;in;i+
16、) fprintf(fp,%s %s %d %s %s %s %s %sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail); fclose(fp); void menu()/菜单 int num; printf( nn 学生信息管理系统 nn); printf(*系统功能菜单* n); printf(友情提示:查询前请先刷新系统!n); printf( - - n); printf( * n); printf( * 0.系统帮助及说明 * * 1.刷新学生信息 * n); printf(
17、* n); printf( * 2.查询学生信息 * * 3.修改学生信息 * n); printf( * n); printf( * 4.增加学生信息 * * 5.按学号删除信息 * n); printf( * n); printf( * 6.显示当前信息 * * 7.保存当前学生信息* n); printf( * * n); printf( * 8.退出系统 * n); printf( * n); printf( - - n); printf(请选择菜单编号:); scanf(%d,&num); switch(num) case 0:help();break; case 1:readfile();break; case 2:seek();break; case 3:modify();break; case 4:insert();break; case 5:del();break; case 6:display();break; case 7:save();break; case 8:k=0;break;default:printf(请在0-8之间选择n); 专心-专注-专业
限制150内