加减乘除+菜单实现

来源:互联网 发布:知乎 迪卡侬篮球鞋 编辑:程序博客网 时间:2024/05/22 11:26
#include<stdio.h>#include<ctype.h>double Arithmetic(char ch, double x, double y);char Menu(void);double input(void);int main(void){    char ch;    double x,y;    while(ch=Menu())    {        printf("Enter first number:");        x=input();        printf("Enter second number:");        y=input();        printf("\n%.2f %c %.2f = %.2f\n",x, ch, y, Arithmetic(ch, x,y));    }    printf("done\n");    return 0;}double Arithmetic(char ch, double x, double y){        switch(ch)    {             case '+' :                 return x+y;             case '-' :                 return x-y;             case '*' :                 return x*y;             case '/' :                 return x/y;             default :                return 0;    }}char Menu(void){    char menu;   for(;;)       {        for(int i=0;i<80;i++)            putchar('*');        printf("\nEnter the number corresponding to the desired pay rate or action:\n");        printf("a) add                         s) subtract\n");        printf("m) multiply                    d) divide\n");        printf("q) quit\n");        for(int i=0;i<80;i++)            putchar('*');        putchar('\n');        menu=getchar();        switch(menu)        {            case 'a':               return '+';            case 'm':               return '*';            case 's':               return '-';            case 'd':               return '/';            case 'q':               return 0;            default:                {                    printf("Enter Again!\n");                    while(getchar()!='\n')continue;                }       }       }}double input(void){    char ch;    double x;    while(scanf("%lf", &x)==0)        {            while((ch=getchar)!='\n')            {                putchar(ch);            }            printf(" is not an number.\n");            printf("Please enter a number:");        }    return x;}

原创粉丝点击