C语言课程设计学生信息管理系统_第1页
C语言课程设计学生信息管理系统_第2页
C语言课程设计学生信息管理系统_第3页
C语言课程设计学生信息管理系统_第4页
C语言课程设计学生信息管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言课程设计实验报告一、设计目的:学生信息包括:学号、姓名、性别、系名、班级名、出生年月、住址、电话号 码。设计一学生信息管理系统,使之能提供以下功能:1 .系统以菜单方式工作;2 .学生信息录入功能(输入);3 .学生信息浏览功能(输出);4 .学生信息检索功能;5 .学生信息的删除与修改功能;二、总体设计思路:1程序设计组成框图添加新的学生信息检索信息浏览所有学生信息添加新的学生信息检索学生信息按学号检索按姓名检索删除所有记录修改此同学信息删除此同学信息保存并退出2>N-S流程图三、详细设计说明:1头文件#include #include<>#include<&g

2、t;#include<>2数入口说明main();主函数;void menu();主菜单界面;void add();添加新的学生信息;void print(int i);打印学生信息;void scan(); 查找学生信息;void res();检索学生信息界面;void res_name();按姓名检索;void res_num(); 按学号检索;void del(int i); 删除学生信息;void modify(int i);修改学生信息;void fileopen();打开文件;void filesave();保存文件;2调用关系fileopen()menu()add()

