面向对象C++实验报告
- 格式:docx
- 大小:175.24 KB
- 文档页数:32
一、实验目的1. 理解面向对象编程的基本概念,如类、对象、继承、封装、多态等。
2. 掌握面向对象编程的基本语法和常用操作。
3. 通过实验加深对面向对象编程的理解和应用。
二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#三、实验内容1. 定义一个简单的类,并创建对象实例。
2. 在类中定义属性和方法,并演示其使用。
3. 使用继承实现类的扩展。
4. 使用封装保护类的内部数据。
5. 使用多态演示不同对象间的动态类型转换。
四、实验步骤1. 定义一个名为“Person”的类,包含以下属性和方法:- 属性:姓名(Name)、年龄(Age)、性别(Gender)- 方法:打印个人信息(PrintInfo)2. 创建“Person”类的对象实例,并演示属性和方法的使用。
3. 定义一个名为“Student”的类,继承自“Person”类,并添加以下属性和方法: - 属性:学号(StudentID)- 方法:打印学生信息(PrintStudentInfo)4. 创建“Student”类的对象实例,并演示属性和方法的使用。
5. 定义一个名为“Employee”的类,继承自“Person”类,并添加以下属性和方法:- 属性:工号(EmployeeID)、职位(Position)- 方法:打印员工信息(PrintEmployeeInfo)6. 创建“Employee”类的对象实例,并演示属性和方法的使用。
7. 定义一个名为“Manager”的类,继承自“Employee”类,并添加以下属性和方法:- 属性:部门(Department)- 方法:打印经理信息(PrintManagerInfo)8. 创建“Manager”类的对象实例,并演示属性和方法的使用。
9. 使用多态演示不同对象间的动态类型转换。
五、实验结果与分析1. 创建“Person”类和对象实例,并演示属性和方法的使用。
面向对象编程实验报告一、实验目的本次实验旨在通过面向对象编程的方式,设计并实现一个简单的学生信息管理系统,加深对面向对象编程原理和概念的理解,并掌握面向对象编程的应用技巧。
二、实验内容1. 设计学生类(Student):包括学生的基本信息(学号、姓名、性别、年龄等)以及相关操作(添加信息、修改信息、删除信息等)。
2. 设计班级类(Class):包括班级的基本信息(班级编号、班级名称等)以及与学生类的关联关系(一个班级包含多个学生)。
3. 设计主程序类(Main):用于对学生信息进行管理和操作,包括添加学生、删除学生、修改学生信息、查询学生信息等功能。
4. 编写测试用例:对设计的学生信息管理系统进行测试,保证系统能够正常运行并实现预期功能。
三、实验步骤1. 设计学生类(Student):首先确定学生类的属性和方法,定义学生类的成员变量(学号、姓名、性别、年龄)以及成员方法(添加学生信息、修改学生信息、查询学生信息等)。
2. 设计班级类(Class):确定班级类的属性和方法,包括班级编号、班级名称以及一个包含学生信息的集合,设计班级类与学生类的关联关系。
3. 编写主程序类(Main):在主程序类中实现学生信息的管理功能,通过用户输入选择对学生信息的操作,调用学生类和班级类中的方法实现相应功能。
4. 编写测试用例:设计多个测试用例,分别测试添加学生、删除学生、修改学生信息等功能,确保系统能够正确运行并实现预期功能。
四、实验结果分析经过测试,学生信息管理系统能够正常运行并实现预期功能。
用户可以通过主程序类对学生信息进行添加、删除、修改和查询操作,操作界面友好,操作流程清晰,便于用户操作和管理学生信息。
五、实验总结通过本次实验,我深入理解了面向对象编程的原理和概念,掌握了面向对象编程的应用技巧,提升了对Java编程语言的熟练程度。
面向对象编程具有代码复用、维护方便和高扩展性等优点,是一种高效的编程思想。
在今后的学习和工作中,我将继续深入研究面向对象编程,不断提升自己的编程能力。
中南大学数学院大三年级面向对象实验报告C++面向对象程序设计实验报告姓名:班级:学号:实验一,画线在visual C++6.0里面文件->新建->工程里面的MFC Appwizard [EXE]除了第二步选单文档,基本上都是默认的。
建一个文件进行一下操作int m;CPoint p1,p2;在构造函数里面初使化m CZuoBiaoView::CZuoBiaoView(){// TODO: add construction code herem=0;}在资源文件Menu中的IDR_MAINFRAME中添加消息句柄OnLButtonDown,OnLButtonUp,OnMouseMove .再回到ZuoBiaoView.cpp中编译一下程序void CZuoBiaoView::OnLButtonDown(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultCClientDC dc(this);m=1;p1=point;CView::OnLButtonDown(nFlags, point);}void CZuoBiaoView::OnLButtonUp(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultp2=point;CClientDC dc(this);OnPrepareDC(&dc);dc.MoveTo(p1);dc.LineTo(p2);m=0;CView::OnLButtonUp(nFlags, point);}void CZuoBiaoView::OnMouseMove(UINT nFlags, CPoint point){// TODO: Add your message handler code here and/or call defaultstatic int n=0;switch(++n){case 1:p2=point;break;case 2:p1=p2;p2=point;n=0;break;}CClientDC dc(this);OnPrepareDC(&dc);if(m==1){dc.MoveTo(p1);dc.LineTo(p2);}CView::OnMouseMove(nFlags, point);}实验二,创建菜单用MFC创建菜单按钮具体的制作过程:首先,生成一个MFC AppWizard EXE 工程生成一个以CButton为基类的新类,名为CMenuButton,然后用ClassWizard 为其添加两个成员函数:DrawItem()和PreSubclassWidnow();手工为CMenuButton类添加BOOL类型m_bDrawFocusRect成员变量,用于决定是否在按钮上画焦点矩形,添加SetDrawFocusRect()函数用于设置这个标志,默认为画焦点矩形;添加两个枚举类型的变量m_ArrowType和m_PopupPos,用于决定所画的箭头的类型和菜单弹出的位置。
学生实验报告(理工类)课程名称:C#程序设计实验专业班级:11计算机科学与技术(单)学生学号: 22 学生姓名:姜飞所属院部:信息技术学院指导教师:蔡群20 13 ——20 14 学年第 1 学期金陵科技学院教务处制实验项目名称:C#概述实验学时: 2同组学生姓名:实验地点: 1416实验日期:实验成绩:批改教师:批改时间:一、实验目的1、熟悉Visual 的基本操作方法。
2、掌握了C#应用程序的基本操作过程。
3、掌握简单窗体控件:Label、TextBox和Button的基本用法。
4、初步理解C#程序的特点。
二、实验要求1、熟悉Windows系统的基本操作。
2、认真阅读本章相关内容,尤其是案例。
3、实验前进行程序设计,完成源程序的编写任务。
4、反复操作,直到不需要参考教材、能熟练操作为止。
三、实验设备及环境设备:奔腾4及奔腾4以上计算机环境:Visual Studio .NET 2010四、实验任务1、设计一个简单的C#控制台应用程序,逐行显示自己的学号、姓名、专业等信息。
2、设计一个C# Windows窗体应用程序,实现个人信息(包括学号、姓名、性别、年龄、专业等)的输入操作。
五、核心代码1、namespace 11{class Program{ static void Main(string[] args){ ("my number is:22"); ("\n");("my name is:姜飞");("\n");("my major is:计算机"); ("\n");();}}}实验结果:my number is:22my name is:姜飞my major is:计算机2、private void btnConfirm_Click(object sender,EventArgs e){(”学号:”+ + ”,姓名:”+ +”,性别:”+ +”,年龄:”+ +”,专业:”+: }实验结果:学号:22姓名:姜飞性别:女年龄:21专业:计算机科学与技术六、实验体会本次实验是初次接触c#程序设计,感觉很陌生,但在实验过程中,却也体会到了很多乐趣。
面向对象实验报告面向对象实验报告引言:面向对象编程是一种软件开发方法,它将现实世界中的事物抽象成对象,通过定义对象的属性和行为来描述其特征和功能。
本实验旨在通过实际操作,深入理解面向对象编程的概念和原则。
一、实验背景面向对象编程是计算机科学领域的重要概念之一,它具有封装、继承和多态等特性,可以提高代码的可重用性和可维护性。
在本实验中,我们将通过编写一个简单的学生管理系统来探索面向对象编程的实际应用。
二、实验目的1. 理解面向对象编程的基本概念和原则;2. 掌握类的定义、对象的创建和方法的调用;3. 熟悉封装、继承和多态的使用;4. 实践面向对象编程的思维方式和方法论。
三、实验过程1. 类的定义在学生管理系统中,我们首先需要定义一个学生类,包含学生的基本信息,如学号、姓名、年龄等。
通过封装这些属性和定义相应的方法,我们可以实现对学生对象的创建和操作。
2. 对象的创建在主程序中,我们可以通过实例化学生类来创建学生对象。
通过调用构造函数,为学生对象赋予具体的属性值。
例如,创建一个名为Tom的学生对象,可以使用以下代码:Student tom = new Student("001", "Tom", 18);3. 方法的调用定义了学生类后,我们可以为其添加一些方法,如获取学生信息、修改学生信息等。
通过调用这些方法,可以实现对学生对象的操作和管理。
例如,获取Tom的年龄可以使用以下代码:int age = tom.getAge();4. 继承的应用在学生管理系统中,我们可以将学生类作为基类,派生出一些特定类型的学生类,如研究生、本科生等。
通过继承,子类可以继承基类的属性和方法,并可以添加自己特有的属性和方法。
这样,我们可以更好地组织和管理不同类型的学生对象。
5. 多态的实现通过使用多态,我们可以在不同的上下文中使用同一个方法名,实现不同的功能。
例如,在学生管理系统中,我们可以定义一个统一的显示信息方法,然后在不同的学生类中重写该方法,以实现不同类型学生的信息展示。
《C++面向对象程序设计》实验内容实验1 C++程序设计初步1.实验目的(1)了解在C++编译系统(Visual C++6.0)上如何编辑、编译、连接和运行一个C++程序。
(2)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。
(3)掌握简单C++程序的编写和调试方法。
(4)掌握重载函数的定义方法。
(5)能正确使用引用型变量。
2.实验内容和步骤(1)在Visual C++环境下编译和运行C++程序①先进入Visual C++6.0环境。
②在自己指定的子目录中建立一个名为test.cpp的新文件。
③从键盘输入以下程序int main(){int a,b;c=a+b;cout>> “a+b=”>>a+b;}选择Build→Compile test.cpp命令, 对此源程序进行编译。
观察和分析编译信息。
⑤根据编译信息指出的错误, 修改程序。
再进行编译, 如果还有错, 再重复此过程, 直到编译不出错为止。
⑥选择Build→Build test.exe命令, 对程序进行连接, 如果不出错, 就会生成可执行程序test.exe。
⑦选择Build→Execute test.exe命令, 执行可执行程序test.exe。
观察屏幕的变化。
在输出窗口应显示程序运行结果。
⑧分析结果是否正确, 如果不正确或认为输出格式不理想, 可以修改程序, 然后重新执行以上④和⑧步骤。
改过后的程序:#include<iostream>using namespace std;int add(int x,int y){int z;z=x+y;return(z);}int main(){int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b="<<c<<endl;return 0;}实验2 C++对C的扩充(2)编一个程序, 用来求2个或3个正整数中的最大数。
《面向对象程序设计》实验一实验报告1 实验目的:(1)了解在VC++、C-free中如何编辑、编译、连接和运行一个C++程序;(2)掌握声明类的方法,类和类的成员的概念以及定义对象的方法(3)了解多文件的C++程序结构2 实验任务(1)输入两个整数,将它们按由大到小的顺序输出。
要求使用变量的引用;(2)编写一个程序,将两个字符串连接起来,结果取代第一个字符串;(3)声明Animal 类,数据成员有age,成员函数有SetAge()等。
首先把数据成员声明为公有的,在main()函数中访问,再把它改为私有的,指出在main()函数中访问会出现怎样的情况,如何避免?该程序需要在同一个文件中分别给出类的声明、类的实现、类的演示每部分的代码。
(4)声明日期类,数据成员有year、month、day,成员函数有输出日期、加一天等。
练习使用多文件结构来组织程序。
3 程序清单实验一:#include"iostream"using namespace std;int main(){int i,j;cout<<"input two number"<<endl;cin>>i>>j;swap(i,j);cout<<i<<","<<j<<endl;return 0;}void swap(int &a,int &b){int temp;temp=a;a=b;b=temp;}实验二:#include"iostream"#include"string"using namespace std;int main(){string string1,string2;cout<<"please input two string:";cin>>string1>>string2;string1=string1+string2;cout<<string1<<endl;return 0;}实验三:4 运行结果图1.1 任务一运行结果图2.1任务二运行结果5 总结或感悟(对运行结果所作的分析以及本次调试程序所取得的经验。
舉申科按衣專课程实验报告课程名称:面向对象程序设计院系:专业班级:____________学号:__________姓名:_______________指导教师:____________实验一.面向过程的整型栈编程 (1)1. 需求分析 (1)1.1题目要求 (1)1.2需求分析 (1)2. 系统设计 (2)2.1概要设计 (2)2.2详细设计 (3)4. 软件测试 (4)5. 特点与不足 (4)5.1技术特点 (4)5.2不足和改进的建议 (5)6. 过程和体会 (5)6.1遇到的主要问题和解决方法 (5)6.2课程设计的体会 (5)7. 源码和说明 (5)7.1文件清单及其功能说明 (5)7.2用户使用说明书 (5)7.3源代码 (5)实验二.面向对象的整型栈编程 (12)1. 需求分析 (12)1.1题目要求 (12)1.2需求分析 (12)2. 系统设计 (13)2.1概要设计 (13)2.2详细设计 (13)3. 软件开发 (14)4. 软件测试 (14)5. 特点与不足 (14)5.1技术特点 (14)5.2不足和改进的建议 (15)6. 过程和体会 (15)7. ......................................................................................................................................... 源码和说明. (15)7.1文件清单及其功能说明 (15)7.2用户使用说明书 (15)7.3源代码 (15)实验三.基于算符重载的整型栈编程 (19)1. 需求分析 (19)1.1题目要求 (19)1.2需求分析 (19)2. 系统设计 (20)2.1概要设计 (20)2.2详细设计 (20)3. 软件开发 (20)4. 软件测试 (20)5. 特点与不足 (21)5.1技术特点 (21)5.2不足和改进的建议 (21)6. 过程和体会 (21)6.1遇到的主要问题和解决方法 (21)6.2课程设计的体会 (21)7. 源码和说明 (21)7.1文件清单及其功能说明 (21)7.2用户使用说明书 (21)7.3源代码 (21)实验四.面向对象的整型队列编程 (25)1. 需求分析 (25)1.1题目要求 (25)1.2需求分析 (25)2. 系统设计 (26)3. 软件开发 (26)4. 软件测试 (26)5. 特点与不足 (26)5.1技术特点 (26)5.2不足和改进的建议 (26)6. 过程和体会 (26)6.1遇到的主要问题和解决方法 (26)6.2课程设计的体会 (27)7. ..................................................................................................................................... 源码和说明 (27)7.1文件清单及其功能说明 (27)7.2用户使用说明书 (27)7.3源代码 (27)实验五.基于组合的整型队列编程 (31)1. 需求分析 (31)1.1题目要求 (31)1.2需求分析 (31)2. 系统设计 (31)3. 软件开发 (32)4. 软件测试 (32)5. 特点与不足 (32)5.1技术特点 (32)5.2不足和改进的建议 (32)6. 过程和体会 (32)6.1遇到的主要问题和解决方法 (32)6.2课程设计的体会 (32)7. 源码和说明 (33)7.1文件清单及其功能说明 (33)7.2用户使用说明书 (33)7.3源代码 (33)实验六.基于继承的整型队列编程 (37)1. 需求分析 (37)1.1题目要求 (37)1.2需求分析 (38)2. 系统设计 (38)3. 软件开发 (38)4. 软件测试 (38)5. 特点与不足 (38)5.1技术特点 (38)5.2不足和改进的建议 (38)6. 过程和体会 (39)7. .......................................................................................................................................... 源码和说明. (39)7.1文件清单及其功能说明 (39)7.2用户使用说明书 (39)7.3源代码 (39)实验一.面向过程的整型栈编程1. 需求分析1.1题目要求整型栈是一种先进后出的存储结构,对其进行的操作通常包括判断栈是否为空、向栈顶添加一个整型元素、出栈等。
c#实验报告(完整版)一、实验目的通过本次实验,我们将掌握C#编程语言的基本语法和面向对象编程思想,熟悉C#开发环境的使用,并能够编写简单的C#程序。
二、实验内容1. 环境搭建:安装Visual Studio开发环境,并配置C#开发环境。
2. C#入门:学习C#的基本语法和常用关键字,了解数据类型、变量和运算符等基本概念。
3. C#面向对象编程:学习C#的面向对象编程思想,包括类、对象、封装、继承和多态等概念。
4. C#程序设计:通过编写实例程序,加深对C#的理解,并掌握C#程序的编写和调试方法。
三、实验步骤和结果1. 环境搭建:下载并安装Visual Studio开发环境,根据提示进行基本配置,创建一个新的C#项目。
2. C#入门:在新建项目中,创建一个C#源代码文件,编写一个简单的程序,输出"Hello, World!"。
通过运行该程序,验证编程环境和语法是否正确。
3. C#面向对象编程:定义一个名为"Person"的类,包含姓名、年龄和性别等属性,以及计算年龄的方法。
在主程序中创建一个"Person"对象,并设置对象的属性值,调用计算年龄的方法并将结果输出。
4. C#程序设计:根据实际需求,设计并实现一个简单的学生成绩管理系统。
定义一个名为"Student"的类,包含学生姓名和考试成绩等属性,以及计算平均分的方法。
通过用户输入学生姓名和考试成绩,创建多个"Student"对象,并调用计算平均分的方法,将结果输出。
五、实验总结本次实验我们通过搭建C#开发环境,学习了C#的基本语法和面向对象编程的思想。
通过编写实例程序,我们深入理解了C#程序设计的过程,掌握了C#的基本用法和调试方法。
通过本次实验,我们不仅熟悉了C#编程语言和开发环境的使用,还掌握了面向对象编程的基本思想和方法。
这对我们今后进行软件开发和编程工作将有很大的帮助。
实验报告面向对象分析设计1. 引言面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是一种软件开发方法论,它以对象为中心,将软件系统看作是一组互相协作的对象集合。
本实验旨在通过一个具体的案例,通过分析和设计实践,掌握面向对象分析与设计的基本原则和方法。
2. 实验目的通过本实验,我们将学习和掌握以下内容:- 了解面向对象分析与设计的概念和基本原则- 学习使用UML(Unified Modeling Language)进行面向对象分析和设计- 掌握面向对象分析与设计的基本流程和方法- 熟悉常用的面向对象分析与设计工具和技术3. 实验内容及步骤3.1 实验环境本实验使用以下工具和环境:- UML工具:如Visual Paradigm、StarUML等- 编辑器:如Visual Studio Code、Eclipse等- 编程语言:Java、C++等3.2 实验步骤本实验主要分为以下几个步骤:1. 了解案例需求:首先,我们需要明确一个具体的案例,如图书馆管理系统、学生选课系统等。
本实验以图书馆管理系统为例。
2. 创建用例图:使用UML工具,根据需求,创建图书馆管理系统的用例图。
用例图描述系统的功能需求,包括用户角色、用户的需求和系统的功能。
3. 创建类图:基于用例图和需求分析,使用UML工具创建类图。
类图描述系统的静态结构,包括类和类之间的关系。
4. 创建时序图:基于用例图和类图,使用UML工具创建时序图。
时序图描述系统的动态行为,展示对象之间的交互关系和顺序。
5. 完善设计:基于用例图、类图和时序图,进一步完善系统设计。
包括类的属性和方法的设计、系统的架构设计等。
4. 实验结果与分析通过本实验,我们完成了图书馆管理系统的面向对象分析与设计。
通过用例图、类图和时序图的创建,我们清晰地描述了系统的功能需求、静态结构和动态行为。
通过系统设计的完善,我们定义了系统的架构和各个类的属性和方法。
实验二面向对象编程实验报告一、实验目的本次实验旨在深入理解和掌握面向对象编程的基本概念和方法,通过实际编程操作,提高运用面向对象思想解决问题的能力,熟悉面向对象编程的开发流程和技巧,培养良好的编程习惯和代码规范。
二、实验环境本次实验使用的编程环境为具体编程环境名称及版本,操作系统为操作系统名称及版本。
三、实验内容(一)问题描述设计一个简单的学生管理系统,能够实现对学生信息(包括姓名、学号、年龄、成绩等)的录入、查询、修改和删除操作。
(二)类的设计1、设计一个`Student` 类,用于表示学生对象。
该类包含以下属性:`name`(姓名)、`student_id`(学号)、`age`(年龄)、`score`(成绩)。
2、为`Student` 类添加构造函数,用于初始化学生对象的属性。
3、为`Student` 类添加`get` 和`set` 方法,用于获取和设置学生对象的属性值。
(三)功能实现1、录入功能:实现用户输入学生信息,并创建`Student` 对象进行存储。
2、查询功能:根据学号或姓名查询学生信息,并输出查询结果。
3、修改功能:根据学号或姓名找到对应的学生对象,修改其属性值。
4、删除功能:根据学号或姓名删除对应的学生对象。
四、实验步骤(一)类的实现```javapublic class Student {private String name;private String studentId;private int age;private double score;public Student(String name, String studentId, int age, double score) {thisname = name;thisstudentId = studentId;thisage = age;thisscore = score;}public String getName(){return name;}public void setName(String name) {thisname = name;}public String getStudentId(){return studentId;}public void setStudentId(String studentId) {thisstudentId = studentId;}public int getAge(){return age;}public void setAge(int age) {thisage = age;}public double getScore(){return score;}public void setScore(double score) {thisscore = score;}}```(二)主函数实现```javaimport javautilArrayList;import javautilScanner;public class StudentManagementSystem {private ArrayList<Student> students;public StudentManagementSystem(){students = new ArrayList<>();}public static void main(String args) {StudentManagementSystem system = new StudentManagementSystem();Scanner scanner = new Scanner(Systemin);while (true) {Systemoutprintln("1、录入学生信息");Systemoutprintln("2、查询学生信息");Systemoutprintln("3、修改学生信息");Systemoutprintln("4、删除学生信息");Systemoutprintln("5、退出系统");int choice = scannernextInt();switch (choice) {case 1:systemaddStudent(scanner);break;case 2:systemqueryStudent(scanner);break;case 3:systemmodifyStudent(scanner);break;case 4:systemdeleteStudent(scanner);break;case 5:Systemoutprintln("感谢使用,再见!");Systemexit(0);default:Systemoutprintln("输入有误,请重新输入!");}}}//录入学生信息public void addStudent(Scanner scanner) {Systemoutprintln("请输入学生姓名:");String name = scannernext();Systemoutprintln("请输入学生学号:");String studentId = scannernext();Systemoutprintln("请输入学生年龄:");int age = scannernextInt();Systemoutprintln("请输入学生成绩:");double score = scannernextDouble();Student student = new Student(name, studentId, age, score);studentsadd(student);Systemoutprintln("学生信息录入成功!");}//查询学生信息public void queryStudent(Scanner scanner) {Systemoutprintln("请输入查询方式(1、按学号查询 2、按姓名查询):");int queryType = scannernextInt();if (queryType == 1) {Systemoutprintln("请输入学号:");String studentId = scannernext();for (Student student : students) {if (studentgetStudentId()equals(studentId)){Systemoutprintln("姓名:"+ studentgetName());Systemoutprintln("学号:"+ studentgetStudentId());Systemoutprintln("年龄:"+ studentgetAge());Systemoutprintln("成绩:"+ studentgetScore());return;}}Systemoutprintln("未找到该学号对应的学生信息!");} else if (queryType == 2) {Systemoutprintln("请输入姓名:");String name = scannernext();for (Student student : students) {if (studentgetName()equals(name)){Systemoutprintln("姓名:"+ studentgetName());Systemoutprintln("学号:"+ studentgetStudentId());Systemoutprintln("年龄:"+ studentgetAge());Systemoutprintln("成绩:"+ studentgetScore());return;}}Systemoutprintln("未找到该姓名对应的学生信息!");} else {Systemoutprintln("输入有误,请重新输入!");}}//修改学生信息public void modifyStudent(Scanner scanner) {Systemoutprintln("请输入修改方式(1、按学号修改 2、按姓名修改):");int modifyType = scannernextInt();if (modifyType == 1) {Systemoutprintln("请输入学号:");String studentId = scannernext();for (Student student : students) {if (studentgetStudentId()equals(studentId)){Systemoutprintln("请输入新姓名:");String newName = scannernext();Systemoutprintln("请输入新年龄:");int newAge = scannernextInt();Systemoutprintln("请输入新成绩:");double newScore = scannernextDouble();studentsetName(newName);studentsetAge(newAge);studentsetScore(newScore);Systemoutprintln("学生信息修改成功!");return;}}Systemoutprintln("未找到该学号对应的学生信息!");} else if (modifyType == 2) {Systemoutprintln("请输入姓名:");String name = scannernext();for (Student student : students) {if (studentgetName()equals(name)){Systemoutprintln("请输入新学号:");String newStudentId = scannernext();Systemoutprintln("请输入新年龄:");int newAge = scannernextInt();Systemoutprintln("请输入新成绩:");double newScore = scannernextDouble();studentsetStudentId(newStudentId);studentsetAge(newAge);studentsetScore(newScore);Systemoutprintln("学生信息修改成功!");return;}}Systemoutprintln("未找到该姓名对应的学生信息!");} else {Systemoutprintln("输入有误,请重新输入!");}}//删除学生信息public void deleteStudent(Scanner scanner) {Systemoutprintln("请输入删除方式(1、按学号删除 2、按姓名删除):");int deleteType = scannernextInt();if (deleteType == 1) {Systemoutprintln("请输入学号:");String studentId = scannernext();for (Student student : students) {if (studentgetStudentId()equals(studentId)){studentsremove(student);Systemoutprintln("学生信息删除成功!");return;}}Systemoutprintln("未找到该学号对应的学生信息!");} else if (deleteType == 2) {Systemoutprintln("请输入姓名:");String name = scannernext();for (Student student : students) {if (studentgetName()equals(name)){studentsremove(student);Systemoutprintln("学生信息删除成功!");return;}}Systemoutprintln("未找到该姓名对应的学生信息!");} else {Systemoutprintln("输入有误,请重新输入!");}}}```五、实验结果通过对程序的运行和测试,能够成功实现学生信息的录入、查询、修改和删除功能。
面向对象程序设计实验报告【实验报告】面向对象程序设计一、引言面向对象程序设计是一种以对象为基础的软件开发方法,它将现实世界中的事物抽象成对象,并通过对象之间的交互来实现程序的功能。
本次实验旨在通过实践,加深对面向对象程序设计的理解,并掌握面向对象程序设计的基本原理和技巧。
二、实验目的1. 熟悉面向对象程序设计的基本概念和术语;2. 掌握面向对象程序设计的基本原理和技巧;3. 能够运用面向对象程序设计的思想解决实际问题。
三、实验内容1. 设计一个简单的图书管理系统;2. 实现图书的增删改查功能;3. 设计并实现图书管理系统的类结构;4. 编写测试代码,验证图书管理系统的功能。
四、实验步骤1. 设计图书管理系统的类结构:a. 创建一个Book类,包含图书的属性(书名、作者、出版社等)和方法(借阅、归还等);b. 创建一个Library类,用于管理图书馆的图书,包含添加图书、删除图书、查找图书等方法;c. 创建一个User类,用于表示图书馆的用户,包含借书、还书等方法;d. 创建一个Main类,作为程序的入口,用于测试图书管理系统的功能。
2. 实现图书的增删改查功能:a. 在Book类中实现图书的增删改查方法;b. 在Library类中调用Book类的方法,实现图书的增删改查功能。
3. 设计并实现图书管理系统的类结构:a. 根据实验要求,设计图书管理系统的类结构,包括Book、Library和User 类;b. 在每个类中定义相应的属性和方法,实现图书管理系统的功能。
4. 编写测试代码,验证图书管理系统的功能:a. 在Main类中创建图书馆和用户对象;b. 调用相应的方法,测试图书管理系统的功能;c. 检查输出结果,确保图书管理系统的功能正常运行。
五、实验结果与分析经过实验,成功设计并实现了一个简单的图书管理系统。
该系统具备图书的增删改查功能,用户可以通过借书和还书操作实现对图书的借阅和归还。
经过多次测试,系统运行稳定,功能正常。
《⾯向对象程序设计_C++》实验报告C++实验报告实验⼀ Visual C++6.0开发环境应⽤⼊门(验证性实验2学时)1.⽬的要求:了解Visual C++6.0的特点,熟悉了解Visual C++6.0的开发环境,学习使⽤Visual C++6.0编写标准的C++控制台应⽤程序。
2.实验内容:使⽤Visual C++来建⽴⼀个⾮图形化的标准C++程序,编译、运⾏教材中的例3-3,⽤公式法求解PI的数值,并尝试利⽤其他⽅法求解并获得相同的结果。
π=16arctan(1/5)-4arctan(1/239)arctan(x)=x-x3/3+x5/5-x7/7+…求π=?(1)源代码和说明:#includeusing namespace std;double arctan(double x){double sqr=x*x;double e=x;double r=0;int i;while(e/i>1e-15){double f=e/i;r=(i%4==1)?r+f:r-f;e=e*sqr;i+=2;}return r;}int main(){double a=16.0*arctan(1/5.0);double b=4.0*arctan(1/239.0);cout<<"PI="<return 0;}2)运⾏结果:1实验⼆ C++简单程序设计实验(验证性实验4学时)1.⽬的要求:会编写简单的C++程序;复习基本数据类型变量和常量的应⽤;复习运算符与表达式的应⽤;复习结构化程序设计基本控制结构的应⽤;复习⾃定义数据类型的应⽤;练习使⽤简单的输⼊输出;观察头⽂件的作⽤;学会使⽤VC6.0开发环境中的debug调试功能;熟练程序设计中的技巧;2.实验内容:1)给定⼀个字符变量输出其⼆进制形式。
例如char a=’a’;其⼆进制为00100001。
1)源代码和说明#includeusing namespace std;int main(){char ch;int j,k[8]={0};cout<<"请输⼊⼀个字符:"<cin>>ch;for(j=0;j<=7;j++){if(ch){if(ch%2==0)k[j]=0;elsek[j]=1;ch=(ch-(ch%2))/2;}}for(j=7;j>=0;j--){cout<}cout<}2)运⾏结果:2)给定⼀个字符变量输出其⼆进制反转形式。
面向对象程序设计上机实验报告实验名称:C++语言程序设计班级:电子2017年 6 月14 日一、实验目的运用一个C++程序输出一个简单的程序语句。
了解C++与C语言的区别二、实验内容运用一个C++程序输出一个程序三、源代码与注释#include<iostream>using namespace std;class A{public:int i,j;void t(){cout<<"hello boy!!!"<<endl;}};int main(){A x,y;x.t();return 0;}四、实验结果(程序运行截图)五、实验心得C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。
所以说C++比C更先进面向对象程序设计上机实验报告实验名称:设计类及测试程序班级:电子1612学号:16200106207姓名:张亦然成绩:2017年 6 月14 日一、实验目的1.掌握类的概念以及定义对象的方法2.掌握用类的对象编制基于对象的程序3.学习检查和调试基于对象的程序二、实验内容定义一个类,使用简单的程序输出姓名和对应的成绩三、源代码与注释#include <iostream>using namespace std;class Student{public:Student(char *name, int age, float score); public:friend void show(Student *pstu);private:char *m_name;int m_age;float m_score;};Student::Student(char *name, int age, float score):m_name(name), m_age(age), m_score(score){ }void show(Student *pstu){cout<<pstu->m_name<<"的年龄是"<<pstu->m_age<<",成绩是"<<pstu->m_score<<endl;}int main(){Student stu("小明", 15, 90.6);show(&stu);Student *pstu = new Student("李磊", 16, 80.5);show(pstu);return 0;}四、实验结果(程序运行截图)五、实验心得C++ 大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的string 类。
面向对象程序C++设计实验报告计算机与信息工程系C++面向对象程序设计实验报告专业:计算机班级:学号:姓名:指导老师:刘文涛实验1:Visual C++6.0开发环境应用入门一、实验目的1、了解Visual C++6.0的特点。
2、熟悉Visual C++6.0的开发环境。
3、学习用Visual C++6.0编写标准的C++控制台程序。
二、实验任务使用Visual C++来建立一个非图形化的标准C++程序,编译、运行三、实验步骤#include <iostream.h>struct time{int year;int month;int day;int hour;int minue;int second;};void main(){time a;cout<<"please input year:";cin>>a.year;cout<<"please input month:";cin>>a.month;cout<<"please input day:";cin>>a.day;cout<<"please input hour:";cin>>a.hour;cout<<"please input minue:";cin>>a.minue;cout<<"please input second:";cin>>a.second;cout<<a.year<<"年"<<a.month<<"月"<<a.day<<"日"<<a.hour<<"时"<<a.minue<<"分"<<a.second<<"秒";}四:个人小结这是第一次开始学习C++,以前也没有接触过类似的东西。
面向对象程序设计实验报告面向对象程序设计实验报告一、引言面向对象程序设计(Object-Oriented Programming,简称OOP)是一种广泛应用于软件开发的编程范式。
本实验旨在通过实践,加深对面向对象程序设计的理解,并掌握其基本概念和技巧。
二、实验目的1. 理解面向对象程序设计的基本概念和思想;2. 掌握类、对象、继承、封装、多态等面向对象的核心概念;3. 运用面向对象的思想设计和实现一个简单的程序。
三、实验过程1. 设计类和对象在本次实验中,我们选择实现一个简单的学生管理系统。
首先,我们需要设计一个学生类(Student),包括学生的姓名、年龄、学号等属性,并定义相关的方法,如获取学生信息、修改学生信息等。
然后,我们创建多个学生对象,模拟学生管理系统中的多个学生。
2. 继承和多态为了进一步理解继承和多态的概念,我们可以设计一个教师类(Teacher),继承自学生类。
教师类除了继承学生类的属性和方法外,还可以定义自己特有的属性和方法。
通过创建教师对象,我们可以看到继承和多态的效果。
3. 封装和访问控制在面向对象程序设计中,封装是一个重要的概念。
我们可以将学生类的属性设置为私有(private),并通过公有(public)的方法来访问和修改属性。
这样做的好处是可以保护属性的安全性,同时提供统一的接口供外部使用。
四、实验结果通过实验,我们成功地实现了一个简单的学生管理系统。
我们可以创建学生对象,并通过调用相关方法来获取和修改学生的信息。
同时,我们还实现了教师类,通过继承和多态的特性,我们可以灵活地使用学生和教师对象。
五、实验总结通过本次实验,我们深入了解了面向对象程序设计的基本概念和思想。
通过设计和实现一个简单的程序,我们掌握了类、对象、继承、封装、多态等核心概念,并学会了如何运用这些概念来设计和实现面向对象的程序。
面向对象程序设计具有很多优点,如代码的可重用性、可维护性、可扩展性等。
通过合理地设计类和对象,我们可以更好地组织和管理代码,提高开发效率和代码质量。
基于多态性的人员信息管理系统摘要:本系统是一个学生成绩管理系统,输入内容包括:姓名,性别,分数,学号等。
本项目用双向链表来实现添加结点、删除结点、输出、查询、修改等功能。
添加结点用new动态分配内存,结点数据以数组形式存放。
链表数据的初始化用new动态分配内存,链表元素用指针来指向动态分配的内存空间。
链表中包含2个类——Node类和CList类,Node类的构造函数负责结点本身的初始化,CList类构造函数负责整个链表的初始化。
从CList类派生出Stack和Queue,用派生类的知识实现正逆序的输出。
从CList类派生Set类,来实现差“—”,并”+”union,交and三种操作,用运算符的重载来实现对两个链表的操作,从而得知并、交、差操作并不影响参与操作的集合。
前言:到本学期为止,在老师们的讲解下,学生已经学习了C、C++两门计算机语言和数据结构,具备用计算机解决一定难度问题的本领,但自主、系统地编写代码解决某个问题,还缺乏实战练习,本项目的进行是学生对已学知识的有效巩固与练习。
项目是以小组为单位上交成果,本形式可以增强学生团队分工、协作能力,创造学生相互学习的机会。
学生管理系统也是一个教育单位不可缺少的部分,它的内容对于学校管理者来说是至关重要的,能有效的帮助学校和老师掌握学生的情况。
所以练习这个题目的项目也有实在意义。
1 研究报告正文1.1实现思路:本系统采用VC++6.0编译器作为开发环境,这个环境是我们在学习C++的平台。
用户可以自行输入数据,在输入学生数据时要保证输入数据格式的正确性,系统不会自动检测输入数据是否正确,可用。
输出形式与输出形式类似,根据需要可以选择显示输入的各项内容。
1.1.1 程序流程图:1.2 模块实现1.2.1 建立双向链表class Node{…};class CList{…};1.2.2 建立双向链表的派生类class Stack:public CList{…};class Queue:public CList{…};class Set:public CList{public:friend CList operator+(CList a,CList b);friend CList operator-(CList a,CList b);friend CList operator&(CList a,CList b);};1.2.3 构造函数Node():Constructs an new node.CList():Constructs an empty ordered list.1.2.4 获得头/尾指针GetHead:Returns the head element of the listGetTail:Returns the tail element of the list1.2.5 链表操作creat_head(Node *s); :Adds an element to the head of the list (makes a new head). creat_CList();show_CList(CList L);1.2.6 遍历操作GetNext: Gets the next element for iterating.GetPrev:Gets the previous element for iterating.1.2.7 检索/修改操作GetAt: Gets the element at a given position.SetAt: Sets the element at a given position.RemoveAt Removes an element from this list, specified by position.1.2.8 插入操作InsertAfter:Inserts a new element after a given position.1.2.9 查询操作Find:Gets the position of an element specified by pointer value.FindIndex:Gets the position of an element specified by a zero-based Index.1.2.10 建立主菜单int main(){CList L;CList L1,L2;Queue Q1;Stack S1;while(1){cin>>i;switch(i){case 1:(建立学生记录)case 2:(插入学生记录 )case 3:(查询学生记录)case 4:(删除学生记录)case 5:(输出学生记录 )case 6:(修改学生记录)case 7:(学生记录并集)case 8:(学生记录差集)case 9:(学生记录交集)case 10:(队列式查询)case 11:(栈式查询)case 12:(退出管理系统)}}}1.3 源代码:#include <windows.h>//定义活动文本模式窗口,刷新功能system("cls")清屏函数 ;#include <iostream>#include<string>#include <ctime>//跟时间日期有关using namespace std;class Node{public:char name[10];char sex[10];int num;int score;Node *pre;Node *next;Node();void init_node();~Node();};//***********************************Node ::Node(){pre=NULL;next=NULL;};Node::~Node(){}//***********************************void Node::init_node(){cout<<" 请输入学生的学号:"<<"\t";cin>>num;cout<<" 请输入学生的姓名:"<<"\t";cin>>name;cout<<" 请输入学生的性别:"<<"\t";cin>>sex;cout<<" 请输入学生的分数:"<<"\t";cin>>score;};//***********************************class CList{public:int length;Node* PHead;Node* PTail;CList(Node *head=NULL,Node *tail=NULL); Node *get_head();Node *get_tail();Node *GetPrev(Node *p);Node *GetNext(Node *p);Node *GetAt(Node *head,int n);void creat_head(Node *s);void creat_CList();void show_CList(CList L);void SetAt(Node *head,int n);void RemoveAt(Node *head,int n);void InsertAfter(Node *head,int n);int Find(Node *head,Node *s);int FindIndex(Node *head,int e);~CList();};//************************************ CList::CList(Node* head,Node *tail){PHead=head;PTail=tail;}CList::~CList(){}//************************************ Node* CList::get_head(){return PHead;}//************************************ Node* CList::get_tail(){return PTail;}Node* CList::GetPrev(Node *p){Node *q=p;q=q->pre;return q;}Node* CList::GetNext(Node *p){Node *q=p;q=q->next;return q;}//************************************Node * CList::GetAt(Node *head,int n){Node *p=head;int i=1;while(i<n){p=p->next;i++;}return p;}//************************************void CList::creat_head(Node *s){PHead=s;}void CList::creat_CList(){cout<<" 请输入链表长度(结点数): ";cin>>length;PHead=new Node;Node *p,*q;p=q=PHead;p->init_node();for(int i=1;i<length;i++){q=new Node;q->init_node();p->next=q;q->pre=p;p=q;}PTail=q;}//**************************************void CList::show_CList(CList L){Node *head;head=L.get_head();while(head){cout<<""<<"学号:"<<head->num<<"\t"<<"姓名:"<<head->name<<"\t"<<"性别:"<<head->sex<<"\t"<<"分数:"<<head->score<<endl;head=head->next;}}//**************************************void CList::SetAt(Node *head,int n){Node *p=head;int i=1;Node *q=new Node;q->init_node();while(i<n-1){p=p->next;i++;}q->next=p->next;p->next->pre=q;q->pre=p;p->next=q;}//****************************************** void CList::RemoveAt(Node *head,int n){Node *p=head;Node *q;int i=1;while(i<n-1){p=p->next;i++;}q=p->next;q->next->pre=p;p->next=q->next;}//********************************************* void CList::InsertAfter(Node *head,int n) {Node *p=head;int i=1;Node *q=new Node;q->init_node();while(i<n){p=p->next;i++;}q->next=p->next;p->next->pre=q;q->pre=p;p->next=q;}//********************************************* int CList::Find(Node *head,Node *s){Node *p=head;while(p!=s)p=p->next;return p->num;}//******************************************** int CList::FindIndex(Node *head,int e) {Node *p=head;while(p->num!=e){p=p->next;}return p->num;}//******************************************* class Stack:public CList{public:Stack();Node *get_top();void push();void show_Stack(Node *top);Node *top;};//********************************Stack::Stack(){top=get_tail();}//********************************Node *Stack::get_top(){return top;}//*******************************void Stack::push(){ int i,m;cout<<" 【入栈】请输入入栈长度(结点数):"<<endl; cin>>m;for(i=0;i<m;i++){ Node *p=new Node;p->init_node();p->next=top;top=p;}}//*******************************void Stack::show_Stack(Node *top){ cout<<" 【出栈】栈内全部信息:"<<endl;Node *p=top;while(p){cout<<""<<"学号:"<<p->num<<"\t"<<"姓名:"<<p->name<<"\t"<<"性别:"<<p->sex<<"\t"<<"分数:"<<p->score<<endl;p=p->next;}}//***************************************class Queue:public CList{private:Node *front;Node *rear;public:Queue();void EnQueue();void DeQueue();};//***************************************Queue::Queue(){front=get_head();rear=get_tail();}//***************************************void Queue::EnQueue(){ int i,m;cout<<" 【入队】请输入队列长度(结点数):"<<endl;cin>>m;for(i=0;i<m;i++){if(rear){Node *p=new Node;p->init_node();p->next=NULL;rear->next=p;rear=p;}else{Node *p=new Node;p->init_node();p->next=NULL;front=rear=p;}}//*************************************void Queue::DeQueue() //头出队{int i,m;cout<<" 【出队】请输入输出队列长度(结点数)"<<endl;cin>>m;for(i=0;i<m;i++){if(front){cout<<""<<"学号:"<<front->num<<"\t"<<"姓名:"<<front->name<<"\t"<<"性别:"<<front->sex<<"\t"<<"分数:"<<front->score<<endl;front=front->next;}elsecout<<"队为空!"<<endl;}}//***************************************class Set:public CList{public:friend CList operator+(CList a,CList b);friend CList operator-(CList a,CList b);friend CList operator&(CList a,CList b);};//***************************************CList operator+(CList a,CList b){CList La;Node *s;int i=0;Node *p=a.get_head();Node *q=b.get_head();while(p){Node *r=new Node;strcpy(r->name,p->name);strcpy(r->sex,p->sex);r->num=p->num;r->score=p->score;if(i==0){La.creat_head(r);s=r;i++;}else{s->next=r;s=r;}p=p->next;}p=a.get_head();while(q){while(p){if(p->num==q->num){if(q->next){q=q->next;p=a.get_head();}elsereturn La;}elsep=p->next;}Node *r=new Node;strcpy(r->name,q->name);strcpy(r->sex,q->sex);r->num=q->num;r->score=q->score;if(i==0){La.creat_head(r);s=r;i++;}else{s->next=r;s=r;}q=q->next;p=a.get_head();}return La;}//****************************************** CList operator-(CList a,CList b){CList La;Node *s;int i=0;Node *p=a.get_head();Node *q=b.get_head();if(p->num==q->num)p=p->next;while(p){while(q){if(p->num==q->num){if(p->next){p=p->next;q=b.get_head();}else{s->next=NULL;return La;}}elseq=q->next;}Node *r=new Node;strcpy(r->name,p->name);strcpy(r->sex,p->sex);r->num=p->num;r->score=p->score;if(i==0){La.creat_head(r);s=r;i++;}else{s->next=r;s=r;}q=b.get_head();p=p->next;}return La;}//************************************************* CList operator&(CList a,CList b){CList La; int i=0;Node *r=NULL;Node *p=a.get_head();Node *q=b.get_head();while(p){while(q){if(p->num==q->num){if(i==0){La=p;r=p;i++;}else{r->next=p;r=p;r->next=NULL;}break;}elseq=q->next;}q=b.get_head();p=p->next;}if(!La.get_head())cout<<"L1与L2交集为空"<<endl;return La;}void AboutMe(){char*pStr=" \n"" \n"" \n"" \n"" \n"" \n"" \n"" \n"" 计算机三班二组\n"" \n""~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"" \n"" 许静静孙佳艺\n"" 郭秋君房甜甜\n"" \n"" \n""~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"" \n"" \n";system("cls");srand(time(0));for(int b=0; b<strlen(pStr); b++){if(pStr[b]!=' '){Sleep(0);}cout<<pStr[b];}cout<<endl<<endl<<endl;cout<<"感谢您的使用!"<<endl;cout<<endl<<endl<<endl<<endl;}//***********************************************//*************************************************************int main(){system("color 0A");CList L;CList L1,L2;Queue Q1;Stack S1;while(1){cout<<endl;cout<<endl;cout<<endl;cout<<" 学生信息管理系统 "<<endl;cout<<endl;cout<<" ————————————————————"<<endl;cout<<" || ||"<<endl;cout<<" || 1.建立学生记录 ||"<<endl;cout<<"|| ||"<<endl;cout<<" || 2.插入学生记录 ||"<<endl;cout<<" || ||"<<endl;cout<<" || 3.查询学生记录 ||"<<endl;cout<<" || ||"<<endl;cout<<" || 4.删除学生记录 ||"<<endl;cout<<" || ||"<<endl;cout<<" || 5.输出学生记录 ||"<<endl;cout<<" || ||"<<endl;cout<<" || 6.修改学生记录 ||"<<endl;cout<<" || ||"<<endl;cout<<" || 7.学生记录并集 ||"<<endl;cout<<" || ||"<<endl;cout<<" || 8.学生记录差集 ||"<<endl;cout<<" || ||"<<endl;cout<<" || 9.学生记录交集 ||"<<endl;cout<<" || ||"<<endl;cout<<" || 10.队列式查询 ||"<<endl;cout<<" || ||"<<endl;cout<<"|| 11.栈式查询 ||"<<endl;cout<<" || ||"<<endl; cout<<"|| 12.退出管理系统 ||"<<endl;cout<<" || ||"<<endl;cout<<"========================================= "<<endl;cout<<endl;cout<<" 请选择1-12:"<<endl;int i,a=0;int j;char c;cin>>i;switch(i){case 1:L.creat_CList();system("cls");break;case 2:cout<<""<<"请输入插入位置:";cin>>j;L.InsertAfter(L.get_head(),j);system("cls");break;case 3:cout<<""<<"请输入查询位置:";cin>>j;Node *p,*q;p=L.GetAt(L.get_head(),j);cout<<""<<"学号:"<<p->num<<"\t"<<"姓名:"<<p->name<<"\t"<<"性别:"<<p->sex<<"\t"<<"分数:"<<p->score<<endl;cout<<""<<"温馨提示:您还可以输入“>”查询后一为学生的记录,或者输入“<”查询前一为学生的记录"<<endl;cout<<""<<"请选择输入“>”或“<”:"<<"\t";cin>>c;system("cls");if(c=='>'){q=L.GetNext(p);cout<<endl<<endl;cout<<""<<"后一位同学的记录为:"<<endl;cout<<""<<"学号:"<<q->num<<"\t"<<"姓名:"<<q->name<<"\t"<<"性别:"<<q->sex<<"\t"<<"分数:"<<q->score<<endl;}if(c=='<'){q=L.GetPrev(p);cout<<endl<<endl;cout<<""<<"前一位同学的记录为:"<<endl;cout<<""<<"学号:"<<q->num<<"\t"<<"姓名:"<<q->name<<"\t"<<"性别:"<<q->sex<<"\t"<<"分数:"<<q->score<<endl;}break;case 4:cout<<""<<"请输入删除位置:";cin>>j;L.RemoveAt(L.get_head(),j);cout<<""<<"删除后剩余的所有学生记录为:"<<endl;L.show_CList(L);break;case 5:cout<<endl<<endl;cout<<""<<"所有学生的记录为:"<<endl;L.show_CList(L);break;case 6:system("cls");cout<<""<<"请输入修改的位置:";cin>>j;L.RemoveAt(L.get_head(),j);cout<<""<<"请重新修改学生学生信息\n";L.InsertAfter(L.get_head(),j-1);break;case 7:system("cls");cout<<""<<"求新建双链表与原有双链表中学生记录的并集:"<<endl;L1.creat_CList();cout<<endl;L2=L+L1;cout<<""<<"两组链表的学生记录的并集为:"<<endl;L2.show_CList(L2);break;case 8:system("cls");cout<<""<<"求新建双链表与原有双链表中学生记录的差集:"<<endl;L1.creat_CList();cout<<endl;L2=L-L1;cout<<""<<"两组链表的学生记录的差集为:"<<endl;L2.show_CList(L2);break;case 9:system("cls");cout<<""<<"求新建双链表与原有双链表中学生记录的交集:"<<endl;L1.creat_CList();L2=L&L1;cout<<""<<"两组链表的学生记录的交集为:"<<endl;L2.show_CList(L2);break;case 10:system("cls");Q1.EnQueue();Q1.DeQueue();break;case 11:system("cls");S1.push();S1.show_Stack(S1.top);break;case 12:AboutMe();return 0;}a++;}return 0;}1.4测试结果:1.4.1 学生信息管理系统界面:1.4.2 输入学生信息:1.4.3 插入学生信息:1.4.4 查询学生成绩:1.4.5 删除学生成绩:1.4.6 输出学生成绩:1.4.7 修改学生信息1.4.7 入栈与出栈:3.8:入队与出队:2 参考文献:[1]作者:谭浩强. 书名:C程序设计教程. 出版设:清华大学.[2]作者:陈维兴林小茶. 书名:C++面向对象程序设计教程. 出版社:清华大学[3]作者:严蔚敏吴伟民. 书名:数据结构(C语言版). 出版社:清华大学[4]作者:高飞聂青李蕙芳薛艳明. 书名:C++与数据结构. 出版社:北京理工大学3 总结:通过本次实验我们懂得了学习计算机语言知识的重要性,我们懂得不断实践、练习编代码的能力对于这个专业的人是多么的重要。