您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 学生信息管理系统c语言代码
#includestdio.h#includestdlib.h#includestring.h#defineLEN15#defineN100structrecord//定义结构体{charcode[LEN];charname[LEN];intage;charsex[3];chartime[LEN];charadd[30];chartel[LEN];charmail[30];}stu[N];intk=1,n,m;//引用voidreadfile();voidseek();voidmodify();voidinsert();voiddel();voiddisplay();voidsave();voidmenu();intmain(){while(k)menu();system(pause);return0;}voidhelp(){printf(\n0.欢迎使用系统帮助!\n);printf(\n1.进入系统后,先刷新学生信息,再查询;\n);printf(\n2.按照菜单提示键入数字代号;\n);printf(\n3.增加学生信息后,切记保存按;\n);printf(\n4.谢谢您的使用!\n);}voidreadfile()//建立信息{char*p=student.txt;FILE*fp;inti=0;if((fp=fopen(C:\\Users\\86139\\Desktop\\student.txt,r+))==NULL){printf(Openfile%serror!Strikeanykeytoexit!,p);system(pause);//暂停的意思,等待用户信号exit(0);}while(fscanf(fp,%s%s%d%s%s%s%s%s,stu[i].code,stu[i].name,&stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8){i++;i=i;}fclose(fp);n=i;printf(录入完毕!\n);}voidseek()//查找信息{inti,item,flag;chars1[21];printf(------------------\n);printf(-----1.按学号查询-----\n);printf(-----2.按姓名查询-----\n);printf(-----3.退出本菜单-----\n);printf(------------------\n);while(1){printf(请选择子菜单编号:);scanf(%d,&item);flag=0;switch(item){case1:printf(请输入要查询的学生的学号:\n);scanf(%s,s1);for(i=0;in;i++)if(strcmp(stu[i].code,s1)==0)//{flag=1;printf(学生学号学生姓名年龄性别出生年月地址电话E-mail\n);printf(--------------------------------------------------------------------\n);printf(%6s%7s%6d%5s%9s%8s%10s%14s\n,stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);if(flag==0){printf(该学号不存在!\n);}}break;case2:printf(请输入要查询的学生的姓名:\n);scanf(%s,s1);for(i=0;in;i++)if(strcmp(stu[i].name,s1)==0){flag=1;printf(学生学号学生姓名年龄性别出生年月地址电话E-mail\n);printf(--------------------------------------------------------------------\n);printf(%6s%7s%6d%5s%9s%8s%10s%14s\n,stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);}if(flag==0)printf(该姓名不存在!\n);break;case3:return;default:printf(请在1-3之间选择\n);}}}voidmodify()//修改信息{inti,item,num;charsex1[3],s1[LEN],s2[LEN];printf(请输入要要修改的学生的学号:\n);scanf(%s,s1);for(i=0;in;i++)if(strcmp(stu[i].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){case1:printf(请输入新的姓名:\n);scanf(%s,s2);strcpy(stu[num].name,s2);break;case2:printf(请输入新的年龄:\n);scanf(%d,&stu[num].age);break;case3:printf(请输入新的性别:\n);scanf(%s,sex1);strcpy(stu[num].sex,sex1);break;case4:printf(请输入新的出生年月:\n);scanf(%s,s2);strcpy(stu[num].time,s2);break;case5:printf(请输入新的地址:\n);scanf(%s,s2);strcpy(stu[num].add,s2);break;case6:printf(请输入新的电话号码:\n);scanf(%s,s2);strcpy(stu[num].tel,s2);break;case7:printf(请输入新的E-mail地址:\n);scanf(%s,s2);strcpy(stu[num].mail,s2);break;case8:return;default:printf(请在1-8之间选择\n);}}}voidsort()//排序{inti,j,*p,*q,s;chartemp[10];for(i=0;in-1;i++){for(j=n-1;ji;j--)if(strcmp(stu[j-1].code,stu[j].code)0)//比较学号的大小{strcpy(temp,stu[j-1].code);//交换学号以及以下的信息(冒泡排序)strcpy(stu[j-1].code,stu[j].code);strcpy(stu[j].code,temp);strcpy(temp,stu[j-1].name);strcpy(stu[j-1].name,stu[j].name);strcpy(stu[j].name,temp);strcpy(temp,stu[j-1].sex);strcpy(stu[j-1].sex,stu[j].sex);strcpy(stu[j].sex,temp);strcpy(temp,stu[j-1].time);strcpy(stu[j-1].time,stu[j].time);strcpy(stu[j].time,temp);strcpy(temp,stu[j-1].add);strcpy(stu[j-1].add,stu[j].add);strcpy(stu[j].add,temp);strcpy(temp,stu[j-1].tel);strcpy(stu[j-1].tel,stu[j].tel);strcpy(stu[j].tel,temp);strcpy(temp,stu[j-1].mail);strcpy(stu[j-1].mail,stu[j].mail);strcpy(stu[j].mail,temp);p=&stu[j-1].age;q=&stu[j].age;s=*q;*q=*p;*p=s;}}}voidinsert()//插入函数{inti=n,j,flag;printf(请输入待增加的学生数:\n);scanf(%d,&m);do{flag=1;while(flag){flag=0;printf(请输入第%d个学生的学号:\n,i+1);scanf(%s,stu[i].code);for(j=0;ji;j++)if(strcmp(stu[i].code,stu[j].code)==0){printf(已有该学号,请检查后重新录入!\n);flag=1;break;}}printf(请输入第%d个学生的姓名:\n,i+1);scanf(%s,stu[i].name);printf(请输入第%d个学生的年龄:\n,i+1);scanf(%d,&stu[i].age);printf(请输入第%d个学生的性别:\n,i+1);scanf(%s,stu[i].sex);printf(请输入第%d个学生的出生年月:(格式:年.月)\n,i+1);scanf(%s,stu[i].time);printf(请输入第%d个学生的地址:\n,i+1);scanf(%s,stu[i].add);printf(请输入第%d个学生的电话:\n,i+1);scanf(%s,stu[i].tel);printf(请输入第%d个学生的E-mail:\n,i+1);scanf(%s,stu[i].mail);if(flag==0){i=i;i++;}}while(in+m);n+=m;printf(录入完毕!\n\n);sort();}voiddel()//删除信息{inti,j,flag=0;chars1[LEN+1];printf(请输入要删除学生的学号:\n);scanf(%s,s1);for(i=0;in;i++)if(strcmp(stu[i].code,s1)==0){flag=1;for(j=i;jn-1;j++)stu[j]=stu[j+1];}if(flag==0)printf(该学号不存在!\n);if(flag==1){printf(删除成功,显示结果请选择菜单\n);n--;}}voiddisplay()//浏览信息{inti;printf(所有学生的信息为:\n);printf(学生学号学生姓名年龄性别出生年月地址电话E-mail\n);printf(--------------------------------------------------------------------\n);for(i=0;in;i++){printf(%6s%7s%5d%5s%9s%8s%10s%14s\n,stu[i].code,stu[i].name,stu[i].age,stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);}}voidsave()//保存{inti;FILE*fp;fp=fopen(C:\\Users\\86139\\Desktop\\student.txt,a);for(i=0;in;i++){fprintf(fp,%s%s%d%s%s%s%s%
本文标题:学生信息管理系统c语言代码
链接地址:https://www.777doc.com/doc-2669156 .html