3、scan()add()menu()res()add()main()res_name()modify(intres() , 1k <del(intfilesave(res_num( menu()4.调试与测试:编译工具C+福序设计学习与实验系统+均通过调试!主菜单-in|x12 3 4的有生退雪千并加览Wt稔检保生生息退统 息息系by rlk添加新的学生信息E CTuTanilbi7iw7temp. ace-|n| x能添加新的学生信息江号:1118311116姓名:任理楷性别喟发莓多吊算 哥班矮名干 出生年月:vanai住址:19时g 电恬号码 113R3512231RJ添加成功,请诙择

4、:1.罪操匿加2.阪问主菜单tj. E. '.CTult anVbinVtwtemp. e3£欢迎登录学生信息繇领浏览所有学生信息F E: CYuJ 3nbi nr wwtenp. ex e号二1工工团3山11 姓名:孙朝四 few 苣班晟名ri血|1 出生年用木先 住址m未知 亳话旨码二劫口10立:hw-11生震号名址话孚雌性蜃也唯吨初赞 聂甘云请选择:1 .检察信急序£添加新的学生信息 工.删除所有定录4 .返回主菜单检索信息库X请选择:1 .修茂比羊生信息a.魁除此芝生信息 .继查我下一条*窗回主支单1-1继续查找下一条修改学生信息c: E : CTuY&am

5、p;iiMiiiiYwt emp. esce同 周-1| M m n M . M M H M M M M X M )C U M X M r- M M H M IC H M M X M M请选择一.修改比这生信息2 一则除此学生信息 入继续查我下一条4.影回主菜单诵摘入你想修改的内容:1母号? 一姓名? 一性用4 一系名&.班级名。由生卒月7.佳京8-点话号码 请重新输入电砥弓询:18671±0«727/侈改成功t修改后的学生信息:1B理;t*ir%tt3 :11衽需%号:19甲 弓名别名级生址话 学建善出住电 眇 ©©<§31&#

6、174;科9311机772请或任意魅继续删除信息库所有记录|c 3. S.CruYanlin¥wtemp. ike:性别,另天知班皱名:夫知出生年月:未知f主址:耒州电祜号而上未知=±月的:Lr ”:L名年:1!: 号名别名级生址话 呼胜胜春出胜电请选择:工丰索信总序2 ,幅加新的学生信息3 .施懦羽录4 .鼓面镖单H ” M H H H警告:您将删除信息库所有记录, H m "含请选婵:工破认删赊2 返回/已删陇,.话按徒童键继续. *-五、调试中所遇到的问题及解决方法1问题:程序退出后,再次打开,上次输入的数据无法保存。解决:调用fileopen() 与fil

7、esave()保存文件数据,方便第二次打开程序时仍能调用上次输入的数据。2问题:跳出的界面与选择分支中的对应项不符合。解决:改getchar()为getch(),头文件中加”.因为getchar()从输入输出流中一次只能读取一个字符,而且需要以回车来确认输入。本文件中多次用到getchar(),键盘缓冲区的n '会被下次调用getchar()时接收。而getch()则不会,从键盘上读入一个数据,不 给回显,不需要回车确认,按下键就实现了函数。3问题:误输入 X,导致退出。解决:加标志变量 flag=1,用while(flag) 循环switch语句,当正确输入时,flag=1 ,跳出循

8、环。4问题:检索时只能查到第一个学生信息。解决:定义数组log(100)记录符合的结构体数组。循环打印。5问题:不能刷新界面。解决:调用system( "cls ")清屏函数。6问题:删除某项信息,返回主函数时不能暂停。解决:调用system( "PAUSE)暂停函数。六、程序源码#include ""#include ""#include ""#include ""void menu();加新的学生信息I n");printf("2.浏览所有学生信息n"

9、printf("3.检索学生信息n"printf("4.保存并退出系统n"printf("n"printf("by rlkn"printf("n"while(flag)n");um);printf("姓名:");scanf("%s”,&);printf("性别:");scanf("%s”,&stun.sex);printf("系名:");scanf("%s”,&a

10、mp;stun.xi);printf("班级名:");scanf("%s”,&stun.ban);printf("出生年月:");scanf("%s”,&stun.birth);printf("住址:");scanf("%s”,&stun.address);printf("电话号码:");scanf("%s”,&stun.tel);printf(" n");nM添加成功口请选择:1.继续添加2.返回主菜单n");n

11、+;n"); um);printf("姓名:%sn",);printf("性别:sn",stui.sex);printf("系名:%sn",stui.xi);printf("班级名:sn",stui.ban);printf(" 出生年月:%sn",stui.birth);printf("住址:sn",stui.address);printf("电话号码:%sn",stui.tel);printf(" n");

12、void scan()加新的学生信息2.返回主菜单 n"); while(flag) switch(getch()case '1':flag=0;add();break;case '2':flag=0;menu();break;default:printf("错误!请重新输入.n");else*n",n);for(i=0;i<n;i+)print(i);printf(" 请选择:1.检索信息库2.添加新的学生信息n");printf(" 3.删除所有记录4.返回主菜单n");w

13、hile(flag) switch(getch() case '1':flag=0;res();break;case '2':flag=0;add();break;case '3':flag=0;printf("n!警告:您将删除信息库所有记录!n");请选择:1.确认删除2.返回n");flag=1;while(flag) switch(getch() case 'T:flag=0;n=0;printf(" ,已删除!n");system("PAUSE");scan(

14、);break;case '2':flag=0;scan();default:printf(" 错误!请重新输入.n");break;case '4':flag=0;menu();break;default:printf(" 错误!请重新输入.n");void modify(int i)号 2.姓名 3.性别4.系名n");printf(" 5. 班级名6.出生年月7.住址8.电话号码n");printf(" n");while(flag)switch(getch() ca

15、se'1':flag=0;printf("请重新输入学号:");scanf("%s”,&stui.num);break;case'2':flag=0;printf("请重新输入姓名:");scanf("%s”,&);break;case'3':flag=0;printf("请重新输入性别:");scanf("%s”,&stui.sex);break;case'4':flag=0;printf(&quo

16、t;请重新输入系名:");scanf("%s”,&stui.xi);break;case'5':flag=0;printf("请重新 输入班级名:");scanf("%s”,&stui.ban);break;case '6':flag=0;printf("请重新输入出生年月:");scanf("%s”,&stui.birth);break;case '7':flag=0;printf(" 请重新输入住址:");scanf(&

17、quot;%s”,&stui.address);break;case '8':flag=0;printf("请重新输入电话号码:");scanf("%s”,&stui.tel);break;default:printf(" 错误!请重新输入.");printf(",修改成功!n修改后的学生信息:n");print(i);system("PAUSE");printf(" 请选择:1.继续修改此学生信息2.查看下一条相关信息3. 返回主菜单n");flag=

18、1;while(flag)switch(getch()case '1':flag=0;modify(i);break;case '2':flag=0;break;case '3':flag=0;menu();default: printf("错误!请重新输入.n");void del(int i) printf("nwhile(flag) switch(getch()case '1':2.续删除)不删除,返回主菜单n"flag=0;for(a=i;a<n-1;a+)um,stua+1.

19、num);strcpy(,stua+1.name);strcpy(stua.sex,stua+1.sex);strcpy(stua.xi,stua+1.xi);strcpy(stua.ban,stua+1.ban);strcpy(stua.birth,stua+1.birth);strcpy(stua.address,stua+1.address);strcpy(stua.tel,stua+1.tel);n-;printf(",删除成功!n");;menu();n");void res_num()续查找2.返回主菜单n");um,xh)

20、while(flag)switch(getch()case '1':flag=0;res();break;case '2':flag=0;menu();break;default:printf(" 错误!请重新输入.n");elseprintf("n 在信息库中共找到舔相关信息.n",j);for(i=0;i<j;i+)flag=1;printf("n第族 n”,i+1);print(logi);printf("n*n");请选择:1.修改此学生信息2.删除此学生信息n");p

21、rintf(" 3.继续查找下一条4.返回主菜单n");while(flag)switch(getch()case '1':flag=0;modify(logi);break;case '2':flag=0;del(logi);break;case '3':flag=0;break;case '4':flag=0;menu();break;default:printf(" 错误!请重新输入.n");printf("n已到最后一条相关信息.n");system("

22、PAUSE");menu();void res_name()ame,mz)续查找2.返回主菜单n");while(flag) switch(getch() case '1':flag=0;res();break;case '2':flag=0;menu();break; default:printf(" 错误!请重新输入.n"); else printf("n在信息库中共找到舔相关信息.n",j);for(i=0;i<j;i+) flag=1;printf("n第族 n”,i+1);pr

23、int(logi);printf("n*n");请选择:1.修改此学生信息2.删除此学生信息n");printf(" 3.继续查找下一条4.返回主菜单n");while(flag) switch(getch() case '1':flag=0;modify(logi);break;case '2':flag=0;del(logi);break;case '3':flag=0;break;case '4':flag=0;menu();break; default:printf(" 错误!请重新输入.n");.n"); n已到最后一条相关信息 system("PAUSE"); menu();void res()学号检索 n");printf("2.按姓

温馨提示

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

最新文档

评论

0/150

提交评论