




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计课程设计报告学生籍贯信息记录簿专业 计算机科学与技术学生姓名冯晨班级B计算机114学号1110704403指导教师张静林完成日期2012年6月一 课程设计的目的-2二 设计内容与要求-2三 主要技术指标及特点-2 3.0 信息描述(注:用流程图表示)-3 3.1主要实现代码-31. 主函数-32. 输入函数-43. 编辑函数接口-54. 总查询函数-8四 小结-9五 程序代码-10六 参考文献-14一.课程设计的目的1. 加深对C语言程序设计课程知识的理解,掌握C语言应用程序的开发方法和步骤; 2. 进一步掌握和利用C语言进行课程设计的能力;3. 进一步理解和运用结构化程序设计的思想和
2、方法;4. 初步掌握开发一个小型实用系统的基本方法;5. 学会调试一个较长的程序的基本方法;6. 学会利用流程图或N-S图表示算法;7. 掌握书写课程设计开发文档的能力(书写课程报告)。二设计内容与要求 编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能要求如下: 1创建信息链表并以磁盘文件保存;2读取磁盘文件并显示输出所有学生的籍贯信息;3按学号或姓名查询其籍贯;4按籍贯查询并输出该籍贯的所有学生;5能添加、删除和修改学生的籍贯信息;6显示输出江苏籍和非江苏籍学生的信息并可分别存盘。三主要技术指标及特点3.0 信息描述(注:用流程图表示)籍贯信息记录簿建立链表录入信息显
3、示信息查询信息编辑信息分类管理主函数添加信息删除信息修改信息3.1主要实现代码1. 主函数void main()struct student *head;int a;for(a=5;a!=0;)printf(n 欢迎使用籍贯管理系统!n);printf(nn 操作菜单n);printf( 0:退出此系统n);printf( 1:录入学生信息n);printf( 2:显示学生信息n);printf( 3:查询学生信息n);printf( 4:编辑学生信息n);printf(nnnn 请选择您需要操作选项的数字:);scanf(%d,&a);system(cls);switch(a) case 0
4、:printf(nnnnn 谢谢您使用此系统,欢迎下次使用!nnnnn);break; case 1:head=creat();break; case 2:loadf();break; case 3:search(head);break; case 4:head=manage(head);break; default :printf(选择错误,请重新选择!);break;按照主菜单的显示,录入信息。2. 输入函数-struct student *creat()struct student *head,*p1,*p2;char ch;system(cls);p1=p2=(struct stude
5、nt *)malloc(sizeof(struct student);printf(n 欢迎使用籍贯管理系统! printf(nn请输入一个学生的学号,姓名,籍贯。n);printf(n注示:如果录入完成请输入0 0 0退出n);scanf( %ld%s%s,&p1-num,p1-name,p1-jg);head=NULL;while(p1-num!=0)/学号是否为零,为零结束此循环n=n+1;if(n=1) head=p1;else p2-next=p1;p2=p1;p1=(struct student *)malloc(sizeof(struct student);scanf( %ld%
6、s%s,&p1-num,p1-name,p1-jg);p2-next=NULL;free(p1);printf(录入已完成,是否保存(Y/N)?);scanf(%c,&ch);scanf(%c,&ch);if(ch=y|ch=Y) save(head);print(head);return(head);按照信息提示输入学生的信息。保存信息,输入文件的名称。自动显示已存储的信息。自动返回主菜单,并按照提示进行查询信息3. 编辑函数接口struct student* inman(struct student*head)char ch;int a=4;long num;char name20;cha
7、r jiguan20;struct student *p1;printf(请输入要查找所要进行操作学生的信息.n);printf( 0:返回上级菜单n);printf( 1:输入其学号n);printf( 2:输入其姓名n);printf( 3:输入其籍贯n);scanf(%d,&a);system(cls);switch(a) case 0:p1=NULL; break; case 1:printf(请输入想要查进行操作学生的学号:n); scanf(%ld,&num); for(p1=head;p1!=NULL;p1=p1-next) if(num=p1-num) printf(%ldt%
8、stt%sn,p1-num,p1-name,p1-jg); printf(这是您想要查找的信息吗?n); printf(Y/Nn); scanf(%c,&ch); scanf(%c,&ch); if(ch=Y|ch=y) break; break; case 2:printf(请输入想要进行操作想要学生的姓名:n);scanf(%s,name);for(p1=head;p1!=NULL;p1=p1-next)if(strcmp(name,p1-name)=0) printf(%ldt%stt%sn,p1-num,p1-name,p1-jg); printf(这是您想要查找的信息吗?n); pr
9、intf(Y/Nn); scanf(%c,&ch); scanf(%c,&ch);if(ch=Y|ch=y)break;break; case 3:printf(请输入想要进行操作学生的籍贯:n); scanf(%s,jiguan);for(p1=head;p1!=NULL;p1=p1-next) if(strcmp(jiguan,p1-jg)=0) printf(%ldt%stt%sn,p1-num,p1-name,p1-jg); printf(这是您想要查找的信息吗?n); printf(Y/Nn); scanf(%c,&ch); scanf(%c,&ch);if(ch=Y|ch=y)br
10、eak;break; default:printf(选择错误,请从新选择!n);p1=NULL;break;if(p1=NULL) printf(这是全部的信息!n);return p1;按照提示选择按照籍贯查询方式进行查询。显示查询结果。按照提示选择0选项返回上级菜单。按照菜单继续以下操作进行删除操作。选择按照姓名删除操作。按照提示输入要删除的信息的学生姓名。提示信息是否是您想查询的信息。提示保存信息。输入要保存文件的名称。显示已删除后剩余的信息。4. 总查询函数void search(struct student*head) int a=4; system(cls); for(;a!=0;
11、) printf(n 欢迎使用籍贯管理系统!n); printf(n 查询信息的方式如下n); printf( 0:返回上级菜单n); printf( 1:按学号查询n); printf( 2:按姓名查询n); printf( 3:按籍贯查询n); printf(nn 请选择您需要操作选项的数字:); scanf(%d,&a);system(cls); switch(a)case 0:printf(谢谢您使用此系统,欢迎下次使用!n); break; case 1:xsearch(head);break; case 2:nsearch(head);break; case 3:jsearch(h
12、ead);break; default:printf(选择错误,请重新选择!n);break; 自动返回主菜单。选择0选项,退出该程序。总结通过两周的c课程设计的学习,在辅导老师的耐心辅导解答下,终于将此课程设计圆满完成。 在这个编程过程中曾经我想放弃过,因为实在太复杂,但是最终我还是说服了自己坚持了下来,看到自己最后的作业,虽然不是很优秀,但是还是很自豪。在编写的过程中,发现其实里面还是充满乐趣的,一旦真的研究下去什么事情都可以放下,来认真研究。在此学习当中我对c语言这门课程更加理解透彻,融会贯通了。 无论什么样的问题,只要和同学互相讨论,向老师讨教都能迎刃而解。在程序设计阶段,与同学之间的
13、交流和沟通是十分重要的。有问题到家一起讨论,说自己的想法,经过大家的交流,很容易解决问题同时也会发现新的问题,大家交换意见共同进步,我想每个人都会有不同的收获。在这收获的过程中老师的谆谆教导,给了我很大的帮助,遇到解决不了的问题第一时间问老师是最好的选择。无论什么样的问题他们都耐心的倾听,详细的讲解,从来都仔细认真,尽可能的帮助我们把问题搞懂,同时也会适当的帮助我们进一步理解c语言的基础能容,让我们在理解的基础上,编写出正确规范的程序。不单单把程序的问题解决,同时也掌握相应的知识点,真是受益匪浅。 我相信在以后的学习过程中我会更加的努力学习了。五 程序代码程序中主要程序代码段如下:void m
14、ain()struct student *head;int a;for(a=5;a!=0;)printf(n 欢迎使用籍贯管理系统!n);printf(nn 操作菜单n);printf( 0:退出此系统n);printf( 1:录入学生信息n);printf( 2:显示学生信息n);printf( 3:查询学生信息n);printf( 4:编辑学生信息n);printf(nnnn 请选择您需要操作选项的数字:);scanf(%d,&a);system(cls);switch(a) case 0:printf(nnnnn 谢谢您使用此系统,欢迎下次使用!nnnnn);break; case 1:
15、head=creat();break; case 2:loadf();break; case 3:search(head);break; case 4:head=manage(head);break; default :printf(选择错误,请重新选择!);break;struct student *creat()struct student *head,*p1,*p2;char ch;system(cls);p1=p2=(struct student *)malloc(sizeof(struct student);printf(n 欢迎使用籍贯管理系统! printf(nn请输入一个学生的
16、学号,姓名,籍贯。n);printf(n注示:如果录入完成请输入0 0 0退出n);scanf( %ld%s%s,&p1-num,p1-name,p1-jg);head=NULL;while(p1-num!=0)/学号是否为零,为零结束此循环n=n+1;if(n=1) head=p1;else p2-next=p1;p2=p1;p1=(struct student *)malloc(sizeof(struct student);scanf( %ld%s%s,&p1-num,p1-name,p1-jg);p2-next=NULL;free(p1);printf(录入已完成,是否保存(Y/N)?)
17、;scanf(%c,&ch);scanf(%c,&ch);if(ch=y|ch=Y) save(head);print(head);return(head);struct student* inman(struct student*head)char ch;int a=4;long num;char name20;char jiguan20;struct student *p1;printf(请输入要查找所要进行操作学生的信息.n);printf( 0:返回上级菜单n);printf( 1:输入其学号n);printf( 2:输入其姓名n);printf( 3:输入其籍贯n);scanf(%d
18、,&a);system(cls);switch(a) case 0:p1=NULL; break; case 1:printf(请输入想要查进行操作学生的学号:n); scanf(%ld,&num); for(p1=head;p1!=NULL;p1=p1-next) if(num=p1-num) printf(%ldt%stt%sn,p1-num,p1-name,p1-jg); printf(这是您想要查找的信息吗?n); printf(Y/Nn); scanf(%c,&ch); scanf(%c,&ch); if(ch=Y|ch=y) break; break; case 2:printf(
19、请输入想要进行操作想要学生的姓名:n);scanf(%s,name);for(p1=head;p1!=NULL;p1=p1-next)if(strcmp(name,p1-name)=0) printf(%ldt%stt%sn,p1-num,p1-name,p1-jg); printf(这是您想要查找的信息吗?n); printf(Y/Nn); scanf(%c,&ch); scanf(%c,&ch);if(ch=Y|ch=y)break;break; case 3:printf(请输入想要进行操作学生的籍贯:n); scanf(%s,jiguan);for(p1=head;p1!=NULL;p1=p1-next) if(strcmp(jiguan,p1-jg)=0) printf(%ldt%stt%sn,p1-num,p1-name,p1-jg); printf(这是您想要查找的信息吗?n); pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 土地承包租赁合同范本
- 展馆装饰工程合同范本
- 烟管改造工程合同范本
- 贷款委托费合同范本
- 购买口罩简易合同范本
- 住房施工合同范本
- 南瓜种植收购合同范本
- 动漫城转让合同范例
- 叉车买卖服务合同范例
- 关于买房买卖合同范例
- 高考英语一轮复习-名词性从句之同位语从句课件
- 济南版生物八年级上册 第四章第三节 人类染色体与性别决定课件
- 2024年项目投资居间服务协议合同
- 8 匆匆 说课课件
- 2024至2030年中国植保无人机行业深度调研及投资前景预测报告(上下卷)
- 部编版二年级下册语文1-8单元基础过关训练
- 中华文明史(山东联盟)智慧树知到答案2024年青岛理工大学
- 数据治理与数据中台建设方案
- 银证电话自动转帐协议书(三)
- 钢结构工程施工计算书及相关图纸
- 国开2024年《化工单元操作技术》形考作业1-4试题
评论
0/150
提交评论