[计算机软件及应用]C实验报告11.doc

上传人:sccc 文档编号:4561485 上传时间:2023-04-27 格式:DOC 页数:35 大小:118.50KB
返回 下载 相关 举报
[计算机软件及应用]C实验报告11.doc_第1页
第1页 / 共35页
[计算机软件及应用]C实验报告11.doc_第2页
第2页 / 共35页
[计算机软件及应用]C实验报告11.doc_第3页
第3页 / 共35页
[计算机软件及应用]C实验报告11.doc_第4页
第4页 / 共35页
[计算机软件及应用]C实验报告11.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《[计算机软件及应用]C实验报告11.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]C实验报告11.doc(35页珍藏版)》请在三一办公上搜索。

1、巢湖学院计算机与信息工程学院 实验报告20 20 学年度第 学期 专业名称: 班级名称: 学生姓名: 学生学号: 指导教师: 巢湖学院计算机与信息工程学院巢湖学院实验教学中心2011年9月联合监制实验报告填写要求每份实验报告必须包含以下几个部分:1、实验名称:如“实验一:汇编语言实验操作方法”;2、实验目的:略;3、实验内容与要求:略;4、实验平台:如“Windows XP操作系统 和 Masm50集成实验环境”5、实验设计方案:简述实验过程,程序设计实验要求画出程序流程图,并简述各个模块(函数)的功能;6、实验结果分析:简要叙述实验的运行与测试结果;7、源程序代码:必须详细书写源程序代码;8

2、、实验启发:简述本次实验的收获和启发(可以不写); 实验一、 创建C+项目 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、掌握创建C+项目的方法2、掌握C+程序的录入、编译和调试方法【实验内容与要求】1、使用VC+6.0中创建一个工程2、编写字符串的连接、复制、比较和求串长函数,并编译调试【实验平台】Windows XP、VC+6.0【实验原理及设计方案】1、在VC+6.0中创建一个Win32控制台应用程序2、在工程中添加一个C+源文件3、录入字符串的连接StrCat、复制StrCpy、比较StrCmp和求串长StrLen函数4、在主函数中调用上面的个函数5、编译调

3、试并执行【源程序代码】【实验结果及分析】【实验启发】 实验二、 指针和链表 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、掌握指针声明和初始化2、掌握链表的建立、输出、删除结点、插入结点等操作【实验内容与要求】1、编写Create函数,建立一个动态链表2、编写Print函数,输出各结点数据3、编写Del函数,删除链表中一个指定结点4、编写Insert函数,向链表插入一个结点【实验平台】Windows XP、VC+6.0【实验原理及设计方案】1、首先声明一个结构体类型,包含学号num、姓名name、三门课成绩score3、指向下一个结点的指针next;2、分别编写Cr

4、eate函数、Print函数、Del函数和Insert函数, 3、在主函数中调用这4个函数,实现链表的建立、输出、删除和插入。【源程序代码】【实验结果及分析】【实验启发】 实验三、 类和对象的声明 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、掌握类的声明方法2、掌握对象的声明,以及怎样引用对象的成员【实验内容与要求】定义一个Time类,将数据成员设为私有,输入、输出功能由成员函数实现,类的声明放在Time.h文件中,成员函数要在类外定义,放在Time.cpp文件中。主函数放在Main.cpp中。【实验平台】Windows XP、VC+6.0【实验原理及设计方案】1

5、、先创建Main.cpp文件,只放置一个主函数;2、在工程中添加Time类,添加私有数据成员hour、min、sec;再添加两个成员函数set_time和show_time,用于输入输出时间3、在主函数中声明一个对象t ,通过对象t引用它的成员函数输入输出时间【源程序代码】【实验结果及分析】1、不能在类外访问类的私有数据,只能通过公有的成员函数来访问2、必须通过对象来访问类的成员3、把类的声明和实现分别放在.h文件和.cpp文件中。【实验启发】 实验四、 构造函数和析构函数 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、掌握不带参数以及带1个、2个、3个参数的构造函

