加减乘除计算器——C primer plus 5edith chapter 8
来源:互联网 发布:windows下重启nginx 编辑:程序博客网 时间:2024/06/11 18:47
编写一个程序,显示一个菜单,为您提供加法、减法、乘法或除法的选项,获得您的选择后,该程序请求两个数,然后执行您选择的操作,该程序应该只接受它所提供的菜单选项,它应该使用float类型的数,并且如果用户未能输入数字应允许其重新输入,在除法的情况中,如果用户输入0作为第二个数,该程序应该提示用户输入一个新的值。
#include <stdio h="">#include <stdlib h="">#include <ctype h="">void operation_menu();char get_first();float get_float();char get_choice();int main(void){float num1, num2;char ch;printf_s("Enter the operation of your choice:\n");operation_menu();while ((ch=get_choice())!='q'){printf_s("Enter first number:");num1 = get_float();printf_s("Enter second number:");num2 = get_float();while (ch == 'd'&&num2 == 0){printf_s("!Please enter another number that does't include 0.\n");num2 = get_float();}switch (ch){case 'a':printf_s("%.2f+%.2f=%.2f\n", num1, num2, (num1 + num2));break;case 's':printf_s("%.2f-%.2f=%.2f\n", num1, num2, (num1 - num2));break;case 'm':printf_s("%.2f*%.2f=%.2f\n", num1, num2, (num1*num2));break;case 'd':printf_s("%.2f/%.2f=%.2f\n", num1, num2, (num1 / num2));break;default:break;}printf_s("Enter the operation of your choice:\n");operation_menu();}printf_s("Bye.\n");system("pause");return 0;}//获取第一个字符char get_first(){int ch;ch = getchar();while (isspace(ch)){ch = getchar();}while (getchar()!='\n'){continue;}return ch;}//打印菜单选项void operation_menu(){printf_s("a.add s.subtract\n");printf_s("m.multiply d.divide\n");printf_s("q.quit\n");}//获取数字float get_float(){float num;char str[40];while (scanf_s("%f",&num)!=1){gets_s(str);printf_s("%s is not a number.\n",str);printf_s("Please enter a number,such as 2.5,-1.78E8,or 3:");}while (getchar()!='\n'){;}return num;}//选择函数char get_choice(){char choice;choice = get_first();while (choice!='a'&&choice!='s'&&choice!='m'&&choice!='d'&&choice!='q'){printf_s("Please response with a,s,m,d or q.\n");choice = get_first();}return choice;}</ctype></stdlib></stdio>
0 0
- 加减乘除计算器——C primer plus 5edith chapter 8
- C primer plus -- Chapter 2
- c primer plus Chapter 14 p383
- 《C primer plus》笔记--Chapter 1
- 《C Primer Plus》读书笔记——递归
- C primer plus chapter 6 scanf and bool
- C++ Primer Plus (Chapter 9)
- Chapter 9<C++ Primer Plus>
- c++ primer plus chapter 2
- 读书笔记——《C Primer Plus》: 一个例程divisors.c
- [C] 副作用和顺序点——《C Primer Plus》
- [C] 复合文字——《C Primer Plus》
- [C] 存储类——《C Primer Plus》
- [C] 类型限定词volatile——《C Primer Plus》
- [C] 文件I/O内幕——《C Primer Plus》
- [C] 可变宏——《C Primer Plus》
- C Primer Plus. Fifth Edition 翻译Chapter 3 数据和C (Data and C)第一部分
- C Primer Plus. Fifth Edition 翻译Chapter 3 数据和C (Data and C)之二
- 第一个Python程序
- 【dp】Leetcode House Robber&& House Robber II
- MyEclipse识别Eclipse的Web项目
- HDU - 1575 Tr A 纯矩阵快速幂
- 运算符的重载
- 加减乘除计算器——C primer plus 5edith chapter 8
- 什么是AOP
- 1011. A+B和C (15):睡前第二水
- 动态改变actionbar的menu菜单MenuItem的显示
- 提高Python运行效率的六个窍门
- js模拟一个回车事件(ie下支持)
- 5.9
- android自助点单APP(4)java连接小票打印机
- Cocos2d-x中touchDragEnter() touchDragInside() 的区别