郑州大学C语言课程设计.doc

上传人:飞****2 文档编号:61378083 上传时间:2022-11-21 格式:DOC 页数:16 大小:47KB
返回 下载 相关 举报
郑州大学C语言课程设计.doc_第1页
第1页 / 共16页
郑州大学C语言课程设计.doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《郑州大学C语言课程设计.doc》由会员分享,可在线阅读,更多相关《郑州大学C语言课程设计.doc(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、学生个人信息管理负责人:* 学号:* 日期: 2011.08.301.设计目的:学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:1. 系统以菜单方式工作2. 学生信息录入功能-输入3. 学生信息浏览功能-输出4. 查询、排序功能-算法按学号查询按姓名查询5. 学生信息的删除与修改(可选项)2. 详细设计: void look():声明查看函数void save():声明保存函数void search_name(): 声明按姓名查看函数void search_number():声明按学号查看函数void

2、 order():声明排序函数void del():声明删除函数int openl():声明打开函数void welcome():声明我的个人信息函数void type():声明输入函数void see():声明打开并查看文件函数3.程序运行1.通过printf函数进入主菜单结束键入学生信息查看录入学生信息按姓名查询学生信息按学号查询学生信息删除学生信息保存学生信息打开文件我的个人信息开始 2. 按相应的数字提示完成你想进行的操作,例如,输入选择8,效果如下:3.程序源代码如下:void personal_bao(num4 personal,int personalcount) int i=0

3、;FILE *fp; /*定义文件指针*/char filename100; /*定义文件名*/ printf(t输入文件名(如d:tet.txt):); /*输入文件名*/scanf(t%s,&filename);if(fp=fopen(filename,w)=NULL) /*打开文件*/printf(t无法打开该文件n);system(pause);return;fprintf(fp,%dn,personalcount); /*循环写入数据*/while(ipersonalcount) fprintf(fp,%-10s%-10s%-10s%-10s%-10s%-10s%-10s%-10s%

4、-10s%-10sn,personali.studentID,personali.name,personali.sex,personali.year,personali.month,personali.day,personali.tel,personali.addr,personali.email,personali.nationality); i+;i+;fclose(fp); /*关闭文件*/printf(写入成功!n); /*返回成功信息*/*学生个人信息-9. 从你的文件中读入所有的学生信息 */int personal_qu(num4 personal,int personalcou

5、nt) /*从文件中读入数据*/ int i=0,num; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ printf(t输入文件名(如d:tet.txt):); scanf(t%s,&filename); /*输入文件名*/ if(fp=fopen(filename,r)=NULL) /*打开文件*/ printf(t无法打开该文件n); /*打开失败信息*/ printf(t); system(pause); return(personalcount); fscanf(fp,%d,&num); /*读入总记录量*/ while(inum)

6、/*循环读入数据*/ fscanf(fp,%-10s%-10s%-10s%-10s%-10s%-10s%-10s%-10s%-10s%-10sn,personali.studentID,personali.name,personali.sex,personali.year,personali.month,personali.day,personali.tel,personali.addr,personali.email,personali.nationality); i+;i=i+1; personalcount+=num; fclose(fp); /*关闭文件*/ printf(t读入成功!

7、n);printf(t);return(personalcount);/*学生个人信息- 我的个人信息函数*/void welcome() /*我的个人信息函数*/ system(CLS); printf(nntt-个人信息-); /*在屏幕上输出一下信息*/ printf(nnnntt姓名:*); printf(tttSex:女n);printf(tt年龄:18n);printf(nttt-学习经历-nnn); printf(tt小学:五小nn); printf(tt初中:二中nn); printf(ttS高中:高中nn); printf(tt大学:郑州大学nn);printf(nntt按任

8、意键返回欢迎屏幕!);getch(); /*按任意键返回主函数*/*学生个人信息- 录入学生信息*/ int type( num4 personal,int personalcount) /*定义键入学生信息函数*/ system(CLS); int i=0; /*定义局部变量*/ char sign,x10; /*x10为清除多余的数据所用*/ while(sign!=n&sign!=N) printf(nttt-n); printf(ttt学号:); scanf(%s,personali.studentID); /*输入学号*/ printf(ttt姓名:); scanf(%s,perso

9、nali.name); /*输入姓名*/printf(ttt性别:); scanf(%s,personali.sex); /*输入性别*/ printf(ttt出生日期:); scanf(%s%s%s,personali.year,personali.month,personali.day); /*出生日期*/ printf(ttt电话:); scanf(%ld,personali.tel); /*输入电话*/ printf(ttt地址:); scanf(%s,personali.addr); /*输入地址*/ printf(ttt电子信箱:); scanf(%s,personali.emai

10、l); /*输入电子信箱*/ printf(ttt民族:); scanf(%s,personali.nationality); /*输入民族*/ gets(x); /*清除多余的输入*/ printf(t是否继续输入?(Y/N);scanf(t%c,&sign); /*输入判断*/i+; /*结构体数组下标加一*/ printf(nnttt按任意键返回菜单!); return (personalcount+i);/*学生个人信息- 定义查看信息*/ void look(num4 personal,int personalcount) /*定义查看函数*/ system(CLS); int i;

11、 /n=openl(); /*调用openl函数*/printf(t学号t姓名t性别t出生日期t电话t地址t电子信箱t民族n); for(i=0;ipersonalcount;i+) /*输出所有的学生信息*/ printf(%10st%st%2st%st%st%st%st%st%st%sn,personali.studentID,personali.name,personali.sex,personali.year,personali.month,personali.day,personali.tel,personali.addr,personali.email,personali.nati

12、onality); printf(nnnttt按任意键返回菜单); getch();getch();/*学生个人信息- 按姓名查看*/ void personal_search_name(num4 personal,int personalcount) /*按姓名查看函数*/ system(CLS); int i,m=0; char name20; /*声明字符数组*/ printf(ttt请输入学生姓名:n); scanf(%s,name); for(i=0;ipersonalcount;i+) if(strcmp(personali.name,name)=0) /*将输入的姓名与结构体中的

13、姓名进行比较*/ printf(t学号t姓名t性别t出生日期t电话t地址t电子信箱t民族n); printf(%10st%st%2st%st%st%st%st%st%st%sn,personali.studentID,personali.name,personali.sex,personali.year,personali.month,personali.day,personali.tel,personali.addr,personali.email,personali.nationality); printf(nnnttt按任意键返回菜单); if(m=0)printf(t无此人!); ge

14、tch(); getch();/*学生个人信息-按学号查看*/ void personal_search_studentID(num4 personal,int personalcount) /*定义按学号查看函数*/ system(CLS); int i,m=0; char studentID15; /*声明字符数组*/ printf(ttt请输入学号:n);scanf(%s,studentID); printf(t学号t姓名t性别t出生日期t电话t地址t电子信箱t民族n); for(i=0;ipersonalcount;i+) if(strcmp(personali.studentID,s

15、tudentID)=0) /*将输入的姓名与结构体中的姓名进行比较*/ printf(%10st%st%2st%st%st%st%st%st%st%sn,personali.studentID,personali.name,personali.sex,personali.year,personali.month,personali.day,personali.tel,personali.addr,personali.email,personali.nationality);printf(nnnttt按任意键返回菜单);if(m=0)printf(t无此人!);getch(); getch();

16、/*学生个人信息-按删除学生信息查看*/int personal_del(num4 personal,int personalcount) /*定义删除学生信息函数*/ int i; char a; char name20; system(CLS); printf(ttt输入学生名字:n); scanf(%s,name); system(CLS);printf(t学号t姓名t性别t出生日期t电话t地址t电子信箱t民族n); for(i=0;ipersonalcount;i+) if(strcmp(personali.name,name)=0) printf(%10st%st%2st%st%st

17、%st%st%st%st%sn,personali.studentID,personali.name,personali.sex,personali.year,personali.month,personali.day,personali.tel,personali.addr,personali.email,personali.nationality); getch(); printf(真的删除?(y or n); getchar(); scanf(%c,&a); if(a=y) /*是否删除该信息*/ for(;ipersonalcount;i+) personali=personali+1

18、; personalcount=personalcount-1; printf(你已经删除信息); return personalcount; else printf(退出);getch(); /*学生个人信息-个人信息主菜单*/ int personal_main(num4 personal,int personalcount) int b,flag=0; /*声明局部变量*/ while(1) /*循环输出以下信息*/ printf(nttt欢迎来到学生信息管理系统!n); printf(ntttt *制作n); printf(ttt-n); printf(ttt1.键入学生的信息nn);

19、 /*键入学生的信息*/ printf(ttt2.查看录入的学生信息nn); /*查看录入的学生信息*/ printf(ttt3.按姓名查看学生的信息nn); /*按姓名查看学生的信息*/ printf(ttt4.按学号查看学生的信息nn); /*按学号查看学生的信息*/ printf(ttt5.删除学生信息nn); /*删除学生信息*/ printf(ttt6.保存学生信息nn); /*保存*/ printf(ttt7.打开文件nn); /*打开文件*/ printf(ttt8.我的个人信息nn); /*我的个人信息*/ printf(ttt0.退出nn); /*退出*/ printf(tt

20、t请输入你的选择:); scanf(%d,&b); switch(b); case 1:personalcount=type( personal,personalcount);break; /*调用键入学生信息函数*/ case 2:look(personal,personalcount);break; /*调用查看函数*/ case 3:personal_search_name(personal,personalcount);break; /*调用姓名查看函数*/ case 4:personal_search_studentID(personal,personalcount);break;

21、/*调用学号查看函数*/ case 5:personalcount=personal_del(personal,personalcount);break;/*调用删除函数*/ case 6:personal_bao( personal, personalcount);break; /*保存*/ case 7:personalcount=personal_qu( personal, personalcount);break;/*取出*/ case 8:welcome();break;/*调用我的个人信息函数*/ case 0:flag=1;break;/*退出SWITCH语句*/ default

22、 :printf(错误!); if(flag) break; /*如果选择0就退出循环*/ return personalcount; 6.实验心得:1)对C语言的编程实践有所认识。2)在遇到程序调试不通过时,会通过缩小范围的分析来锁定问题所在。3)通过这次实验,熟悉了从自然语言转换成伪代码再转换为流程图的过程。4)在程序中设定合适的全局变量,可以简化程序的编写难度。5)运用函数可以减少编写时的代码量,也使程序条理清晰。6)通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。随着实验的成功与报告的完成,有点微微的成就感使人难忘。伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。7)对C语言的学习,我会加倍努力。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com