《计算机C++实训指导2011》由会员分享,可在线阅读,更多相关《计算机C++实训指导2011(7页珍藏版)》请在金锄头文库上搜索。
1、C+程序设计实验指导一、课程设计目的1、熟悉高级语言程序设计的过程与方法。2、加深对高级语言的理解,通过上机掌握一种程序设计语言。3、熟悉和了解Visual C+开发的环境。掌握结构化程序设计的方法。4、能独力完成程序的设计任务。5、程序设计后,能进行代码测试、调试,并能及时排除错误,培养动手能力。二、实验内容实验题目可从以下两项中选做:(一)完成以下程序中的九道基本合格,完成十一道达到良好,全部完成可得优秀。1编程序,从键盘输入两个int型(整型)数据,而后通过使用运算符、*、/、来计算这两个数的和、差、积、商以及余数,并将结果显示在屏幕上。2设a=1,b=1,c=3,试编程分别计算如下表达
2、式的值,写出程序的运行结果:(1) b+=a+2*c%5(2) a*=b=c=3(3) a+=b+=c(4) a-=b=+c+23下列程序的功能是:输入3个实数a,b,c,求出方程的根,并显示在屏幕上。方程的根的情况有下列几种:4用for循环编写程序,使其完成下面功能:(1)提示用户输入两个整数:FirstNum和SecondNum(FirstNum一定要小于SecondNum)。(2)输出所有界于FirstNum和SecondNum之间的奇数。(3)输出所有界于FirstNum和SecondNum之间偶数的和。(4)输出所有界于FirstNum和SecondNum之间的奇数的平方和。5一只母
3、鸡5元钱,一只公鸡3元钱,3只小鸡1元钱,用100元钱买100只鸡,有多少种买法?编程序输出所有可能的结果。6编写程序,确定每位员工的工资总额。每位员工一周工作40小时以内,付给规定的报酬,超出40小时的工作时间里,是规定报酬的1.5倍。在程序中应该输入员工的工作时数及每小时的规定报酬。程序输出形式:Enter hours worked(-1 to end):39Enter hourly rate of the worker ($00.00):10.00Salary is $390.00Enter hours worked(-1 to end):40Enter hourly rate of t
4、he worker ($00.00):10.00Salary is $400.00Enter hours worked(-1 to end):41Enter hourly rate of the worker ($00.00):10.00Salary is $415.00Enter hours worked(-1 to end):-17某公司根据销售业绩给销售人员付酬。销售人员每周的薪水为200美金加上周销售额的9%。例如:销售员一周卖出了5000美元的产品,那么他的薪水就是200美元加上5000美元的9,总数为650美元。请开发一个程序,输入每位销售人员的销售总额,并计算销售人员的应得报酬。
5、程序输出形式:Enter sales in dollars(-1 to end):5000.00Salary is:$650.00Enter sales in dollars(-1 to end):6000.00Salary is:$740.00Enter sales in dollars(-1 to end):7000.00Salary is:$830.00Enter sales in dollars(-1 to end):-18公司支付报酬时,经理得到固定的周薪800元,计时工人的薪水为固定小时薪(前40小时的)规定报酬加上加班费(超出40小时的工作时间里,是规定报酬的1.5倍),销售人员
6、的薪水是250美元的固定薪水加上销售额的5.5%,计件工人是按其生产件数发薪(计件工人只生产一种产品)。请编写程序,计算每位员工的周薪。事前我们并不知道员工的数目。每种类型的员工均有代码:经理的代码为1,计时工人的代码为2,销售人员的代码为3,计件工人的代码为4。请采用switch结构,根据员工的代码来计算每位员工的薪水。程序输出形式如下:Enter code(-1 to end):3Commission worker selected.Enter gross weekly sales:4000Commission workers pay is $478.00Enter code(-1 to
7、end):2Hourly worker selected.Enter the hourly salary:4.50Enter the total hours worked:20Workers pay is $90.00Enter code(-1 to end):4Piece worker selected.Enter number of pieces:50Piece workers pay is $150.00Enter code(-1 to end):-1Total number of managers paid :0Total number of hourly workers paid :
8、0Total number of commission workers paid :0Total number of piece workers paid :0 9编写函数,令其在屏幕上显示一个由井号围成的空心正方形,该正方形的边长由参数side指定。例如:如果side的值是5,则函数就会显示: 如果side的值是3,则函数就会显示: 10在一个多层停车库停车3小时,最低收费为$2.00,如果超出3小时,每小时会增加$0.50的费用。停车24小时,最高收取费用$10.00。假定每辆车不会一次停留24小时以上。有3位顾客昨天将车停在次停车库,请编写程序来计算应该收取的费用。在程序中,应该可以输入
9、每位顾客停车的小时数,还可以用简单明了的表格方式打印计算结果,然后计算并打印出昨天收取的全部费用。程序应该调用CalCharges函数来确定每位顾客的费用。程序输出形式如下:Enter the hours parked for three cars: 1.5 4.0 4.0Car Hours Charges1 1.5 2.002 4.0 2.503 24.0 10.00TOTAL 29.5 14.5011下列程序中,函数fun功能是:实现B=A+A,即把矩阵A加上A的转置,存放在B中返回main函数。请将程序补充完整。例如:输入下面矩阵: 其转置矩阵为: 程序输出:1 2 3 1 4 7 2
10、6 10 4 5 6 2 5 8 6 10 14 7 8 9 3 6 9 10 14 18 1217个人围成一圈,编号为117,从1号开始报数,报到3的倍数的人离开,一直数下去,直到最后只剩下1人为胜利者。求此人的编号。提示:数组是线性排列的,人是围成圈的,用数组表示这个圈,要有一种从数组尾部跳到其头部的技巧,这就是“加1求模”。当数到数组尾的时候,下一个数组下标值可以算得为0,从而回到数组首以继续整个过程。离开的人数组元素用0标记。include void main() const int num=17; /人数 int anum,i; for ( i=0;inum;i+) /给每个人进行编
11、号ai=i+1;for ( i=0;inum;i+) /输出一圈人的编号 coutai”,”;coutendl;int k=1; /标识处理第k个离开的人int i=-1; /数组下标(下一个值0就是第一个人的下标)while(1) /处理获胜前的人for (int j=0;j3) /在圈中数3个人 i=(i+1)%num; /对下标加1求模 if (ai!=0) j+; /如果该元素的人在圈中,则承认数数有效if (k= =num) break; /该人是最后一个人吗? coutai”,”; /输出离开的人的编号ai=0; /标识该人已经离开 k+; /准备处理下一个圈中的人cout ”n第
12、”ai”个人赢得胜利。”; /输出胜利者 修改以上程序,使其具有普遍性:一群人围成一圈,任意假定一个数m,从第一个人起,每数到第m个人时,该人离开,问最后的胜利者是谁?13某公司生产很多不同种类的玩具,每种都有一个商品编号,编写程序,读入每种玩具的商品编号和价格,并把它们分别存储在number数组和price数组中,程序应该允许用户执行下面的操作:(1)根据用户输入的商品号查找并显示对应商品的价格。(2)打印每种商品的商品号和对应的价格(二)综合应用实例学生成绩管理编写一个菜单驱动的学生成绩管理程序。实现如下管理功能:(1) 能输入并显示 n 个学生的 m 门考试科目的成绩、总分和平均分。 (
13、2) 按总分进行排序。 (3) 按学号进行排序。 (4) 任意输入一个学号,能显示该学生的姓名、各门功课的成绩 具体要求如下: 1 )先用静态的数据结构(结构体数组)来存储和管理 n 个学生的学号、姓名、成绩等信息,进行编程。2 )排序函数是一个具有多种排序方式的、通用的、排序程序,即不仅可以实现成绩的升序排序,还可以实现成绩的降序排序。3 )程序能够进行异常处理,检查用户输入数据的有效性,在用户输入数据有错误(如类型错误)或无效时,不会中断程序的执行,程序具有一定的健壮性。4 )输出菜单形式如下: 1.输入学生记录2.浏览学生记录3.修改学生记录4.排序0.退出请选择(0-4): 5) 排序菜单形式如下:排序方式: 1.按总分升序排序2.按总分降序排序3.按学号排序0.返回主菜单请选择:三、课程设计要求写出完整的设计报告,设计报告要求如下: 封面 设计题目及要求; 算法分析及实现步骤(要求有详细的文字表述或程序流程图); 源程序代码; 实训总结