实验6综合实验一 【实验目的】 1.熟悉掌握数据类型和基本的运算符: 2.掌握分支和循环程序结构 3.掌握基本的输入输出函数 4.理解简单函数的定义和调用 5.理解程序基本的模块化 【实验任务】 1.主菜单 编写程序能够显示以下的主菜单: 宋*宋米家农家水米容宗米家米家米本米率家水米米米家水率水米家宗常家米家水*本率家 主菜单: 1.字母数字转换 (分支)》 2.奖金发放 (分支) 3.打印月历 (循环) 4.打印水仙花 (循环) 5.查找最大最小数 (循环) 6.退出 在主菜单程序中,根据输入的数字1~6来选择相应的选项,在执行完每一个选项之后, 返回主菜单(退出除外)。每一个菜单要完成的任务由下面的2~7依次给出。编写的源程序以 zhsy1.cpp保存。 2.字母数字转换 编写一个函数,能够将字母电话号码转换成数字号码(假设输入的字母都是大写字母, 输入的电话号码以#结束): 例如:输入电话号码:CALLATT,则输出:2255288。 -109-
实验 6 综合实验一 【实验目的】 1. 熟悉掌握数据类型和基本的运算符; 2. 掌握分支和循环程序结构 3. 掌握基本的输入输出函数 4. 理解简单函数的定义和调用 5. 理解程序基本的模块化 【实验任务】 1.主菜单 编写程序能够显示以下的主菜单: **************************************** 主菜单: 1.字母数字转换 (分支) 2.奖金发放 (分支) 3.打印月历 (循环) 4.打印水仙花 (循环) 5.查找最大最小数 (循环) 6.退出 **************************************** 在主菜单程序中,根据输入的数字 1~6 来选择相应的选项,在执行完每一个选项之后, 返回主菜单(退出除外)。每一个菜单要完成的任务由下面的 2~7 依次给出。编写的源程序以 zhsy1.cpp 保存。 2.字母数字转换 编写一个函数,能够将字母电话号码转换成数字号码(假设输入的字母都是大写字母, 输入的电话号码以#结束): 例如:输入电话号码:CALLATT,则输出:2255288。 - 109 -
输入电话号码:1-800-C0L-LECT,则输出:1-800-265-5328。 提示:电话上的字母、数字对照表如下:2=ABC,3=DEF,4=GHl,5=KL,6=MNO, 7=PRS,8=TUV,9=WXY。如果原始的电话号码中出现了非字母字符,则这部分字符保持不 变。 训练要点:循环及多分支程序设计的综合应用。 调用该函数运行结果参考示例如图6.1所示。 "C:\c-programming\Debug\zhsy1.exe =▣x X兴州州洲州州米代州兴M州N兴代州H州兴兴州兴兴州州N兴¥洲 4 主菜单 字母数字转换 奖金发放 打印月月 打印水仙花 最大最小数 6. 退出 解批洲兴州托州城¥州兴机州兴州解洲机洲州托兴城洲 请输入菜单项: - 请输入电话号码,以#键结束 CALLATT# 2255288 一请输入菜单项: --- Press any key to continue 图6-1调用“字母数字转换”函数的运行结果 3.奖金发放 企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%:利润高于10 万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%: 20万到40万之间时,高于20万元的部分,可提成5%,;超过40万元的部分按3%提成,编 写一个函数从键盘输入当月利润,输出应发放奖金的总数? 提示:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 训练要点:多分支程序设计的应用。 调用该函数运行结果参考示例如图62所示。 -110-
输入电话号码:1-800-COL-LECT,则输出:1-800-265-5328。 提示:电话上的字母、数字对照表如下:2=ABC,3=DEF,4=GHI,5=JKL,6=MNO, 7=PRS,8=TUV,9=WXY。如果原始的电话号码中出现了非字母字符,则这部分字符保持不 变。 训练要点:循环及多分支程序设计的综合应用。 调用该函数运行结果参考示例如图 6.1 所示。 图 6-1 调用“字母数字转换”函数的运行结果 3.奖金发放 企业发放的奖金根据利润提成。利润低于或等于 10 万元时,奖金可提 10%;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可提成 7.5%; 20 万到 40 万之间时,高于 20 万元的部分,可提成 5%,;超过 40 万元的部分按 3%提成,编 写一个函数从键盘输入当月利润,输出应发放奖金的总数? 提示:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 训练要点:多分支程序设计的应用。 调用该函数运行结果参考示例如图 6.2 所示。 - 110 -
"C:\c-programming\Debug\zhsy1.exe" -▣x #¥H¥MXMMMMMMMMM兴HNNH关兴HN兴 主菜 母数字转换 2 发放 3 打印水仙花 查技最大最小数 6. 退出 请输入菜单项: 请输入利润: 237800 奖金 28390.00 请输入菜单项: Press any key to continue 图6-2调用“奖金发放”函数的运行结果 4.打印月历 编写一个函数,打印一个月的月历。要求给出要打印月份的天数以及本月第一天是星期 几。 训练要点:循环程序设计的应用。 调用该函数运行结果参考示例如图63所示。 "C:\c-programming\Debug\zhsy1.exe" -▣x 菜单 数字转换 2 打印月厉 4 打印水仙花 5 查找最大最小数 返出 请输入菜单项: 请羧入显示月的天数:31 请输入这个月开始的一天属于星期几:<1=星期日,2=星期一..):3 2 3 4 5 7 9 18 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 9 30 31 请输入菜单项: Press any key to continue 图6-3调用“打印月历”函数的运行结果 5.打印水仙花数 三位水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。(例如: -111-
图 6-2 调用“奖金发放”函数的运行结果 4.打印月历 编写一个函数,打印一个月的月历。要求给出要打印月份的天数以及本月第一天是星期 几。 训练要点:循环程序设计的应用。 调用该函数运行结果参考示例如图 6.3 所示。 图 6-3 调用“打印月历”函数的运行结果 5.打印水仙花数 三位水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身。(例如: - 111 -
13+53+33=153)。编写一个函数,打印出所有的三位的水仙花数。 训练要点:for循环语句的应用。 调用该函数运行结果参考示例如图6.4所示。 "C:\c-programming\Debug\zhsy1.exe 回x 主菜单 母数字转换 打印月历 9. 打印水仙花 5. 查找最大最小数 6. 退出 请输入菜单项: 水仙花数是: 153370371407 请输入菜单项: Press any key to continue 图6-4调用“打印水仙花”函数的运行结果 6.查找最大最小数 编写函数,从键盘上输入N个整数,找出其中最大的和最小的数。要求输入N的值,以 及这N个数。 训练要点:循环程序设计的应用。 调用该函数运行结果参考示例如图6.5所示。 "C:\c-programming\Debug\zhsy1.exe" -回X 主菜单 母数字转换 3 4. 打印水仙花 5, 查找最大最小数 6. 退出 请输入菜单项:-一 情输入数据的个数n: 请输入这?个数: 23767811293376 这?个数中,最大的数是112最小的数是9 -请输入菜单项: Press any key to continue 图6-5调用“查找最大最小数”函数的运行结果 -112-
1^3 + 5^3 + 3^3 = 153)。编写一个函数,打印出所有的三位的水仙花数。 训练要点:for 循环语句的应用。 调用该函数运行结果参考示例如图 6.4 所示。 图 6-4 调用“打印水仙花”函数的运行结果 6.查找最大最小数 编写函数,从键盘上输入 N 个整数,找出其中最大的和最小的数。要求输入 N 的值,以 及这 N 个数。 训练要点:循环程序设计的应用。 调用该函数运行结果参考示例如图 6.5 所示。 图 6-5 调用“查找最大最小数”函数的运行结果 - 112 -
7.退出 输入菜单项的第6项,退出整个程序的运行。 整个程序所有的函数连续调用的程序运行结果如图6.6所示。 "C:\c-programming\Debug\zhsy1.exe 一▣x H (NMM-NNHNN 主苹苗 母数字转换 迎金发 4. 打印水花 5, 查找最大最小数 退出 请输入菜单项: 请输入电话号码,以#键结束 1-800-C0L-LECT# 1-800-265-5328 一请输入菜单项: 请输入利润: 245g00 奖金是 33750.00 输入菜单项:- 请输入显示月的天数:31 情输入这个月开始的一天属于星期几:(1=星期日,2=星期一.):4 1 2 3 4 5 6 8 9 10 11 12 13 14 15 18 20 21 22 9 24 26 27 28 29 30 3 请输入菜单项: 水仙花数是: 153378371407 -请输入菜单项: 请输入数据的个数n: 情输入这8个数: 2377845679823711287 这8个数中, 最大的数是?8,最小的数是23 请输入菜项: Press any key to continue 图6-6完整程序运行的结果 -113-
7.退出 输入菜单项的第 6 项,退出整个程序的运行。 整个程序所有的函数连续调用的程序运行结果如图 6.6 所示。 图 6-6 完整程序运行的结果 - 113 -