计算机程序设计基础课程设计报告链表设计

上传人:博****1 文档编号:554986151 上传时间:2022-12-01 格式:DOC 页数:10 大小:137.52KB
返回 下载 相关 举报
计算机程序设计基础课程设计报告链表设计_第1页
第1页 / 共10页
计算机程序设计基础课程设计报告链表设计_第2页
第2页 / 共10页
计算机程序设计基础课程设计报告链表设计_第3页
第3页 / 共10页
计算机程序设计基础课程设计报告链表设计_第4页
第4页 / 共10页
计算机程序设计基础课程设计报告链表设计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《计算机程序设计基础课程设计报告链表设计》由会员分享,可在线阅读,更多相关《计算机程序设计基础课程设计报告链表设计(10页珍藏版)》请在金锄头文库上搜索。

1、吉首大学计算机程序设计基础课程设计报告学院:城乡资源与规划学院专业: 09级资管 班级: 09级资管 课题: 链表设计 姓名: 学号: 指导教师: 报告成绩: 日期:2011年6月25日9目 录一、课程设计目的2二、课程设计要求2三、设计题目分析23.1题目简介23.2设计要求2四、课程设计类容24.1总体设计24.2详细设计34.3调试与测试4五、设计心得与总结9六、建议9参考书目:9一、课程设计目的掌握函数的运用。加深对结构体类型数据、结构体指针类型数据的认识,熟练链表的概念,熟悉链表的操作。二、课程设计要求建立一个班级(10个学生)的学生情况表(采用链表),每个学生的数据包括学号、姓名和

2、一门课的成绩。要求程序采用如下的结构框图:主函数创建函数输出函数菜单函数三、设计题目分析3.1题目简介 建立一个包含主函数、菜单函数、创建函数和输出函数四个功能模块的单链表,能输出10个学生的成绩,学号以及姓名。3.2设计要求 设计的程序中应当包含一个主函数和一个菜单函数,而在主函数中应当包含一个输入函数和一个输出函数,即创建输入链表和输出链表,此外,还可以创建插入、删除链表的节点等等,设计的程序要求按照如下结构框图: 主函数创建函数输出函数菜单函数四、课程设计类容4.1总体设计 首先要创建一个主函数,在主函数中调用其他设计的几个子函数。包括一个创建学生信息的结构体;一个输入学生信息的创建链表

3、;一个输出学生信息的输出链表;一个菜单函数。他们都是通过主函数的调用实现的。4.2详细设计 (1)创建结构体 struct student算法:它包括学生的姓名;学生的成绩;学生的学号。关键是要把这个类型定义好,如char name80;float score;long num.(2)用struct student *creat()创建链表算法:先定义一个指向链表头的指针型的函数struct student*creat(),然后head=NULL,创建第一个结点p=q=(struct student *)malloc(sizeof(struct student),然后用while语句将该结点加

4、入链表,然后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-wh

5、ile的循环,输入数值c后,再判断c是否满足(c3),满足的话就继续做循环,不满足结束,然后返回c的值,被调用到主函数里。输出开始输入一个1-3的 数c3return cN结束Y 输入c(5)在主函数里会调用其他三个子函数。算法:先是定义了一个switch语句,然后在这个开关语句里又调用了菜单函数menu,在这个switch语句里,当条件符合case 1时,调用creat函数;当条件符合case 2时,调用print函数;当条件符合case 3时,则退出(exit)。 4.3调试与测试首先创建 struct student 结构体: char name80; long int num; int

6、 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; p

7、2=p1; p1=(struct student *)malloc(sizeof(LEN); printf(enter date); scanf(%ld%d%s,&p1-num,&p1-score,&p1-name); p2-next=NULL; return(head);紧接着创建struct student *print()函数:void print(struct student *head) struct student *p1; p1=head; if(head!=NULL) do printf(%ld,%s,%dn,p1-num,p1-name,p1-score); p1=p1-ne

8、xt; while(p1!=NULL); else printf(this is a NULL list);接着创建菜单函数:int menu() int c; printf(nn%16s, ); printf(*menu*n); printf(tt1.creat listn); printf(tt2.print listn); printf(tt3.exitn); do printf(ntenter select(1-3):); scanf(%d,&c); while(c3); return c; 再写出主函数是要调用上面三个函数:void main() while(1) switch(me

9、nu() case 1:head=creat(); break;case 2:print(head); printf(ntcontinue!); getch(); break; case 3:exit(0); 运行的结果是:*menu*1.creat list 2.print list3.exitenter select(1-3):furenhuanenter data01,86, zoufuenter data02,99, wangxuanenter data03,89, xiekuienter data04,88,yangyunguangenter data05,92, yushuaimi

10、ngenter data06,79, limengfeienter data07,69,liangleienter data08,87, fenghaiboenter data09,97, heshunleenter data10,58, zhaoguoguoenter data0*menu*1.creat list2.print list3.exitenter select(1-3): *menu*1.creat list2.print list3.exitenter select(1-3):201,86,zoufu02,99,wangxuan03,89,xiekui04,88,yangyu

11、nguang05,92,yushuaiming06,79,limengfei07,69,lianglei08,87,fenghaibo09,97,heshunle10,58,zhaoguoguocontinue!*menu*1.creat list2.print list3.exitenter select(1-3):3返回主界面:五、设计心得与总结此链表设计过程中要掌握函数的运用,加深对结构体类型数据,结构体指针类型数据的认识,熟练链表的概念,熟悉链表的操作。六、建议通过此次程序设计,我初步掌握了链表设计的基本知识,同时我也深刻体会到了程序设计的严谨性和逻辑性,在以后的学习工作中要继续加强该方面的练习,以便我们更好地掌握C语言的各种实用性操作技巧。参考书目:1、 龙佑喜、彭三成:C语言程序设计教程(第二版),湖南教育出版社2、 李勇帆:大学计算机基础(第三版),湖南教育出版社3、 龙佑喜、彭三成:C语言程序设计上机指导与习题选解,湖南教育出版社

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号