麻烦哪位大神帮我把下面的程序用C语言改为函数调用的啊。急啊!!!!!!!!!谢谢啦

#include<stdio.h>#include<stdlib.h>#include<string.h>intmain(){inty;doubleshu1=0;doub... #include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
int y;
double shu1=0;
double shu2=0;
char fuhao;

do
{
printf("|-----------------------|\n");
printf("| 实用计算器 |\n");
printf("| 1--加法 |\n");
printf("| 2--减法 |\n");
printf("| 3--乘法 |\n");
printf("| 4--除法 |\n");
printf("| 0--退出 |\n");
printf("| 请选择(0-4) |\n");
printf("|-----------------------|\n\n");

scanf("%d",&y);
getchar();
switch(y)
{
case 1:
shu1=0;
shu2=0;
fuhao=0;
printf("请输入第一个数字:");
scanf("%lf",&shu1);
printf("请输入第二个数字:");
scanf("%lf",&shu2);
printf("\n %lf + %lf = %lf \n",shu1,shu2,shu1+shu2);
getchar();
break;
case 2:
shu1=0;
shu2=0;
fuhao=0;
printf("请输入第一个数字:");
scanf("%lf",&shu1);
printf("请输入第二个数字:");
scanf("%lf",&shu2);
printf("\n %lf - %lf = %lf \n",shu1,shu2,shu1-shu2);
getchar();
break;
case 3:
shu1=0;
shu2=0;
fuhao=0;
printf("请输入第一个数字:");
scanf("%lf",&shu1);
printf("请输入第二个数字:");
scanf("%lf",&shu2);
printf("\n %lf * %lf = %lf \n",shu1,shu2,shu1*shu2);
getchar();
break;
case 4:
shu1=0;
shu2=0;
fuhao=0;
printf("请输入第一个数字:");
scanf("%lf",&shu1);
printf("请输入第二个数字:");
scanf("%lf",&shu2);
if(shu2==0)
{
printf("除数不能为零,无法计算\n");
break;
}

printf("\n %lf / %lf = %lf \n",shu1,shu2,shu1/shu2);
getchar();
break;

case 0:
printf(" 谢谢使用\n");
exit(1);
default:
printf(" 输入错误,请重新输入\n");
}
}
while (y>0);
}
展开
 我来答
心中风情4
推荐于2016-01-06 · TA获得超过2247个赞
知道大有可为答主
回答量:1779
采纳率:66%
帮助的人:1084万
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void menu() {
    printf("|-----------------------|\n");
    printf("|      实用计算器       |\n");
    printf("|         1--加法       |\n");
    printf("|         2--减法       |\n");
    printf("|         3--乘法       |\n");
    printf("|         4--除法       |\n");
    printf("|         0--退出       |\n");
    printf("|     请选择(0-4)     |\n");
    printf("|-----------------------|\n\n");
}

void add() {
    double shu1=0;
    double shu2=0;
    char fuhao=0;
    printf("请输入第一个数字:");
    scanf("%lf",&shu1);
    printf("请输入第二个数字:");
    scanf("%lf",&shu2);
    printf("\n     %lf + %lf  = %lf \n",shu1,shu2,shu1+shu2);
    getchar();
}

void sub() {
    double shu1=0;
    double shu2=0;
    char fuhao=0;
    printf("请输入第一个数字:");
    scanf("%lf",&shu1);
    printf("请输入第二个数字:");
    scanf("%lf",&shu2);
    printf("\n     %lf - %lf  = %lf \n",shu1,shu2,shu1-shu2);
    getchar();
}

void mul() {
    double shu1=0;
    double shu2=0;
    char fuhao=0;
    printf("请输入第一个数字:");
    scanf("%lf",&shu1);
    printf("请输入第二个数字:");
    scanf("%lf",&shu2);
    printf("\n     %lf * %lf  = %lf \n",shu1,shu2,shu1*shu2);
    getchar();
}

void divide() {
    double shu1=0;
    double shu2=0;
    char fuhao=0;
    printf("请输入第一个数字:");
    scanf("%lf",&shu1);
    printf("请输入第二个数字:");
    scanf("%lf",&shu2);
    if(shu2==0)
    {
        printf("除数不能为零,无法计算\n");
        return;//注意这里
    }
    
    printf("\n     %lf / %lf  = %lf \n",shu1,shu2,shu1/shu2);
    getchar();
}

int main()
{
    int y;
    
    do
    {
        menu();
        
        scanf("%d",&y);
        getchar();
        switch(y)
        {
        case 1: 
            add();
            break;
        case 2: 
            sub();
            break;
        case 3: 
            mul();
            break;
        case 4: 
            divide();
            break;
            
        case 0:
            printf("    谢谢使用\n");
            exit(1);
        default:
            printf("    输入错误,请重新输入\n");
        }
    }
    while (y>0);
}
飞翔的菜菜
2013-11-26 · TA获得超过2227个赞
知道大有可为答主
回答量:2941
采纳率:50%
帮助的人:1298万
展开全部
/*把逻辑问题都放在一个子函数中,直接通过主函数给子函数传递参数来执行*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void DoSomeThing(int y1,double shu11,double shu22,char fuhao);

int main()
{
int y;
double shu1=0;
double shu2=0;
char fuhao;
DoSomeThing(y,shu1,shu2,fuhao); /*调用子函数*/

}

/*实现逻辑的子函数*/
void DoSomeThing(int y1,double shu11,double shu22,char fuhao)
{

do
{
 printf("|-----------------------|\n");
 printf("|      实用计算器       |\n");
 printf("|         1--加法       |\n");
 printf("|         2--减法       |\n");
 printf("|         3--乘法       |\n");
 printf("|         4--除法       |\n");
 printf("|         0--退出       |\n");
 printf("|     请选择(0-4)     |\n");
 printf("|-----------------------|\n\n");

scanf("%d",&y);
 getchar();
 switch(y)
 {
   case 1: 
           shu1=0;
           shu2=0;
           fuhao=0;
           printf("请输入第一个数字:");
           scanf("%lf",&shu1);
           printf("请输入第二个数字:");
           scanf("%lf",&shu2);
           printf("\n     %lf + %lf  = %lf \n",shu1,shu2,shu1+shu2);
           getchar();
           break;
   case 2: 
           shu1=0;
           shu2=0;
           fuhao=0;
           printf("请输入第一个数字:");
           scanf("%lf",&shu1);
           printf("请输入第二个数字:");
           scanf("%lf",&shu2);
           printf("\n     %lf - %lf  = %lf \n",shu1,shu2,shu1-shu2);
           getchar();
           break;
   case 3: 
           shu1=0;
           shu2=0;
           fuhao=0;
           printf("请输入第一个数字:");
           scanf("%lf",&shu1);
           printf("请输入第二个数字:");
           scanf("%lf",&shu2);
           printf("\n     %lf * %lf  = %lf \n",shu1,shu2,shu1*shu2);
           getchar();
           break;
   case 4: 
           shu1=0;
           shu2=0;
           fuhao=0;
           printf("请输入第一个数字:");
           scanf("%lf",&shu1);
           printf("请输入第二个数字:");
           scanf("%lf",&shu2);
           if(shu2==0)
           {
              printf("除数不能为零,无法计算\n");
               break;
           }

           printf("\n     %lf / %lf  = %lf \n",shu1,shu2,shu1/shu2);
           getchar();
           break;

   case 0:
           printf("    谢谢使用\n");
           exit(1);
   default:
           printf("    输入错误,请重新输入\n");
 }
}
while (y>0);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式