| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3834 人关注过本帖
标题:[求助]"利用单向链表实现简单的学生信息管理"是什么意思
只看楼主 加入收藏
rqwd
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-6-25
收藏
得分:0 

设计方法和基本原理
1.课题功能描述
本程序要求创建单向链表保存学生的各项信息,如学号、姓名和成绩等,并完成学生信息的插入、删除及信息的显示等功能。
2. 问题详细描述
某班有若干个学生,每个学生的成绩信息包括学号、姓名和某门课成绩。要求编写多个函数分别实现下列功能,而后在main函数中进行调用。
(1)创建链表函数creatList:建立单向链表,每个结点包括:学号(int num),姓名(char name[20]),成绩(double score)。按照学号顺序从小到大输入学生的信息。当输入学生学号为0时,表示输入结束。

图片附件: 游客没有浏览图片的权限,请 登录注册

(2)插入函数insert:给出某个同学的信息,按照学号的顺序将其插入该链表中,使原链表仍然有序。如插入学生信息为:
96085 WangLiping 77
98120 ZhangLi 75
99912 LiuHai 80
(3)删除函数delete:给定某个同学的学号,找到该同学的信息后,将其从链表中删除。如删除学号为98044的同学信息。
(4)显示函数output:输出链表中各个同学的信息。
3. 问题的解决方案
根据问题的描述,可以按照程序要求的功能采用结构化的设计思想,划分为五个功能模块。
(1) 采用结构体类型存储学生信息。
(2) 创建链表时,要给各个结点输入数据(每个结点存储一个学生的信息),并建立起前后结点相互联结的关系。
(3) 插入时使用new操作符开辟新的存储空间,用来存放新结点,而后找到与该学号对应的结点,将新结点插入到其后。删除时,先输入某一个学号,而后找到与该学号对应的结点将其从链表中删除,即将该结点从链表中分离出来,并释放其内存空间。
(4) 提供菜单选项,供用户选择各个功能模块,例如:
1. 插入新信息,请选择:1
2. 删除信息,请选择:2
3. 显示信息,请选择:3
4. 结束程序,请选择:4
选择1,执行插入操作时,应提示用户输入待插入的学生信息;选择2,执行删除操作时,提示用户输入要删除的学生学号。
四、主要技术问题的描述
根据三的分析,主要问题在于链表的创建、插入和删除。
(1)链表的创建
依据学号判断链表的建立过程是否结束。输入结束后,表尾结点所指向的下一个结点应为空。
(2)结点的插入
先根据学号找到新结点的位置,例如设指针变量q指向新结点,若要将其插入到指针变量p指向的结点后,可执行如下操作:
t=p->next; //t为指针变量
p->next=q;
q->next=t;
n++;//结点数目增加
这样就将该新结点插入到了指定位置,注意考虑要插入的结点可能位于最后的位置。
(3)结点的删除
删除时,要考虑待删除结点是否为第一个结点;若为中间结点,设指针变量p1指向待删除结点,p2指向其前一个结点,则删除p1结点的操作为:
p2->next=p1->next;
delete(p1);
五、创新要求
在基本要求达到后,进行创新设计:
(1)使用多文件,即主函数和各个函数分别存放在不同的.cpp文件中,在头文件中进行函数原型声明。
(2)对程序功能进行拓展,使其更加实用。例如,将该链表按照成绩进行排序。



DiINpxXH.jpg (12.22 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2007-06-26 14:24
rqwd
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-6-25
收藏
得分:0 
楼上就是题目的原文````今天才拿到的  下周2就考了 而且还得复习历史 时间也不够了 说实话我连看都看不懂````我才刚学到数组 指针什么的 别的都不会   现在考试考这个 感觉都不知道从哪下手   谢谢大家的帮忙````太感谢了```
2007-06-26 14:27
野比
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:24
帖 子:1627
专家分:516
注 册:2007-5-24
收藏
得分:0 
祝你好运...
根据经验..考试时程序写的越流畅..排版越好.. 关键部分注释越多 ..(没错, 试卷上写程序注释!)..
最后得分越多..
真理...

女侠,约吗?
2007-06-26 20:32
rqwd
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-6-25
收藏
得分:0 

怎么有错误呢`

2007-06-27 22:52
tyronerush
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-12-9
收藏
得分:0 
good
2008-12-09 19:33
快速回复:[求助]"利用单向链表实现简单的学生信息管理"是什么意思
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025860 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved