- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机程序设计基础课程设计报告-链表设计汇
吉首大学
计算机程序设计基础课程设计报告
学院:城乡资源与规划学院
专业: 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=p1;
p2=p1;
p1=(struct s
您可能关注的文档
- 英语自学本科毕业论文-Activating Students Through group work and pair work汇.doc
- 英语语言文学硕士学位论文-《苏菲的选择》汇.doc
- 英雄主义毕业设计(论文)汇.doc
- 英语自考毕业论文-如何激发学生学习英语的兴趣汇.doc
- 茶业经营公司客户服务培训课程汇.ppt
- 药品GMP洁净厂房改造工程施工组织设计汇.doc
- 苹果Iphone pc套件详解图文分析汇.ppt
- 药业公司组培繁育大黄及种植示范基地建设项目可行性研究报告汇.doc
- 药学业毕业论文-三七药物生产工艺与设备匹配关系研究汇.doc
- 药学本科毕业论文-我院117例不良反应报告的分析汇.doc
文档评论(0)