VC++实验指导书
江苏科技大学电子信息学院计算机系 实验一 C++上机操作和输入/出练习一、实验目的::熟悉Visual C++6.0集成开发环境和程序开发的一般步骤。
二、实验内容:
1.按照教材第1章1.5的步骤上机操作,以例1.1作验证。
2.编写程序要求用sizeof操作符验证教材表2-4中各数据类型所占的字节长度,输出格式为:
sizeof(char)=1 byte(s)
sizeof(short)=2 byte(s)
……
3.编写程序要求:
(1)运行时首先提示“Input a,b,c=”,然后从键盘上依次输入三个整数(如:8、5、11),分别赋给整型变量a、b、c;
(2)求a、b、c中的最小值赋给整型变量i;
(3)以下列格式输出最小值。
min(8,5,11)=5
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括体会)
实验二 简单的程序设计一、实验目的
1.进一步熟悉VC++的使用环境;
2.学习简单的程序设计方法。
二、实验内容:
1.编写一个程序,实现根据输入的x值,可求出y的值,并输出x和y的值。计算y值的数学公式为:

2.设计一个程序,输入实型变量x和y的值。若x>y,则输出x-y的值;否则,输出y-x的值。
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括体会)
实验三 选择结构设计一、实验目的学习使用if语句和switch语句实现选择结构;
二、实验内容:
1.编写一个程序判定某年是否为闰年。
2.设计一个程序,将从键盘上输入的百分制成绩转换成对应的五分制成绩并输出。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。用开关语句实现。
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括体会)
实验四 循环结构设计一、实验目的学习使用while语句、for语句和do-while语句实现循环结构。
二、实验内容:
1.从键盘上输入10个整数,分别计算出其中所有正整数之和和负整数之和,0不计算,编写程序,显示求和结果。
2.分别用while语句和for语句编写程序,求(即求1!+2!+3!+…+10!)。
3.编写程序,程序的功能为显示如下图案:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括体会)
实验五 函数的使用一、实验目的
1.学习函数定义、调用和声明的方法。
1.学习函数的嵌套调用和递归调用的方法;
2.学习函数重载的方法;
3.学习全局变量、局部变量、动态变量和静态变量的概念和使用方法;
4.学习内部函数和外部函数的定义和使用方法;
5.学习编译预处理命令。
二、实验内容
1.猴子吃桃问题。有一批桃,某猴第一天吃去其中的一半再加一个,第二天在第一天吃剩下的桃中又吃去其中的一半再加一个,以后天天如此。到第十天发现,经过前九天的吃桃后,这批桃只剩下一个。问这批桃原先共有几个。
提示:先由第10天的桃子数可求出第9天的桃子数,再求出第8天的桃子数,……,最后求出第一天的桃子数。设第n天的桃子数为f(n),通过分析可得
f(n)= 1 (n=10)
2f(n+1)+2 (1<=n<10)
2.编写程序完成从键盘上输入整型变量n的值,调用函数fac ( ),求n!的值。
3.编写程序,由键盘输入两个整数,分别调用两个函数,求出这两个数的最大公约数和最小公倍数,返回主函数后显示结果。
4.设计三个函数,函数名均为max,功能是求两个int型数、两个double型数和三个double型数中的最大数。设计主函数,对这三个函数的功能进行测试。
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括体会)
实验六 数组的使用一、实验目的:
1.学习一维数组、二维数组和字符数组的概念和使用方法;
2.学习常用的标准字符串函数;
3.学习将数组作为函数参数的方法。
二、实验内容:
1.输入一组整数,找出其中最大元素值及其下标;
2.输入一批只含1、2、3的数据,以-1结束。分别统计其中1、2、3的个数;
3.编写程序,输入5*5阶矩阵各元素的值,求所有元素的平均值、下三角中的最大元素和最小元素。
4.编写程序,统计输入的字符串中大写英文字母、小写英文字母、数字和其它字符的个数。
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括实验体会)
实验七 结构体和指针的使用一、实验目的:
1.学习指针变量的定义和使用;
2.学习指向数组的指针变量的定义和使用;
3.学习指针数组的定义和使用。
二、实验内容:
1.有一个班4个学生,2门课。编写程序实现以下功能:
(1)调用函数input(),输入这4个学生的学号和成绩,放在一个4*3的二维数组中,每一行的第1个元素放学号,第2、第3个元素放成绩;
(2)调用函数aver(),返回这4个学生2门课的平均成绩,在主函数中输出;
(3)调用函数nopass(),返回所有有不及格成绩的学生的学号,在主函数中输出。
2.编写程序,从键盘读入若干个数,输出它们的最大值,最小值和平均值,要求:
(1)用一个数组存放各整数;
(2)在主函数中实现数据的输入和输出,用一个函数sub()求出它们的最大值、最小值和平均值;
(3)分别用传指针和传引用两种方式编写sub()函数。
3.编写程序,定义一个存放5名职工数据的结构数组(其结构类型包括工号、姓名、工资三个成员),在主函数中输入5名职工的数据,调用函数求出这5名职工的总工资和平均工资,在主函数中输出结果。
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括实验体会)
实验八 类和对象一、实验目的:
学习类和对象的定义和使用。
二、实验内容:
1.定义一个时间类Time,它能初始化、修改和显示由时、分、秒组成的时间。在主函数中先将时间设为18时42分30秒,然后显示过了8时25分32秒之后的时间。
2.编写一个程序输入3个学生的英语和计算机成绩,并按总分从高到低排序。要求设计一个学生类student,其定义如下:
class student{
int English,computer,total;
public:
void getscore(); //获取一个学生成绩
void display(); //显示一个学生成绩
};
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括实验体会)
实验九 构造函数、析构函数
一、实验目的:
1.学习构造函数、复制构造函数和析构函数的定义和使用;
2.学习静态数据成员和静态成员函数的定义和使用;
3.学习友元函数的定义和使用;
4.体会面向对象程序设计方法的特点。
二、实验内容:
1.定义一个学生类Student,其中包括姓名和成绩,姓名用动态分配的字符数组存放,要求在对象被撤消时,能将动态数组所占空间归还给堆内存。
主函数的内容为:
void main(){
Student s1(“卢小曼”,80),s2(s1);
s1.print();s2.print(); //显示学生对象s1和s2的姓名和年龄
}
2.定义一个人民币类RMB,其中包括元、角和分三个数据成员,除了要求定义类RMB的构造函数、复制构造函数和析构函数以外,还要求定义如下四个成员函数:
(1)显示人民币对象元、角和分值的成员函数disp();
(2)设置人民币对象元、角和分值的成员函数set();
(3)求两个人民币对象之和的成员函数addRMB();
(4)求两个人民币对象之差绝对值的成员函数subRMB()。
设计主函数main(),其内容是对上述成员函数的功能进行测试。
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括实验体会)
实验十 继承和派生一、实验目的:
1.学习从既有类派生出新类的方法;
2.方法学习虚函数和抽象类的使用方法。
二、实验内容:
编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师数据操作类teacher的基类。
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括实验体会)
实验十一 友元函数一、实验目的:
学习友元函数的使用方法。
二、实验内容:
1.用友元函数的方法求圆柱体体积。
提示:圆柱体的体积涉及到两个变量,底面半径r和高h。定义一个类A,r和h为类A的私有成员数据,利用构造函数来对r和h赋初值。定义类A的两个公有成员函数Getr()和Geth(),分别提取私有数据r和h。定义一个友元函数Volum(),提取r和h,并计算圆柱体的体积。
2.设计一个程序,其中有三个类A,B,C,分别为中国银行类、工商银行类和农业银行类。每个类中都包含私有数据balance用于存放储户在该行的存款数,另有一个友元函数total()用于计算储户在这三家银行的总存款数。
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括实验体会)
实验十二 运算符重载一、实验目的:
学习操作符重载的方法。
二、实验内容:
定义一个学生类,数据成员包括:姓名,学号,C++、数学和物理的成绩。重载运算符“<<”和“>>”,实现学生类对象的直接输入和输出。增加转换函数,实现姓名和总成绩的转换。设计一个完整的程序,验证成员函数和重载运算符的正确性。
三、实验过程:
(包括源程序)
四、实验结果:
(包括测试数据、操作结果)
五、实验总结:
(包括实验体会)