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