c++创建一个学生链表,进行链表的插入、删除、查找操作报告模板.链表.doc_第1页
c++创建一个学生链表,进行链表的插入、删除、查找操作报告模板.链表.doc_第2页
c++创建一个学生链表,进行链表的插入、删除、查找操作报告模板.链表.doc_第3页
c++创建一个学生链表,进行链表的插入、删除、查找操作报告模板.链表.doc_第4页
c++创建一个学生链表,进行链表的插入、删除、查找操作报告模板.链表.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计实验报告(一)学号姓名班 级实验地点指导教师实验时间(注:一到五条在实验预习时填写,六、七条在实验当中或之后填写)一、实验项目名称:二、实验目的及要求:1.掌握C+语言在结构化程序设计方面对C语言的扩充。2.进一步掌握程序的调试方法。三、实验环境及要求:多媒体计算机一台Windows XP操作系统Visual C+ 6.0四、实验原理及步骤:实验内容:3.创建一个学生链表,进行链表的插入、删除、查找操 作,要求:(1)使用函数模板; (2)使用new和delete进行动态内存的分配和释放。 原理:运用结构体和动态链表来实现对学生信息的操作 步骤:正常启动Microsoft Visual C+,输入程序进行调试,进过修改调试 成功后保存并记录实验结果,分析结果,写实验报告。五、实验注意事项:注意区分c+与的区别六、实验数据记录:#include #include using namespace std;struct studentint ID; /顺序long number;/学号 string name;/学生姓名string sex; /性别 int age; /年龄float score; /成绩 student *next;student *head;student *Create() /创建链表:初始化(当学号为 0时停止)student *p1; student *p2;p1=new student;cinp1-numberp1-namep1-sexp1-agep1-score;head=NULL;p2=p1;while(p1-number!=0)if(head=NULL)head=p1;elsep2-next=p1;p2=p1;p1=new student;cinp1-numberp1-namep1-sexp1-agep1-score;p2-next=NULL;delete p1;return(head);int Length(student *head) /计算学生总数int length=0;while(head)length+;head=head-next;return length;void Search(student *head,long key)/按学号查找学生信息student *p;if(head=NULL)coutendl空表,不能查找。number=key)cout你查找的学生的信息为:endl; coutt学号t学生姓名t 性别t年龄t成绩endl;couttnumbertnamett sextagetscorenext;p=p-next)if(p-next-number=key)cout你查找的学生的学生信息为:n; coutt学号t学生姓名t 性别t年龄t成绩endl; couttnext-numbertnext-namett next-sextnext-agetnext-scoreendl;return ;coutnt没有学号为 keynext=NULL; coutendlnumberstu-number)stu-next=head; head=stu; coutendlnext&p-next-numbernumber)p=p-next;stu-next=p-next;p-next=stu;coutendl插入成功;void Delete(student* &head,long number)/删除操作student *p1;if(!head) cout空表,不能进行删除操作。number=number) p1=head; head=p1-next;delete p1; coutnumbernext;p2=p2-next) if(p2-next-number=number) p1=p2-next; p2-next=p1-next; delete p1; coutnumber 号学生信息已经被删除。endl; return ; coutnumber 不能找到。n;return ;void Display(student *head) /显示链表信息if(head=NULL)cout空表,不能输出endl;return ;coutt顺序t学号t学生姓名t 性别t年龄t成绩ID=ID;couttIDtnumbertnamett sextagetscorenext;ID+;void main()long number,key;char c;char choice;cout操作序号1.由学号查询学生的信息2.插入一名学生信息。3.删除一名学生信息。;coutendl请输入学生链表学生的学号、学生姓名、性别、年龄、成绩(学号为0时结束)endl; head=Create(); /初始化学生成绩表coutendlLength(head)名学生的信息:n;Display(head);for(;)/for_start loop:coutc; if(c=y|c=Y)/if_start cout操作序号1.由学号查询学生的信息2.插入一名学生信息。3.删除一名学生信息。; coutendlchoice; switch(choice)/switch_start case 1: /查找操作 coutkey; if(head=NULL) coutn空表,不能查找n; goto loop ; Search(head,key); break; case 2: /插入操作 student *in; in=new student; coutin-numberin-namein-sexin-agein-score; Insert(head,in); coutendlLength(head)名学生的信息:n; Display(head); break; case 3: /删除操作 coutnumber; Delete(head,number); coutendltLength(head)名学生的信息:n; Display(head); bre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论