用C语言编写学生信息管理系统_第1页
用C语言编写学生信息管理系统_第2页
用C语言编写学生信息管理系统_第3页
用C语言编写学生信息管理系统_第4页
用C语言编写学生信息管理系统_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、设计目的通过对高级语言程序设计课程设计的学习, 来验证自身的学习效果, 同时希望利 用所学的基本知识和技能,进行简单的 C语言程序设计。希望通过项目实践,熟悉巩 固所学知识, 以使自己熟练掌握高级语言程序设计, 为日后学习计算机科学技术的专 业知识能有进一步深入了解,奠定基础。二、设计内容1、问题描述: 设计一个学生信息管理系统设计。学生信息包括:学号,姓名,年龄,性别,出生年 月,地址,电话, E-mail 等。2、功能要求:1、系统以菜单方式工作2、学生信息录入功能(学生信息用文件保存)输入3、学生信息浏览功能输出4、学生信息查询功能算法按学号查询按姓名查询5、学生信息的删除与修改 (可

2、选项)三、详细设计1 、菜单:void menu()2、建立信息:void readfile ()3、查找:void seek ()4、修改信息:void modify ()5、插入函数:void insert()6、删除信息:void del()7、浏览信息: void display () 8、保存: void save () 四、调试与测试1、系统功能菜单2、选择菜单“ 0”,进入系统帮助及说明功能3、选择菜单“ 4”,添加学生信息(1)输入增加人数E-mail(2)依次输入学生学号,姓名,年龄,性别,出生年月,地址,电话,(3)录入完毕,弹出菜单4、选择菜单“ 3”,修改学生信息:输入

3、被修改者学号( 1)选择子菜单“ 1,修改姓名( 2)选择子菜单“ 2”,修改年龄( 3)选择子菜单“ 3”,修改性别( 4)选择子菜单“ 4”,修改出生年月( 5)选择子菜单“ 5”,修改地址( 6)选择子菜单“ 6”,修改电话( 7)选择子菜单“ 7”,修改 E-mail5、选择菜单“ 2”,查询学生信息( 1)选择子菜单“ 1”,按学号查询( 2)选择子菜单“ 2”,按姓名查询( 3)选择子菜单“ 3”,退出子菜单,弹出主菜单6、选择菜单“ 6”,显示当前信息7、选择菜单“ 5”,按学号删除信息(1)输入要删除的学生学号( 2)再次输入“ 6”,确认是否删除该学生信息五、源程序清单源程序

4、代码如下 #include #include #include #define BUFLEN 100 #define LEN 15 #define N 100 struct record char codeLEN+1;char nameLEN+1;int age;char sex3;char timeLEN+1;char add30;char telLEN+1;char mail30;stuN;int k=1,n,m;void readfile();void seek();void modify();void insert();void del();void display();void sa

5、ve();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(student.txt,r)=NULL

6、)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.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 s121;printf(n);printf(1. 按学号查询 n

7、);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 %7s %6d %5s %9s %8s %10s %14

8、sn,stui.code,,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(,s1)=0)flag=1;printf( 学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mailn); printf(n);printf(%6s %7s %6d %5s %9s %8s %10s

9、 %14sn,stui.code,,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf( 该姓名不存在! n); break;case 3:return;default:printf( 请在 -3 之间选择 n);void modify() int i,item,num;char sex13,s1LEN+1,s2LEN+1;printf( 请输入要要修改的学生的学号 :n);scanf(%s,s1);for(i=0;in;i+) if(strcmp(stui.code,s1)=0

10、) 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(,

11、s2); break;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( 请输入新

12、的电话号码 :n);scanf(%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( 请在-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); strcpy(stuj-1.co

13、de,stuj.code); strcpy(stuj.code,temp);strcpy(temp,);strcpy(,);strcpy(,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(temp,stuj-1.add);strcpy(s

14、tuj-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=n,j,flag;printf( 请输入待增加的学生数 :n); scanf(%d,&m)

15、;doflag=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,);printf( 请输入第 %d 个学生的年龄 :n,i+1); scanf(%d,&stui.age);printf( 请输入第 %d 个学生的性别 :n,i

16、+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+; while(in+m);n+=m;printf( 录入完毕! nn);sort();

17、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;printf( 所有学生的信息为 :n);printf( 学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E

18、-mailn);printf(n);for(i=0;in;i+)printf(%6s %7s %5d %5s %9s %8s %10s %14sn,stui.code,,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);void save()int i;FILE *fp; fp=fopen(student.txt,w); for(i=0;in;i+) fprintf(fp,%s %s %d %s %s %s %s %sn,stui.code,,stui.age, stui.sex,stui.time,stui.add,stui

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论