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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

学生信息管理系统实验报告文档格式.docx

1、 char name20; char sex5; struct date birthday; int score; struct student *next; 其中 struct date birthday;又借用struct date;结构体的成员:int year; int month; int day;以此来实现学生学号、姓名、性别、出生日期、成绩等信息的存储于处理。 模块二:ListCreate函数,函数类型为:struct student 形参:struct student *head struct student *p 返回值:head指针。实现链表的建立功能。 模块三:ListI

2、nsert函数, 函数类型为:实现链表节点的插入功能。 模块四:ListDelete函数, 函数类型为:实现链表节点的删除功能。模块五:ListPrint函数, 函数类型为:void 形参:struct student *head 返回值:无实现链表各节点信息的输出功能。模块六:ListFind函数, 函数类型为:struct student *head int id 返回值:无 。遍历链表,查找出符合条件的链表节点,并打印输出。模块七:void main();主函数,测试数据,测试链表各节点(学生基本信息)的输出、插入、删除、查找功能。3、编程思路一:数据类型: 1.考虑到学生个人信息包含学

3、号、姓名、性别、出生日期、成绩等信息。因此采用结构体类型,定义学生个人信息结构体,并定义学生学号、姓名、性别、出生日期、成绩等数据成员。2.考虑到要实现多个学生个人信息的管理,可采用结构体数组与链表。但是由于要对多个学生信息进行信息的插入、删除、查找等操作。显然结构体数组很难实现以上操作,因此选用链表。二:存储结构: 选用链表之后,考虑其存储结构,由于要实现信息的插入、删除、查找等功能,显然动态链表更适合。相应的以链式存储结构来存储数据。三:功能的实现学生信息的插入功能的实现:在动态链表中要实现节点数据的插入,只要灵活的改变头一个节点的next指针使它指向要插入节点的当前指针,并使要插入接点的

4、next指针指向要插入位置的下一个节点的当前指针即可,当然要对插入的位置进行分情况讨论,如是插在表头,表中还是表未。另外还应当注意的是在插入前,要考虑下呆插入链表是否为空。学生信息的删除功能的实现:动态链表中节点数据的删除操作与插入操作思路大体相同,主要思路还是改变指针的指向来实现这一功能。删除位置同样要分情况讨论,当然也要提前考虑链表是否为空,若为空应当给出“当前链表为空”的相应应答。另外还要考虑要删除的节点不在链表中的情况,这种情况下,要报错。 学生信息的查找功能的实现:要查找某个符合一定要求的学生信息,如学号为:1001。只要遍历链表,打印输出符合条件的学生信息即可。当然也要考虑要查找的

5、信息不在链表中的情况,这是系统要报错。4、总体设计(附类图) 系统的总体设计要考虑到界面友好性,程序的时间复杂度、空间复杂度,以及程序的健壮性等性能指标。本系统在设计过程中,充分分析考虑了多种可能发生的情况。并对一些可能会导致系统崩溃的细节问题做了进一步处理。如在删除学生信息时考虑了表为空的情况等。 总体设计步骤:1. 数据结构与存储结构的选择。2. 数据的输入处理。3. 程序功能的实现,功能函数的声明与定义。4. 主函数的定义,在编写主函数时,要求主函数要尽可能的考虑到功能函数的各种极端情况,以便能得出合理的测试结果。5. 程序运行测试。这一过程中,测试案例的选择尤为重要,选择的案例要有带表

6、性,同时要考虑一些极端案例。6. 程序的调试与进步完善。5、关键技术说明(动态链表、指针、思想) 本系统运用的关键技术是动态链表。动态链表在初始时必须分配足够的空间, 也就是空间大小是静态的, 在进行插入和删除时则不需要移动元素, 修改指针域即可,所以仍然具有链表的主要优点,链表结构可以是动态地分配存储的,即在需要时才开辟结点的存储空间,实现动态链接。 要点包括:1. 动态链表的建立。2. 链表节点的插入与删除。3. 动态链表的遍历。6、源代码#include string.hmalloc.hstruct date int year;struct student int studentId;s

7、truct student *ListCreate(int n) struct student *head=NULL,*curpt,*prept; int i; for(i=1;istudentId);请输入学生姓名:%s,curpt-name);getchar();请输入学生性别:sex);请输入学生成绩:score); curpt-next=NULL; if(i=1) head=curpt; else prept-next=curpt; prept=curpt; return head;struct student *ListInsert(struct student *head,stru

8、ct student *p) struct student *curpt,*prept; if(head=NULL) head=p; p- curpt=head; while(curpt!=NULL&studentIdstudentId) curpt=curpt-next; if(curpt!=NULL) if(curpt=head)next=head;next=p;struct student *ListDelete(struct student *head,int id)原表为空! return NULL;studentId!=id) head=curpt- free(curpt);nex

9、t=curpt-学号为%d的学生已被成功删除n,id);学号为%d的学生不存在nvoid ListPrint(struct student *head) struct student *p=head; while(p! /* printf(输出学生学号:%dn,p-输出学生姓名:%sn输出学生性别:输出学生成绩:*/学号:%d姓名:%s性别:%s分数 %dnstudentId,p-name,p-sex,p- p=p-void ListFind(struct student *head,int id) if(p-studentId)=id) break; p=p-void main() stru

10、ct student *head,*p; int n,v,k,m;+-+n| |n| 学生信息管理系统 |n请输入学生人数:n); head=ListCreate(n);原链表为: ListPrint(head);请输入要查找的学号:v); ListFind(head,v); p=(struct student *)malloc(sizeof(struct student);请输入要插入学生的信息:%d%s%s%dp-sex,& head=ListInsert(head,p);输出插入节点之后的链表:请输入要删除的学生的学号:k); head=ListDelete(head,k);输出删除节点后的链表:m); ListFind(head,m);7、测试(主界面及各功能模块的运行图及说明)(1)输入的主界面:(2)输出学生的信息:(3)查找功能的实现:(4)增加功能的实现:(5)排序功能的实现:(6)删除功能的实现:8、系统评价及展望因学生信息管理系统需要构造出增加功能,所以本系统给出以链表的形式进行解决问题,避免了数组对数据的局限性,采用结构体、链表等知识解决了关于学生信息如:姓名、学号、性别、成绩等信息的管理,实现了增、删、减、查等基本操作。若能更好的利用库的输入输出等知识该程序将会进展地更好。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2