ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:223.46KB ,
资源ID:3827018      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3827018.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生信息管理系统课程设计实验报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生信息管理系统课程设计实验报告.docx

1、学生信息管理系统课程设计实验报告*大学 课 程 设 计 报 告 课程名称 高级语言程序设计 设计题目 学生信息管理系统 专 业 计算机科学与技术 班 级 学 号 姓 名 完成日期 课 程 设 计 任 务 书设计题目: 学生信息管理系统设计 设计内容与要求:内容:对学生信息进行管理,学生信息包括学号、姓名、性别、年龄、学历、学号、住址、电话等(学号不重复)。要求:(1) 系统以菜单方式工作(2) 学生信息录入功能(学生信息用文件保存) 。(3) 输出学生信息、浏览学生信息功能。(4) 查询和排序功能:(至少一种查询方式) ,如按学号查询、按学历查询等。(5) 学生信息删除、修改功能(任选项)。

2、指导教师:_ 年 月 日课 程 设 计 评 语 成绩: 指导教师:_ 年 月 日【问题描述】 学生信息管理软件设计。对学生信息进行管理,学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一个学生信息管理软件。【基本要求】一、输入的形式和输入值的范围形式:用scanf输入学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail。输入一个学生信息一个回车。用输入的学号p1-num来控制输入,当输入的学号为0时,用break跳出循环。即if(p1-num=0)break。输入值的范围:学号、年龄为整型 long num; int age; 姓名为字符串型15个

3、字节char name15; 性别为字符串型,10个字节char sex10; 出生为字符串型,20个字节char chushen20; 地址为字符串型,30个字节char dizhi30;邮箱为字符串型,输入11位数字char email11。二、输出的形式输出是以表格的形式输出,即表格的每一行都能显示第一个学生的信息,第二行是显示第二个学生的信息。三、程序所能达到的功能对学生信息进行管理,学生信息包括职学号,姓名,年龄,性别,出生年月,地址,电话,E-mail。(1)系统以菜单方式工作(2)学生信息录入功能。(3)输出学生信息、浏览学生信息功能。(4)查询和排序功能:(至少一种查询方式),

4、如按学号查询、按姓名查询等。(5)学生信息删除、修改功能(任选项)。(6)添加学生信息。【测试数据】输入:设输入四个学生信息,以最后一个学生的学号为0来结束输入,学号是整型。预期的输出结果:预期的输出结果请参见程序后的运行结果。【数据结构】排序记录的数据元素表采用一维数组存储结构,每个元素包含8个关键字段,其类型描述为:#include #include p2-next=p1;p2=p1;学号控制循环。三、排序函数:void paixu(struct student *head)用一个for语句做循环,不是NULL的话,指针指向下一个,按学生学号高低排序。整形直接交换,字符型用strcpy交换

5、,类型相当于两个数据之间的交换。四、输出函数:void printlist(struct student *head) 在主函数里边用while控制循环,输出学生信息,然后指针指向下一个。5、查询函数:void findList_num(struct student *head) 和void findList_num(struct student *head)输入一个学号或姓名,做一个for循环,即指针pt指向第一个地址,再定义一个指针p1,让它等于pt,他是紧跟着pt后面的一个指针,让p1-next不等于NULL,pt指向下一个地址。这样就能修改最后一个学生信息了。如果要查询的学生的学号在学

6、生里,就输出该学生信息,否则,就输出查询的学生信息不存在。六、删除函数:int shanchu(struct student *head)输入一个学号,先找到这个学生的信息。如果输入的学号在学生信息中,就进行以下循环:如果输入的是第一个学生的话,就head等于第二个学生信息;如果输入的学生信息是最后一个,就让倒数第二个等于NULL;否则的话,就让下一个学生信息覆盖前一个。如果输入的学号不在学生信息中,输出“此学生信息不存在”。七、修改函数:struct student *delList(struct student *head,long del_num)输入要修改的学号,找到该学生并且输出该学

7、生的信息。然后屏幕上会出现学生信息的所有项目,用switch进行选择修改的项目。选择后输入新的学生信息,用它来覆盖原来的学生信息。八、添加函数:void insert(struct student *head) 用一个while语句while(p2-next!=NULL)控制循环,p2的指针指向下一个地址,即p2=p2-next;这是找到最后一个地址,然后开辟动态存储区,p1=(struct student *)malloc(len);输入要添加的学号,用学号为0来终止循环,如果不为0,就继续输入学生信息。【源程序】#include #include 开程序,进入主菜单,“学生信息管理系统”,

