@[TOC]8. 编写一个程序,显示一个提供加法、减法、乘法、除法的菜单。获得用户选择的选项后,程序提示用户输入两个数字,然后执行用户刚才选择的操作。
8. 编写一个程序,显示一个提供加法、减法、乘法、除法的菜单。获得用户选择的选项后,程序提示用户输入两个数字,然后执行用户刚才选择的操作。该程序只接受菜单提供的选项。程序使用float类型的变量储存用户输入的数字,如果用户输入失败,则允许再次输入。进行除法运算时,如果用户输入0作为第2个数(除数),程序应提示用户重新输入-一个新值。
注:本人是个大一学生,目前只学习了这本书的前八章,所以代码可能又嗅又难懂,也可能乱用一些专用名词。有错误的话,希望大家尽情批评指导。
2020年4月17日
(一)解题思路:
看到这个题的时候,我想到的是用前几章学过模块化来处理:
- 在纸上写出大概结构,列出需要的函数;
- 为每个函数分配任务;
- 编写代码,实现每个函数的功能;
- 将各个模块整合到一起;
- 调试程序;
ps:这样子说,可能只有我能看懂吧 ( ̄▽ ̄)"
(二)代码如下:
注:定义函数时我不太会用括号里有参数的,所以下面代码括号中全部使用的是(void)
。
#include <stdio.h>
char menu(void); //定义函数:菜单
float first(void); //定义函数:判断第一个数字
float second(void); //定义函数:判断第一个数字
float add(void); //定义函数:加法
float subtract(void); //定义函数:减法
float multiply(void); //定义函数:乘法
float divide(void); //定义函数:除法
int main(void)
{
char ch;
while ((ch = menu()) != 'q') //调用menu函数
{
while (getchar() != '\n')
continue;
switch (ch)
{
case 'a':add();