课程设计说明书NO.1信息学院学生信息管理系统设计1.课程设计的目的C语言程序设计课程设计是计算机科学与技术专业一门重要的专业技术基础课程,也是一门核心课程。信息学院学生信息管理系统设计的目的是为了配合C语言程序设计课程的开设,使学生能够较熟练地掌握C语言的基本内容及程序设计的基本方法与编程技巧,并能够培养学生应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机的专业知识打下基础。2.课程设计方案论证及程序清单2.1课程设计方案论证这次设计的系统能够对同学的信息进行输入、显示、查找、删除、插入、保存、读入、按序号查找、拷贝、排序、快速查找、退出等功能。在第一时间何以方便的寻找查找、删除、插入、保存、读入他们的信息在原有的基础上可以让提高查找的速度.达到方便、快捷、准确的目的。应用我门所学的指针数组、结构提等.并且是用结构体来构件我们的基本框架。2.2总体功能框图学生管理系统:1、录入学生信息2、修改学生信息3、查询学生信息4、浏览学生信息5、增加学生信息6、推出信息系统沈阳大学课程设计说明书NO.22.3操作流程图:沈阳大学开始操作面012345678系统帮助及说明刷新学生信息查询学生信息修改学生信息增加学生信息按学号删除信息显示当前信息保存当前学生信息退出系统图(1)操作流程图课程设计说明书NO.32.4源程序清单#includestdio.h/*I/O函数*/#includestdlib.h/*其它说明*/#includestring.h/*字符串函数*/#defineBUFLEN100/*缓冲区最大字符数*/#defineLEN15/*学号和姓名最大字符数,实际请更改*/#defineN100/*最大学生人数,实际请更改*/structrecord/*结构体*/{charcode[LEN+1];/*学号*/charname[LEN+1];/*姓名*/intage;/*年龄*/charsex[3];/*性别*/chartime[LEN+1];/*出生年月*/charadd[30];/*家庭地址*/chartel[LEN+1];/*电话号码*/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);沈阳大学课程设计说明书NO.4printf(\n3.增加学生信息后,切记保存按;\n);printf(\n4.谢谢您的使用!\n);}voidreadfile()/*建立信息*/{char*p=student.txt;FILE*fp;inti=0;if((fp=fopen(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];/*以姓名和学号最长长度+1为准*/printf(------------------\n);printf(-----1.按学号查询-----\n);printf(-----2.按姓名查询-----\n);printf(-----3.退出本菜单-----\n);printf(------------------\n);while(1){printf(请选择子菜单编号:);scanf(%d,&item);flag=0;switch(item){沈阳大学课程设计说明书NO.5case1: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(请在-3之间选择\n);}}}voidmodify()/*修改信息*/{inti,item,num;charsex1[3],s1[LEN+1],s2[LEN+1];/*以姓名和学号最长长度+1为准*/printf(请输入要要修改的学生的学号:\n);scanf(%s,s1);for(i=0;in;i++)if(strcmp(stu[i].code,s1)==0)/*比较字符串是否相等*/沈阳大学课程设计说明书NO.6num=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:沈阳大学课程设计说明书NO.7printf(请输入新的E-mail地址:\n);scanf(%s,s2);strcpy(stu[num].mail,s2);break;case8:return;default:printf(请在-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;沈阳大学课程设计说明书NO.8*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(请