8、包括七项功能,(1)输入学生信息,以输入学号位0结束;(2)浏览学生信息;(3)按学生好号或姓名查询学生信息;(4)按学号删除学生信息;(5)按学号找出要修改的学生信息,再修改该学生信息;(6)添加学生信息;(8)退出系统。 图1-2菜单2.选择(1),输入四个学生信息,输入的学号为0结束输入。如图1-3。 图1-3输入3.选择功能(2)浏览学生信息,如1-4。 1-4浏览学生信息 4.选择功能(3),进行查询学生信息,如下图,查找的是学号为12的学生信息。同时要查找的学生信息不在学生表中,就会输出“学生信息不存在”。 1-5查找学生信息5.选择功能(4),进行删除功能,如下图,输入要删除的学

9、号为14,再选择功能(2),查看是否删除掉,同时,如果要删除的学生信息不在学生表中,就输出“此学生信息不存在”。如下图1-6。 图1-6删除学生信息6.选择功能(5),添加学生信息,输入学生信息,以输入的学号为0结束输入,再选择功能(2)进行浏览,查看添加的学生信息是否添加上,如下图1-7。 图1-7添加学生信息7.选择功能(6),修改学生信息,输入要修改学生学号,以输入的学号为12为例,再选择功能(2)进行浏览,查看添加的学生信息是否添加上,修改前如下图1-8,修改后如图1-9。 图1-8查找修改学生信息 图1-9修改后的学生信息8.选择0,退出系统。 图1-10退出系统【心得体会】在这次实

10、训报告期间,因为在以前的实验报告十二用的结构体和链表不是很熟悉,所以对这次实训有点陌生,也有以前做过的函数问题,但还是有一些不是很清楚的问题,所以又重新做了一遍,把一些以前不明白的问题弄会了,有一些没有接触过的函数,虽说不是很难,但要调出来可能半天也调不出来,这时,再扣下去,也不可能出结果。可能是一些理解的方式有误,于是我就通过在网上查询,或者让同学或让是帮着看一看,就会发现问题。主函数:由于这次我做的是学生信息管理系统,被调用的函数比较多,在以前的实验报告中就用了一个菜单,但是像这次这么多的程序,用一个肯定不方便使用,因为使用者不知道我设计的程序都是干什么用的,使用起来不方便。所以,我给菜单

11、做了一个循环,这样,使用者每用完一个程序,就会出现一个菜单,供使用者方便使用。同时,我又用了一个清屏功能,就是每执行完一个程序,就会提示使用清屏函数,把上面的屏幕清空,进入主菜单。查询函数:在做查询函数的时候,由于以前没有写过这样的函数,使得我刚开始就陷入了困难当中,但是我没有就此放弃对程序的编写与调试,我通过在网上查找一些类似的程序和讲解我对这个功能有了初步的了解,调了很长时间,终于调试了出来,用到for(pt=head,p1=pt;p1-next!=NULL;p1=pt,pt=pt-next)进行循环。这样能运行了,再定义一个指针变量p1,它是紧跟着pt后面的,这样pt查询不到,p1就可以

12、查到。删除函数:我设计的这个函数是按学号来删除学生信息的。先判断输入的学号是否在学生信息表中,如果不在就输出“此学生信息不存在”,如果在就进行一下三个判断:(1)如果要删除的学生是第一个学生,就让第二个学生的地址等于head;(2)如果要删除的学生是最后一个学生,就让倒数第二个学生的覆盖最后一个;(3)如果输入的学生不是以上两种情况,就让下一个学生的地址覆盖前一个学生的。修改函数:先按学号来找出该学生的信息,然后屏幕上就会出现学生信息的选项,然后用switch语句实现多支选择结构,进行选择,再输入新的学生信息,来覆盖原来的学生信息。输入的学生信息以输入的学号为0结束。添加函数:在添加函数里,我

13、先是调用查找函数,找到要添加的位置,然后再调用添加函数进行添加,期间用for语句做一个循环,让指针指向最后一个学生信息,然后再添加新的学生信息。在做这个学生信息管理系统的这段时间,真的学会了很多,编程不仅仅是要编程者明白其中的用法,更主要的是要使用者明白,对于大多数人更加使用,所以,在这个管理系统真的让我学会了很多,也知道了以前我根本想不到的一些问题,让我在做这些程序的时候更加周密、严谨。在这期间,高兴过,同时也失落过。做出了一个函数真的真的是很高兴,因为那时自己的果实,但如果一时陷入问题当中又很苦恼,真的是很失落,甚至对它失去信息。现在我真的认识到了c语言的渊博,以前我们只是敲一些非常简单的程序,现在我们都可以设计一个管理系统了,而且它都是有以前那些小程序的基础。真的需要好好去学习,值得去探索。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1