1、includestdio。h includestdlib。h#includestring。hdefine 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
2、 save();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:Users86139
3、Desktopstudent.txt”,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() /查找信息in
4、t i,item,flag;char 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;ii;j-) if(strcmp(stuj1。code,stuj。code)0)/比较学号的大小 strcpy(temp,stuj-1。co
5、de); /交换学号以及以下的信息(冒泡排序) strcpy(stuj1.code,stuj.code); strcpy(stuj。code,temp); strcpy(temp,stuj-1。name); strcpy(stuj-1。name,stuj.name); strcpy(stuj。name,temp); strcpy(temp,stuj1。sex); strcpy(stuj1.sex,stuj.sex); strcpy(stuj。sex,temp); strcpy(temp,stuj1.time); strcpy(stuj-1.time,stuj。time); strcpy(stu
6、j.time,temp); strcpy(temp,stuj1。add); strcpy(stuj-1。add,stuj。add); strcpy(stuj。add,temp); strcpy(temp,stuj1。tel); strcpy(stuj1。tel,stuj.tel); strcpy(stuj。tel,temp); strcpy(temp,stuj1.mail); strcpy(stuj1.mail,stuj。mail); strcpy(stuj。mail,temp); p=stuj1.age; q=stuj.age; s=q; *q=p; p=s; void insert()/插
7、入函数 int i=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 个学生的年
8、龄:n”,i+1); scanf(”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); i
9、f(flag=0) i=i; i+; while(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;jn1;j+) stuj=stuj+1; if(flag=0)printf(”该学号不存在!n);if(flag=1)printf(删除成功,显示结果请选择菜单n);n-; void di
10、splay() /浏览信息 int i; printf(”所有学生的信息为:n); printf(”学生学号 学生姓名 年龄 性别 出生年月 地址 电话 Emailn); 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。
11、txt”,a”); for(i=0;in;i+) 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。系统帮助及说
12、明 * * 1.刷新学生信息 n”); printf(” * 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(”请在08之间选择n”);