单链表实现用户编号与用户名输入输出.doc

单链表实现用户编号与用户名输入输出.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档