6、数定义方法2、掌握析构函数的定义方法3、注意观察构造函数和析构函数的调用次序【实验内容与要求】声明一个类,要求包含:1、不带参数的构造函数2、分别带1个、2个、3个参数的构造函数3、复制构造函数4、析构函数【实验平台】Windows XP、VC+6.0【实验原理及设计方案】声明一个Date类,分别定义5个构造函数和一个析构函数,并定义一个display函数用于输出日期,然后在主函数中分别使用上面5个构造函数创建5个对象,并输入日期。【源程序代码】【实验结果及分析】构造函数没有返回类型,但它可能有参数,可以被重载,它是创建对象时被自动调用的。析构函数没有参数,不能被重载,它是在撤销一个对象之前自

7、动被调用。一般来说,对象的构造次序和析构次序相反。【实验启发】 实验五、 静态成员和友员 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、 掌握静态成员变量的定义、初始化和引用方法2、 掌握静态成员函数的定义和调用方法3、 掌握把普通函数声明为友元的方法4、 掌握把类的成员函数声明为友元的方法【实验内容与要求】1、某商店销售某一商品,请编写程序计算当日此商品的总销售款sum以及每件商品的平均售价。2、分别定义Time和Date类,将函数display声明为友元,在主函数中调用display函数,引用上述两个类的私有数据。3、将Time类声明为Date类的友元类,通过T

8、ime类中的display函数引用Date类中的私有数据。【实验平台】Windows XP、VC+6.0【实验原理及设计方案】1、首先声明一个类,把销货员号num、销货件数quantity、销货单价price声明为私有数据成员,再将折扣discount、总销售款sum和商品销售总件数n声明为静态数据成员,再定义静态成员函数average和display用于计算平均售价和输出结果。2、定义Time和Date类,再定义函数display,将函数display声明为Time类和Date类的友元,最后在主函数中调用display函数,引用上述两个类的私有数据。3、将Time类声明为Date类的友元类,

9、通过Time类中的display函数引用Date类中的私有数据。【源程序代码】【实验结果及分析】1、静态数据成员不只属于某个对象,所有对象都可以引用它;它只能在类外进行初始化;它既可以通过对象名引用,也可以通过类名来引用;2、静态成员函数没有this指针,因此不能访问非静态成员,可以用来访问静态数据成员。3、友元既可以是普通函数,也可以是另外一个类的成员函数,甚至可以把另一个类声明为友元。【实验启发】 实验六、 重载运算符 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、掌握一元运算符、二元运算符的重载方法2、掌握流输入输出运算符的重载方法【实验内容与要求】定义复数类

10、Complex,重载以下运算符:1、+、*、/2、前置+和后置+3、流插入运算符【实验平台】Windows XP、VC+6.0【实验原理及设计方案】【源程序代码】【实验结果及分析】【实验启发】 实验七、 继承与派生 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、掌握派生类的声明方式2、掌握派生类构造函数的使用3、掌握派生类成员的引用方法【实验内容与要求】声明Teacher类和Cadre类,采用多重继承方式由这两个类派生出新类Teacher_cadre类。【实验平台】Windows XP、VC+6.0【实验原理及设计方案】1、先声明Teacher类,添加name、ag

11、e、sex、addr、tel和title数据成员,再添加构造函数和display()函数2、再声明Cadre类,添加name、age、sex、addr、tel和post数据成员,再添加构造函数3、由Teacher类和Cadre类派生Teacher_Cadre类,添加数据成员wages,再添加构造函数和show()函数4、在主函数中用Teacher_Cadre类定义一个对象,调用show()函数输出信息【源程序代码】【实验结果及分析】1、对两个基类中的数据成员用相同名字时,在引用数据成员时,要指定作用域,如:Teacher:name、Cadre:name等。2、在子类的构造函数中调用基类的构造函

12、数对基类初始化【实验启发】 实验八、 多态与虚函数 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、掌握虚函数的声明和使用2、掌握如何用虚函数实现多态【实验内容与要求】1. 编写一个程序,声明抽象基类Shape,由它派生出3个派生类: Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个函数printArea分别输出以上三者的面积,3个图形的数据在定义对象时给定。【实验平台】Windows XP、VC+6.0【实验原理及设计方案】1、先声明抽象类Shape,只声明一个纯虚函数Area2、定义3个派生类,分别定义构造函数,并实现Area函

