欢迎来到天天文库
浏览记录
ID:14907302
大小:71.50 KB
页数:7页
时间:2018-07-30
《计算机软件技术基础实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、山东建筑大学实验报告学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月1日成绩:实验三单链表的基本操作及学生信息管理实现一、实验目的1.掌握单链表结构的实现方式。2.掌握单链表顺序表常用算法初始化、插入、删除等操作的程序实现。2.熟悉利用单链表顺序表解决问题的一般思路。3.学习体会单链表顺序表结构的优点与不足。二、实验用软件和工具实验软件VC++6.0三、实验步骤利用单链表实现学生信息管理。学生的信息包括学号、姓名、性别、班级和联系电话,功能要求:信息浏览:显示所有学生信息列表;插入信息:在线性表的头部插入一个学生信息;删除信息:按照学号删除某个学生
2、的信息;修改信息:实现按照学号修改某个学生信息;退出程序。编写程序调试并输出结果。(1)建立一个单链表、设计单链表的基本操作实现算法、调试并输出结果,以单链表表的定义形式,建立学生信息结点数据,并进一步建立一个长度为10的单链表。(2)参考单链表的算法描述和算法的实现,在本程序中修改单链表的插入、删除、修改等算法的实现函数。(3)编写主函数,可通过在while循环结构中嵌入switch分支结构实现操作选择功能。(4)可以增加学生的课程成绩,实现成绩的统计分析功能。四、实验程序与程序运行结果#include#include#include3、loc.h>structnode{intnumber;charname[10];charsex[5];intclasses;inttel;structnode*next;};山东建筑大学实验报告学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月1日成绩:typedefstructnodeNODE;voidscanning(NODE*head);/*申明浏览函数*/NODE*insert(NODE*head);/*申明插入函数*/voiddel(NODE*head);/*申明删除函数*/voidfix(NODE*head);/*申明修改函数*/intm4、ain(){intchoice;intflag=1;NODE*head;head=(NODE*)malloc(sizeof(NODE));head->next=NULL;while(flag){printf("请选择功能:1—信息浏览2—插入信息3—删除信息4-修改信息0—退出程序");scanf("%d",&choice);switch(choice){case1:scanning(head);break;case2:head=insert(head);break;case3:del(head);break;case4:fix(head);break;ca5、se0:flag=0;break;}}printf("");printf("谢谢使用!");return0;}voidscanning(NODE*head)/*定义浏览函数*/山东建筑大学实验报告学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月1日成绩:{NODE*t;t=head;t=t->next;if(t==NULL){printf("");printf("无记录!请先输入学生信息:");printf("");}while(t!=NULL){printf("学号:%d",t->number);printf("姓名:%s6、",t->name);printf("性别:%s",t->sex);printf("班级:%d",t->classes);printf("联系方式:%d",t->tel);printf("");t=t->next;}}NODE*insert(NODE*head)/*定义插入函数*/{NODE*t,*p;inta,b,c;chare[10],f[5];t=(NODE*)malloc(sizeof(NODE));p=head;if(p->next==NULL)/*原本无元素*/{printf("请输入学号:");scanf("%d",&a);printf("请输7、入姓名:");scanf("%s",e);printf("请输入性别:");scanf("%s",f);printf("请输入班级:");scanf("%d",&b);printf("请输入号码:");scanf("%d",&c);t->number=a;strcpy(t->name,e);strcpy(t->sex,f);t->classes=b;t->tel=c;p->next=t;t->next=NULL;}else/*原本有元素*/山东建筑大学
3、loc.h>structnode{intnumber;charname[10];charsex[5];intclasses;inttel;structnode*next;};山东建筑大学实验报告学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月1日成绩:typedefstructnodeNODE;voidscanning(NODE*head);/*申明浏览函数*/NODE*insert(NODE*head);/*申明插入函数*/voiddel(NODE*head);/*申明删除函数*/voidfix(NODE*head);/*申明修改函数*/intm
4、ain(){intchoice;intflag=1;NODE*head;head=(NODE*)malloc(sizeof(NODE));head->next=NULL;while(flag){printf("请选择功能:1—信息浏览2—插入信息3—删除信息4-修改信息0—退出程序");scanf("%d",&choice);switch(choice){case1:scanning(head);break;case2:head=insert(head);break;case3:del(head);break;case4:fix(head);break;ca
5、se0:flag=0;break;}}printf("");printf("谢谢使用!");return0;}voidscanning(NODE*head)/*定义浏览函数*/山东建筑大学实验报告学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月1日成绩:{NODE*t;t=head;t=t->next;if(t==NULL){printf("");printf("无记录!请先输入学生信息:");printf("");}while(t!=NULL){printf("学号:%d",t->number);printf("姓名:%s
6、",t->name);printf("性别:%s",t->sex);printf("班级:%d",t->classes);printf("联系方式:%d",t->tel);printf("");t=t->next;}}NODE*insert(NODE*head)/*定义插入函数*/{NODE*t,*p;inta,b,c;chare[10],f[5];t=(NODE*)malloc(sizeof(NODE));p=head;if(p->next==NULL)/*原本无元素*/{printf("请输入学号:");scanf("%d",&a);printf("请输
7、入姓名:");scanf("%s",e);printf("请输入性别:");scanf("%s",f);printf("请输入班级:");scanf("%d",&b);printf("请输入号码:");scanf("%d",&c);t->number=a;strcpy(t->name,e);strcpy(t->sex,f);t->classes=b;t->tel=c;p->next=t;t->next=NULL;}else/*原本有元素*/山东建筑大学
此文档下载收益归作者所有