2022年程序设计基础实验报告 .pdf
程序设计基础1 程序设计基础实验报告学号: 20112627 姓名:王飞班级:电子信息工程01 学院:计算机与信息学院实验一面向过程的简单程序设计1.实验目的要求(1)使用 C+ 语言编写简单的计算机程序,掌握C+程序从编辑、编译到运行的全过程,初步了解 C+程序的特点。(2)掌握 C+ 语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运算符和表达式的使用。(3)掌握赋值语句的使用。(4)掌握数据的输入输出方法。2实验设备Visual C+ 6.03实验内容(1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。dcbax源代码 : #include void main() floata,b,c,d,x,y cinabcdx; y=x+(a+b)/(c-d); coutyendl; 测试过程和运行结果分析: 输入数据为:2 3 4 2 5 运行结果为: 7.5 1111xx源代码 : #include 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 26 页 - - - - - - - - - 程序设计基础2 #include void main() floatx,y; coutx; y=sqrt(1+1/(x+1/(x+1); couty=y; 测试过程和运行结果分析: 输入数据: 2 运行结果为: 1.9523 sinX+cosX+tan-1X 源代码 : #include #include void main() f loatx,y; coutx; y=sin(x)+cos(x)+1/tan(x); couty=y; 测试过程和运行结果分析: 输入数据: 2 运行结果: 0.035493 ex+y+ex-y源代码 : #include #include void main() floatx,y,z; coutx; couty; z=exp(x+y)+exp(x-y); coutz=z; 测试过程和运行结果分析: 输入数据: 1,2 运行结果: 20.4534 log10(1+21x) 源代码 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 26 页 - - - - - - - - - 程序设计基础3 #include #include void main() floatx,y; coutx; y=log10(1+sqrt(1+pow(x,2); couty=y; 测试过程和运行结果分析:输入数据: 1 运行结果 :0.382776 22ba+ba源代码 : #include #include void main() floata,b,y; couta; coutb; y=fabs(a*a-b*b)+floor(a-b); couty=y; 测试过程和运行结果分析: 输入数据: 4,5 运行结果 :8 (2)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能。测试过程和运行结果分析:输入数据为: A 运行结果为: A 输入数据为: a 运行结果为: A 无论输入为大写或小写字母时,结果都为大写。其中ch=(ch= A &ch= Z )?(ch+32):ch;此语句是将大写字母转换为小写字母,如果是小写字母,则保持不变测试过程和运行结果分析: 输入数据为100,40 运行结果为: 0,1 输入数据为 :2000,3000 运行结果为:1,0 输入数据为1000,2000 运行结果为: 0,0 输入数据为 :300,100 运行结果为:0,1 输入两个数,判断其与1000 的大小,第一个数如果比1000 大,则为真,输出 1,否则为假,输出0;第二个数如果比1000小,则为真,输出 1,否则为假,输出0;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 26 页 - - - - - - - - - 程序设计基础4 bi=m1000; br=x=1e3;就是用于判断的测试过程和运行结果分析: 输入数据为: 4 运行结果为:5 输入数据为: 24 运行结果为:25 输入一个数, 判断其与10 的大小关系, 如果小于10 ,输出该数加1,否则,也输出该数加一。本题考察自增与自减。后置运算是在使用该数之后使该数加 1。(3)编写程序实现下列问题的求解根据随机从键盘输入的圆半径值,求圆的周长和半径并输出。源代码 : #include void main() floatr,s; coutr; s=3.14*r*r; couts=s; 测试过程和运行结果分析: 输入数据: 2 运行结果 :12.56 对任意输入的四位整数,分别求出其各位数字,并按从后到前的顺序依次输出。例如,输入为1234 时,输出结果为4,3,2,1。源代码 : #include void main() inta,b,c,d,e; cina; b=a/1000; c=a/100-10*b; d=a/10-100*b-10*c; e=a-1000*b-100*c-10*d; coute” ,” d” ,” c” ,” b; 输入数据: 6789 运行结果 :9,8,7,6 4. 实验总结本次实验学习了C/C+语言编程基本语法,能编写简单的赋值和输入输出程序。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 26 页 - - - - - - - - - 程序设计基础5 实验二控制结构程序设计1. 实验目的要求(1)理解基本的解题技巧,掌握用自顶向下、逐步求精的过程设计算法。(2)熟练掌握 if/else 语句和 switch 语句的使用。(3)熟练掌握while 语句、 do/while 语句和 for 语句的使用以及区别。(4)掌握 break 和 continue 程序控制语句的使用。2实验设备Visual C+ 6.03实验内容(1)阅读下列程序,写出(由指定的输入)所产生的运行结果,并指出其功能测试过程和运行结果分析: 输入数据: 1000,850 运行结果:(1000,850 ) (150,850 ) (150,700 ) (150,550) (150,400 ) (150,250 )(150,100 ) (50,100 ) (50,50 )50 分析:输入两个数,保留较小的数以及两个数之差,按此规律计算,直到两个数相等为止。运用了while语句及其嵌套测试过程和运行结果分析: 输入数据: 1000,45 运行结果:(1000:45 ) -10 分析:输入两个数,用大数减较小数,直到两数相等,并记录计算次数测试过程和运行结果分析: 运行结果 :*#*#*$ 分析:运用了循环语句,通过判断余数是1 或零输出 *或#,最后循环结束输出$ 测试过程和运行结果分析: 运行结果: a=2,b=8 (2)编写程序实现下列问题的求解。求解下面函数的值。ex+y x0,y0 z= ln(x+y) 1x+y10 log10|x+y|+1其它情况源代码:#include #include void main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 26 页 - - - - - - - - - 程序设计基础6 floatz,x,y; cinx; ciny; if(x0)&(y=1)&(x+y10) z=log(x+y); else z=log10(fabs(x+y)+1); coutz; 测试过程和运行结果分析: 输入数据: 1,2 运行结果: 1.09861 -3,-4 0.000911882 编程求解下列各计算式: 1)1001ii源代码: #include void main() ints,i; s=0; i=1; do s=s+i; i=i+1; while(i=100); coutsendl; 测试过程和运行结果分析: 运行结果: 5050 2)71!ii!源代码: #include void main() inti,s,x; i=1; s=1; x=1; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 26 页 - - - - - - - - - 程序设计基础7 dox=x*(i+1); s=s+x; i=i+1; while(i=6); couts; 测试过程和运行结果分析: 运行结果: 5913 3)源代码:#include #include void main() ints,i; s=0; i=1; do s=s+i*(i+1); i=i+1; while(i=39); coutsendl; 测试过程和运行结果分析: 运行结果: 21320 编程产生出1 到 10 以内的所有数对并输出 ,其中 ij。源代码:( 7)#include void main() inti,j; i=1; j=1; for(i=1;i=10;i+) for(j=1;jj) cout” ” i, j” endl; 测试过程和运行结果分析: 运行结果 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 26 页 - - - - - - - - - 程序设计基础8 编程求出10000 以内的所有符合如下条件的数:其高位数字小于低位数字。如 12,238,3578 等。但 21,548 不符合条件。源代码:#include void main() inta,b,c,d,n; for(n=0;n=999;n+) a=n/100; b=(n-a*100)/10; c=n-a*100-b*10; if(ab&bc) coutnendl; for(n=1000;n10000;n+) a=n/1000; b=(n-a*1000)/100; c=(n-a*1000-b*100)/10; d=n-a*1000-b*100-c*10; if(ab&bc&cd) coutnendl; 测试过程和运行结果分析: 12 13 14 15 16 17 18 19 23 24 25 26 27 28 29 34 35 36 37 38 39 45 46 47 48 49 5657 58 59 67 68 69 78 79 89 123 124 125 126 127 128 129 134 135 136 137 138 139 145 146 147 148 149 156 157 158 159 167 168 169 178 179 189 234 235 236 237 238 239 245 246 247 248 249 256 257 258 259 267 268 269 278 279 289 345 346 347 348 349 356 357 358 359 367 368 369 378 379 389 456 457 458 459 467 468 469 478 479 489 567 568 569 578 579 589 678 679 689 789 1234 1235 1236 1237 1238 1239 1245 1246 1247 1248 1249 1256 1257 1258 1259 1267 1268 1269 1278 1279 1289 1345 1346 1347 1348 1349 1356 1357 1358 1359 1367 1368 1369 1378 1379 1389 1456 1457 1458 1459 1467 1468 1469 1478 1479 1489 1567 1568 1569 1578 1579 1589 1678 1679 1689 1789 2345 2346 2347 2348 2349 2356 2357 2358 2359 2367 2368 2369 2378 2379 2389 2456 2457 2458 2459 2467 2468 2469 2478 2479 2489 2567 2568 2569 2578 2579 2589 2678 2679 2689 2789 3456 3457 3458 3459 3467 3468 3469 3478 3479 3489 3567 3568 3569 3578 3579 3589 3678 3679 3689 3789 4567 4568 4569 4578 4579 4589 4678 4679 4689 4789 5678 5679 5689 5789 6789 Press any key to continue 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 26 页 - - - - - - - - - 程序设计基础9 4. 实验总结掌握 if/else 语句和 switch 语句, while 语句、 do/while 语句和 for 语句, break 和 continue 程序控制语句的使用。实验三数组1. 实验目的要求(1)掌握一维数组和二维数组的定义、初始化赋值、元素引用的方法。(2)初步了解数组名与地址的关系。(3)掌握字符数组和字符串函数的使用。(4)掌握与数组有关的算法(特别是排序和查找算法)。2实验设备Visual C+ 6.0 3实验内容(1)阅读下列程序,写出其运行结果,并指出其功能。测试过程和运行结果分析: 运行结果: 100 1 99 9 96 25 91 49 84 81 Sum of a =635 100 99 96 91 84 81 49 25 9 1 分析: 结果分析: 首先定义的一个整型数组,当数组的成员是奇数时,使得数组的每个数为 i 的平方( i 从 0 开始取),当数组的成员是偶数时,令其没个成员的值为100 - ( i / 2 ) * ( i / 2 );之后进行N 次循环,输出每个数组成员的值;然后令s 的初始值为0,再进行 N 次循环每次使得s=s+ai;每次输出s 的值即可。 测试过程和运行结果分析: 运行结果: CERCOMMPP 分析:首先定义两个字符串数组a20,b20;使用 strcat函数将 b 数组连接到a 数组中去,之后a20= ”TERCOMP”, 然后使得将a 数组的值逐一赋给b 数组直到a 数组结束(a 数组从 i=1 的时候开始,即第二个数开始,b 也从第二个开始,所以其b 数组的第一个元素的值是不变的,最后的一个数依然是原先b 数组的最后的一个数) ,最后输出此时b 数组的所有的值。 测试过程和运行结果分析: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 26 页 - - - - - - - - - 程序设计基础10 输入数据: 99 100 运行结果: 99 分析:首先定义几个整型变量和一个整型数组,提示输入两个值n 和 base;当满足n不等于0 的时候执行一下循环, (使 i 自增,令数组num的值为 n/base 的余数,之后令n的值为 n/base 的商的整数部分)当不满足上述条件时,执行循环 (令 i=j ,当 j 大于等于1的时候输出num数组的第j+1 个成员,之后令j 自减,直到不满足上述条件。)(2)编写程序实现下列问题的求解。 编程产生下列数组,并输出。一维数组1)(1 4 9 16 25 36 49 64 81 100) 源代码: #include void main() cout(; int a10; inti,s; for(i=0;i10;i+) ai=(i+1)*(i+1); coutai ; cout); 测试过程和运行结果分析:运行结果: (1 4 9 16 25 36 49 64 81 100) 二维数组 1) 1 2 3 4 5 6 2 3 4 5 6 0 3 4 5 6 0 1 4 5 6 0 1 2 5 6 0 1 2 3 6 0 1 2 3 4 源代码: #include void main() int a66; inti,j; for(i=0;i6;i+) for(j=0;j6;j+) aij=(i+j+1)%7; for(i=0;i6;i+) for(j=0;j6;j+) coutaij ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 26 页 - - - - - - - - - 程序设计基础11 coutendl; 测试过程和运行结果分析: 运行结果: 1 2 3 4 5 6 2 3 4 5 6 0 3 4 5 6 0 1 4 5 6 0 1 2 5 6 0 1 2 3 6 0 1 2 3 4 编程实现数组的排序:将有15 个元素的整型数组按从小到大的次序排序。源代码:#include void main() int a15; int i; int j; int temp=0; for (i=0;iai; coutendl; for (i=0;i15-1;i+) for (j=i+1;jaj) temp=ai; ai=aj; aj=temp; coutendl; for (i=0;i15;i+) coutaiendl; 测试过程和运行结果分析: 输入数据: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 26 页 - - - - - - - - - 程序设计基础12 运行结果: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 编程求一组整数的最大公因子和最小公倍数。源代码: #include #include void main() int a4; inti,j,k,s; cout请输入 4 个值 :; for(i=0;iai; int min=a0; for(i=0;i4;i+) if(aimin)min=ai; for(j=min; ;j-) for(i=0;i4;i+) if(ai%j!=0)break; if(i=4)coutjendl; break; s=1; for(i=0;i4;i+) s=s*ai; k=s/pow(j,4); coutkendl; 测试过程和运行结果分析: 输入数据: 3 6 18 36 运行结果: 3 36 将两个字符串连接起来,不要用strcat。源代码: #include void main() char s180,s240; int i=0,j=0; couts1; couts2; while(s1i!=0) i+; while(s2j!=0) s1i+=s2j+; s1i=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 26 页 - - - - - - - - - 程序设计基础13 couts1endl; 测试过程和运行结果分析: 输入数据: school bus 运行结果: schoolbus 4. 实验总结学习了有关数组的知识实验四函数1. 实验目的要求(1)理解并掌握如何模块化的用函数来构建程序。(2)掌握定义函数的方法,了解函数的重载方法,了解内联函数的机制。(3)掌握函数间传递信息的机制。(4)掌握函数的嵌套调用(和递归调用)的方法。(5)掌握全局变量和局部变量、动态变量和静态变量的概念和使用方法。2实验设备Visual C+ 6.0 3实验内容(1)阅读下列程序,写出其运行结果,并指出其功能。测试过程和运行结果分析: 输入数据: 48 32 运行结果: hcf=16,lcd=96 分析 : 输入两个数, 令较小数为a, 较大数为b,如果 b 除以 a 的余数不为零, 则令其余数为a,hcf=a ;lcd=u*(v/a) 测试过程和运行结果分析: 运行结果: k=13 分析:本题运用了递归函数进行计算,即 fib(?)=fib(7),其中 fib( g 1 ) + fib( g 2 ),且 fib(0)=0,fib(1)=0,fib(2)=1; 测试过程和运行结果分析: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 26 页 - - - - - - - - - 程序设计基础14 运行结果:分析:通过字符的ASCII 码的值的加减得到测试过程和运行结果分析: 运行结果: 0 0 00 9 3 6 12 如果将 (1)处语句改为static intx,y ; 输出结果仍为此,因为未赋值, 系统自动为其赋值为 0 (2)编写程序实现下列问题的求解。求方程 ax2+bx+c=0的根, 用三个函数分别求b2-4ac 大于 0、 等于 0 和小于 0 时的根,并输出结果。从主函数输入a、b、c 的值。源代码: #include #include void f1(float,float); void f2(float,float); void f3(float,float); float x1,x2,disc,p,q; int main() floata,b,c; coutinput a,b,c: abc; disc=b*b-4*a*c; coutroot: 0) f1(a,b);coutx1= x1,x2= x2endl; else if(disc=0) f2(a,b); coutx1= x1,x2= x2endl; else f3(a,b); coutx1= p+qiendl; coutx1= p-qiendl; return 0; void f1(float a,float b) x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 26 页 - - - - - - - - - 程序设计基础15 void f2(float a,float b) x2=x1=(-b)/(2*a); void f3(float a,float b) p=-b/(2*a);q=sqrt(-disc)/(2*a); 测试过程和运行结果分析:输入数据: 1 1 -2 运行结果: x1=1 x2=-2; 编写出判断一个整数是否为素数的函数,并求出在2000 以内的有十个以上的所有连续的非素数组。源代码: #include int f(int n) int i=2; int t; while(n%i!=0) i+; if(in) t=1; else t=0; return t; void main() inti,j=0; int d=0; for(i=2;i=10) for(b=0;bj;b+) d=d+1; if(d%15=0) coutcb; coutendl; elsecoutcb ; j=0; coutendl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 26 页 - - - - - - - - - 程序设计基础16 测试过程和运行结果分析: 4. 实验总结握定义函数的方法,了解函数的重载方法,了解内联函数的机制。掌握函数间传递信息的机制。掌握函数的嵌套调用(和递归调用)的方法。实验五指针1.实验目的要求(1)掌握指针的概念,学会定义和使用指针变量。(2)学会使用数组指针和指向数组的指针变量。(3)学会使用字符串指针和指向字符串的指针变量。(4)了解指向指针的指针的概念以及其使用方法。(5)掌握指针、引用、数组做函数参数的传递机制。(6)* 学会使用指向函数的指针变量。2实验设备Visual C+ 6.03实验内容(1)阅读下面程序,写出其运行结果。测试过程和运行结果分析: 运行结果: -5 ,-12 ,-7 ;分析: 本题先定义一个函数sub,函数中有一个指针变量*z, ,在调用函数时,实参按从左向右的顺序与函数的形参相对应,且a,b 的值也随指针的变化而变化。测试过程和运行结果分析: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 26 页 - - - - - - - - - 程序设计基础17 输入数据: hero 运行结果: 4 分析:此程序是用来衡量字符串的位数,定义了一个函数stre,因为字符串的最后一个字符是0,所以用 * ( str + num ) != 0 作为结束条件。(2)编写程序实现下列问题的求解。将一个 3*3 的矩阵转置, 用一个函数实现。 在主函数中用scanf 输入以下矩阵元素:2,4,6,8, 10,12,14, 16,18。将数组名作为函数实参,函数形参可以用数组。函数调用后在主函数中输出已转置的矩阵。变成1 4 7 2 5 8 3 6 9 源代码: #include #include void move (int *pointer) inti,j,t; for(i=0;i3;i+) for(j=i;j3;j+) t=* (pointer+3*i+j); * (pointer+3*i)+j)=* (pointer+3*j)+i); * (pointer+3*j)+i)=t; void main() int a33; int * p,i; for(i=0;i3;i+) scanf(%d%d%d,&ai0,&ai1,&ai2); p=&a00; move(p); for(i=0;i3;i+) printf(%d%d%dn,ai0,ai1,ai2); 测试过程和运行结果分析:输入数据: 1 2 3 4 5 67 8 9运行结果: 147 258 369 自己写一个strcmp 函数, 实现两个字符串的比较。两个字符串s1,s2由 main 函数输名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 26 页 - - - - - - - - - 程序设计基础18 入, strcmp 函数的返回值也在main 函数中输出。4. 实验总结学会使用数组指针和指向数组的指针变量,使用字符串指针和指向字符串的指针变量。实验六结构和联合类型以及编译预处理1. 实验目的要求(1)掌握结构类型变量、联合类型变量的定义和使用,以及两者在内存中分配空间时的区别。(2)掌握结构类型数组的概念和使用。(3)* 掌握链表的概念,初步学会对链表进行查找、插入、删除、排序等操作。(4)掌握宏定义、文件包含、条件编译的方法。2实验设备Visual C+ 6.03. 实验内容(1)编写程序实现下列问题的求解。在某系的成绩登记册中,每个班最多有40 个学生,每份成绩表中的成绩信息包括:学号( 9 位字符),姓名( 8 位字符),成绩(百分制) ,备注( 20 位字符)。设计程序以处理一个班级的成绩信息,包括输入、输出、查询(给定分数以上或以下的学生信息)、按分数排序等。源代码: #include #include constint n=40; struct student charnum9; char name8; int score4; int other20; stun; int main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 26 页 - - - - - - - - - 程序设计基础19 void print(student stu); inti,j; for(i=0;in;i+) coutinput scores of studenti+1:endl; coutstui.num; coutstui.name; coutstui.score; coutstui.other; coutendl; print(stu); return 0; void print(student stu) inti,j; coutNO. name score otherendl; for(i=0;in;i+) coutstui.num setw(5)stui.name setw(5)stui.scoresetw(5)stui.other; coutendl; 4. 实验总结掌握结构类型变量、联合类型变量的定义和使用,以及两者在内存中分配空间时的区别。实验七类与对象1实验目的要求(1)掌握类的定义和实现。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 26 页 - - - - - - - - - 程序设计基础20 (2)掌握对象创建及使用的基本方法。2实验设备硬件环境:微型计算机软件环境:vc6.0 操作系统:Windows 语言环境:Visual C+ 3. 实验内容(1)阅读下面程序,写出其运行结果。输入数据: 2 34 45 1 47 56;2 67 100 1 56 200运行结果: 4:22:41 ;4:64:240 分析:当 t60 时,程序出现错误,只需将if(seconds=60)seconds-=60; minutes+; if(minutes=60)minutes-=60;hours+;中的 if 改为 while 即可。分析:此程序存在以下错误:1 在类内公有函数中,在函数的类名前不需要加返回类型2 在私有部分不能直接把常量赋值给变量3 在类外定义构造函数不需要返回类型(2)编程题设计一个学生类(student),拥有私有属性: 学号 (num),姓名 (name)。以及若干成员函数。同时编写主函数使用这个类,实现对数据的赋值和输出。要求:用成员函数实现数据的输入和输出。用构造函数实现数据的输入。源代码: #include class student private: intnum; char name; public: voidsetdata(); void display(); ; void student:setdata() cinnamenum; void student:display() coutname=nameendl; coutnumber=numendl; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 26 页 - - - - - - - - - 程序设计基础21 void main() student stud; stud.setdata(); stud.display(); 输入数据: wangfei 20112627 运行结果: wangfei 20112627 4. 实验总结掌握类的定义和实现,对象创建及使用的基本方法。实验八继承与派生类1实验目的要求(1)掌握单继承程序设计的基本方法。(2)掌握多继承程序设计的基本方法。2实验设备硬件环境:微型计算机软件环境: vc6.0 操作系统:Windows 语言环境:Visual C+ 3. 实验内容(1)阅读下面程序,写出其运行结果。运行结果the bicycle has 2 wheels. the bicycle weighs 25 pounds.the bicycles wheel loading is 12.5 pounds per tire. theaudi has 4 wheels. theaudi weighs 3500 pounds.theaudis wheel loading is 875 pounds per tire. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 26 页 - - - - - - - - - 程序设计基础22 thejief has 18 wheels. thejief weighs 12500 pounds. thejiefs efficiency is 72.9291 percent. Press any key to continue 分析:如果将继承方式由公有改为私有,则无法访问运行结果: graduate age grade specialty zhang_ling 24 2001 computer teacher age title specialty wang_qiang 26 tutor electronics in_service_graduate age title work_specialty grade study_specialty Press any key to continue 4. 实验总结掌握单继承程序设计,多继承程序设计的基本方法实验九多态性与虚函数1实验目的(1)掌握虚函数定义及实现。(2)掌握具有多态性的面向对象程序设计的基本方法。(3)掌握纯虚函数与抽象类的定义、实现及应用。2实验设备硬件环境:微型计算机软件环境:操作系统:Windows 语言环境:Visual C+ 3实验内容程序实现的基本功能:小公司人员管理信息。某小公司主要有3 类人员:经理、技术人员、销售员。这些人员分别具有以下属性。经理 :姓名、编号、月工资;技术人员:姓名、编号、工作小时、月工资;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 26 页 - - - - - - - - - 程序设计基础23 销售员:姓名、编号、销售额、月工资;要求:人员编号基数为1000,每输入一个人员信息后编号加1(提示:编号可以用全局变量,构造函数使编号加1) ;月工资计算办法是经理固定月工资8000 元;技术人员按每小时100 元计算工资;销售员按当月销售额的4%提成。根据题目要求,设计一个抽象基数emplyee,然后派生出technici