- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单链表实现用户编号与用户名输入输出
《数据结构》期中考试实验报告
课程名称: 数据结构
年级:2010
成绩:
指导教师:
姓名:
学期:2011-2012-2
实验名称:
学号:
时间:2周
开发环境
操作系统:Windows XP。
开发工具:Microsoft Visual C++ 6.0。
依赖文档:略。
运行环境
操作系统: Windows XP。
依赖文档:略。
程序说明
说明:本程序利用单链表这个数据结构,实现了用户编号和用户名的输入和打印,并且对输入的数据没有长度的限制,输入操作简单,易懂。
程序的主要功能:实现对用户编号和用户名的输入并打印出来;
关键技术:数据结构单链表的创建,输入和打印。
系统流程图:
程序运行时的主界面截图:主要模块说明:
? 模块的名称、功能、输入/输出方式:
名称:Linklist
功能:定义结构类型
输入/输出方式:无
参数,返回值说明:numbers的元素类型int;指针name的元素类型char;结点指针next
名称:main函数
功能:实现链表的创建
输入/输出方式:中断传送
参数,返回值说明:链表的头指针* head;临时指针* temp;
用户编号c_numbers,遇0则终止循环
名称:print_link
功能:打印链表
输入/输出方式:无条件方式
参数,返回值说明:链表的头指针* head;结点里的numbers数据head-numbers;
结点里的name数据head-name;
?主要数据结构名称:单链表;
优点:操作简单易懂,对数据没有大小的限制;
缺点:由于单链表在内存中的存储不是连续的,所以不能快速的查找和修改 需要遍历链表;
? 单链表的逻辑结构图:a1
a1
head
头指针:第一个结点的地址(表头)
首元结点
tail
a2
an
null
……
单链表存储结构的类型定义(代码描述);
struct Linklist
{
ElemType data;
struct Linklist * next;
};
? 该模块用到的主要算法名称和思想;略
? 该算法有何优缺点(选用的理由);略
程序测试
为保证程序的正确性,有较少Bug,需进行各种测试。
针对程序的主要模块,给出测试内容、方案、结论:
测试模块的名称:main;功能:实现链表的创建;输入参数个数:没有限制;数据类型:整形,字符型
测试内容
根据模块的功能、输入输出、参数等,需要测试以下内容:
输入的实际参数与程序获得的参数是否相同
输出信息中是否有文字性错误
测试方案
针对第一个测试内容,测试数据是:输入1 a 2 b 3 c 0 得到了正确的显示
测试结论:输入的实际参数和程序获得的参数相同
针对第二个测试内容,测试数据是:观察打开程序后后窗口文字部分
测试结论:输出信息中没有文字性错误
……
测试模块的名称:print_link;功能:打印链表;输入参数个数:0;
测试内容
根据模块的功能、输入输出、参数等,需要测试以下内容:
打印的信息是否与输入的信息一致
测试方案
针对第一个测试内容,测试数据是:输入1 b 3 f 5 g 0 得到了正确的显示
测试结论:打印的信息与输入的信息一致
代码段:
#include stdio.h
#include stdlib.h
void print_link(struct Linklist * );//函数申明
/*定义结构类型*/
struct Linklist
{
int numbers;
char * name;
struct Linklist * next;
};
int main( void )
{
char c;
struct Linklist * head=NULL; //链表的头指针
struct Linklist * temp=head; //链表的临时指针,用来指向当前链表连中的最后一个元素,
while(1)
{
int c_numbers;
char * c_name=NULL;
struct Linklist * c=NULL;//使用结构类型
printf(请输入用户编号(输入0退出):\n);
scanf(%d,c_numbers); //输入用户编号
if(c_numbers==0)//如果输入了0 则 终止循环
{
break;
}
printf(请输入用户名:\n);
c_name=(char *)malloc(10*sizeof(char)); /*为c_name分配10个字符长度的内存*/
scanf(%s,c_name);
c=(struct Linklist *)malloc(sizeof(struct L
您可能关注的文档
- 实验2:线性表顺序和链式存储.pdf
- 关于德语中英语外来词构成与影响.doc
- 关于落实党风廉政建设党组主体责任与纪检监督责任实施办法.doc
- 实验一__显微镜使用和细菌简单染色法.ppt
- 关于矩阵AB与BA特征值与特征向量讨论.pdf
- 关于岭南名园_雁山园研究与修复构想.pdf
- 实验07 最优化方法建模和实现.ppt
- 关于邮件服务器dns解析与mx记录问题.pdf
- 实验一 苯和其衍生物紫外吸收光谱测绘和紫外吸收光谱定性分析应用.doc
- 关于项目中评价模型与方法研究.pdf
- 功能设计_MM_MM015_报废单_20080109_v2.0.doc
- 功能设计_MM_MM021_采购订单批导入程序_20080108_v1.0.doc
- 功能设计_MM_MM020_出库单_20071205_v2.1.doc
- 功能设计_MM_MM019_入库单_20071205_v2.1.doc
- 功能设计_MM_MM018_领料单_20080114_v2.0.doc
- 功能设计_MM_MM016_ERP与招投标系统接口_20080327_v1.2.doc
- 功能设计_MM_MM014_退库单_20080109_v1.0.doc
- 功能设计_MM_MM013_物料盘点清单_20080114_v2.0.doc
- 中考数学知识点10 一元一次不等式(组)(2).pdf
- 七年级数学优质课公开课教案教学设计期中综合检测.pdf
文档评论(0)