13、数3、声明一个普通函数printArea,用Shape类对象的引用作形参4、在主函数中分别声明圆、矩形、三角形类的对象,用调用printArea函数输出面积。【源程序代码】/定义抽象基类Shapeclass Shapepublic: virtual double area() const =0; /纯虚函数;/定义Circle类class Circle:public Shapepublic:Circle(double r):radius(r) /构造函数 virtual double area() const return 3.14159*radius*radius;protected: do

14、uble radius; /半径;/定义Rectangle类class Rectangle:public Shape/;/定义Triangle类class Triangle:public Shape/;/输出面积的函数void printArea(const Shape &s)couts.area()endl; 【实验结果及分析】【实验启发】 实验九、 创建Win32应用程序 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、掌握创建Win32应用程序的方法2、掌握Win32常用绘图函数的使用【实验内容与要求】创建Win32应用程序,使用绘图函数绘制一运动的圆球。【实验

15、平台】WindowsXP、VC+6.0【实验原理及设计方案】1、启动VC+6.0,创建一个Win32应用程序,创建一个典型的“Hello,world”工程;2、添加一个Ball类,添加数据成员:坐标x、y,速度vx、vy,半径r;添加带参数的构造函数,以及函数成员Move、GetX、GetY、GetR;3、在主程序里设置定时器:SetTimer(hWnd,1,100,myProc),并定义定时器处理程序myProc,其原型为:VOID CALLBACK myProc(HWND, UINT, UINT_PTR, DWORD);4、在窗口过程里,绘制矩形和小圆,函数原型为:Rectangle(HD

16、C hdc,int left,int top,int right,int bottom)Ellipse(HDC hdc, int left,int top, int right, int bottom)5、刷新窗口:InvalidateRect(HWND hWnd,CONST RECT *lpRect,BOOL bErase);【源程序代码】【实验结果及分析】1、Win32应用程序入口函数是WinMain2、窗口创建完毕,程序进入主消息循环,并由窗口过程WndProc处理消息;【实验启发】 实验十、 创建Win32项目(贴图、键盘鼠标消息) 略 实验时间 月 日,星期 ,第 节;批阅时间 月

17、日实验成绩【实验目的】【实验内容与要求】【实验平台】【实验原理及设计方案】【源程序代码】【实验结果及分析】【实验启发】 实验十一、 小孩出列游戏 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】1、掌握结构体和指针的使用2、掌握链表的使用3、掌握类的定义和使用【实验内容与要求】小孩出列游戏,也称为Joseph问题。一群小孩围成一个圆圈,任意设定一个数m,从其中某个小孩开始,按顺时针方向数,每数到第m个小孩时,该小孩就离开,游戏一直进行到只剩最后一个小孩,该小孩便是游戏的胜者。要求:1、由用户设置参加游戏的人数、以及从哪个人开始计数。2、循环显示每次出列的小孩的编号,直到出

18、现胜利者为止。【实验平台】Windows XP、VC+6.0【实验原理及设计方案】可以用一个类模拟小孩站成圆圈。类中必须包含的数据是用于描述圆圈的数据结构,可以使用链表结构来描述。类中的数据成员就是表示链表结构的指针等数据。链表中用每个结点代表一个小孩,每个结点是一个结构体,结构体中包括小孩的的编号及指向下一个小孩的指针。【源程序代码】【实验结果及分析】1、模拟圆圈结构,可以用数据链表结构,也可以用数组等其他方法实现。2、该例也可以不使用面向对象的方法实现,可以通过其他方法实现。【实验启发】 实验十二、 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】【实验内容与要求】【

19、实验平台】【实验原理及设计方案】【源程序代码】【实验结果及分析】【实验启发】 实验十三、 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】【实验内容与要求】【实验平台】【实验原理及设计方案】【源程序代码】【实验结果及分析】【实验启发】 实验十四、 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】【实验内容与要求】【实验平台】【实验原理及设计方案】【源程序代码】【实验结果及分析】【实验启发】 实验十五、 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】【实验内容与要求】【实验平台】【实验原理及设计方案】【源程序代码】【实验结果及分析】【实验启发】 实验十六、 实验时间 月 日,星期 ,第 节;批阅时间 月 日实验成绩【实验目的】【实验内容与要求】【实验平台】【实验原理及设计方案】【源程序代码】【实验结果及分析】【实验启发】

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号