- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
吉首大学
计算机程序设计基础课程设计报告
学院:城乡资源与规划学院
专业: 09级资管
班级: 09级资管
课题: 链表设计
姓名:
学号:
指导教师:
报告成绩:
日期:2011年6月25日
目 录
一、课程设计目的 2
二、课程设计要求 2
三、设计题目分析 2
3.1题目简介 2
3.2设计要求 2
四、课程设计类容 2
4.1总体设计 2
4.2详细设计 3
4.3调试与测试 4
五、设计心得与总结 9
六、建议 9
参考书目: 9
一、课程设计目的
掌握函数的运用。加深对结构体类型数据、结构体指针类型数据的认识,熟练链表的概念,熟悉链表的操作。
二、课程设计要求
建立一个班级(10个学生)的学生情况表(采用链表),每个学生的数据包括学号、姓名和一门课的成绩。要求程序采用如下的结构框图:
三、设计题目分析
3.1题目简介
建立一个包含主函数、菜单函数、创建函数和输出函数四个功能模块的单链表,能输出10个学生的成绩,学号以及姓名。
3.2设计要求
设计的程序中应当包含一个主函数和一个菜单函数,而在主函数中应当包含一个输入函数和一个输出函数,即创建输入链表和输出链表,此外,还可以创建插入、删除链表的节点等等,设计的程序要求按照如下结构框图:
四、课程设计类容
4.1总体设计
首先要创建一个主函数,在主函数中调用其他设计的几个子函数。包括一个创建学生信息的结构体;一个输入学生信息的创建链表;一个输出学生信息的输出链表;一个菜单函数。他们都是通过主函数的调用实现的。
4.2详细设计
(1)创建结构体 struct student
算法:它包括学生的姓名;学生的成绩;学生的学号。关键是要把这个类型定义好,如char name[80];float score;long num.
(2)用struct student *creat()创建链表
算法:先定义一个指向链表头的指针型的函数struct student*creat(),然后head=NULL,创建第一个结点p=q=(struct student *)malloc(sizeof(struct student)),然后用while语句将该结点加入链表,然后head=p,作为表头,再然后p=(struct student *)malloc(sizeof(LEN)开辟下一个结点,以此类推创建一个链表。
(3)用struct student *print()来输出链表
算法:输出函数的算法比较简单,P首先指向第一个结点,输完第一个结点之后,将p原来所指向的next赋给p,即p=p-next,而p-next就成为了下一个结点的起始地址,依次顺序输出链表的信息。
(4)menu函数是一个菜单函数,它会在switch语句中被调用。
算法:首先输出一个菜单:
*****menu*****
1.creat list
2.print list
3.exit
然后是做一个do-while的循环,输入数值c后,再判断c是否满足(c0||c3),满足的话就继续做循环,不满足结束,然后返回c的值,被调用到主函数里。
(5)在主函数里会调用其他三个子函数。
算法:先是定义了一个switch语句,然后在这个开关语句里又调用了菜单函数menu,在这个switch语句里,当条件符合case 1时,调用creat函数;当条件符合case 2时,调用print函数;当条件符合case 3时,则退出(exit)。
4.3调试与测试
首先创建 struct student 结构体:
{
char name[80];
long int num;
int score;
struct student *next;
};接着创建struct student *creat()函数:
struct student *creat()
{
struct student *head,*p1,*p2;
n=0;
head=NULL;
p1=p2=(struct student *)malloc(LEN);
printf(enter date);
scanf(%ld%d%s,p1-num,p1-score,p1-name);
while(p1-num!=0)
{
n++;
if(n==1)
{
head=p1;
head-next=NULL;
}
else
p2-next
您可能关注的文档
最近下载
- 涉农专业班级建设方案(班主任能力比赛).pdf VIP
- 人教(2019)A版最新教材高中数学课后习题答案大全.pdf VIP
- colorgate v8快速操作手册中文.pdf VIP
- 第5课 共同保卫伟大祖国 课件中华民族大团结.ppt VIP
- 部编版四年级上册语文第一单元大单元教学设计.docx VIP
- 给水排水工程顶管技术规程CECS_246:2008.pdf VIP
- 2024年信息科技中考考试题库及答案3.pdf VIP
- 《土木工程施工48课时》课程教学大纲.doc VIP
- Unit 3 My week第2课时 Story time(教学课件)英语译林版三起四年级上册(新教材).ppt
- 01企税 答案 V3.8企业所得税年度(A类)网上申报教学版案例01-20211008.xlsx VIP
文档评论(0)