当前位置: 代码迷 >> C语言 >> [求助]新手关于四则计算器的
  详细解决方案

[求助]新手关于四则计算器的

热度:118   发布时间:2007-08-14 18:20:30.0
[求助]新手关于四则计算器的

#include <stdio.h>

int main(void)
{

int a,b;
char x;



printf("<< 四则计算器 >>\n");
printf("+ 加法, 请输入------>1\n");
printf("- 减法, 请输入------>2\n");
printf("* 乘法, 请输入------>3\n");
printf("/ 除法, 请输入------>4\n");
printf("exit 离开, 请输入------>5\n");
printf("请输入使用方法的编号:");
scanf("%c",&x);
switch(x)
{


case '1':
printf("请输入第一个加数 <?>+:");
scanf("%d",&a);
printf("请输入第二个加数 %d+<?>:",a);
scanf("%d",&b);
printf("最后结果为%d+%d=%d\n\n\n",a,b,a+b);
break;

case '2':
printf("请输入第一个减数<?>-:");
scanf("%d",&a);
printf("请输入第二个减数%d-<?>:",a);
scanf("%d",&b);
printf("最后结果为%d-%d=%d",a,b,a-b);
break;
case '3':
printf("请输入第一个乘数<?>*:");
scanf("%d",&a);
printf("请输入第二个乘数%d*<?>:",a);
scanf("%d",&b);
printf("最后结果为%d*%d=%d",a,b,a*b);
break;
case '4':
printf("请输入第一个除数<?>/:");
scanf("%d",&a);
printf("请输入第二个除数%d/<?>:",a);
scanf("%d",&b);
printf("最后结果为 %d/%d=%d",a,b,a/b);
break;
case '5':
printf("goodbye!!再见!!");
break;
default :printf("\n 错误\n");
}

return 0;

}


我才刚刚学C,,
问题白痴点,
做了个四则计算器
请问一下
1 怎么能让最后的除法显示出小数?
2 怎么能让他在运算完了又回到刚刚开始的那个界面? (for, while, do while,还不是很会用)
请高手帮帮说下!感激不尽!

搜索更多相关的解决方案: 计算器  printf  

----------------解决方案--------------------------------------------------------
改一下输出数据类型
printf("最后结果为 %d/%d=%f",a,b,(float)a/b);
----------------解决方案--------------------------------------------------------

anlogo

恩 行了!! 真是太谢谢您了!

就还差 循环语句了,!

还不是几会用 我试了都不行

请知道的朋友指点下!

[此贴子已经被作者于2007-8-14 18:48:35编辑过]


----------------解决方案--------------------------------------------------------
你把程序放在一个循环语句里面```就可以了``

循环的测试条件可以是:让用户输入Y/N来决定```

这是提示``:

while(s)
{
...
scanf("空格&c",s);
}



----------------解决方案--------------------------------------------------------
以下是引用dysaini在2007-8-14 18:20:30的发言:

#include <stdio.h>

int main(void)
{

int a,b;
char x;



printf("<< 四则计算器 >>\n");
printf("+ 加法, 请输入------>1\n");
printf("- 减法, 请输入------>2\n");
printf("* 乘法, 请输入------>3\n");
printf("/ 除法, 请输入------>4\n");
printf("exit 离开, 请输入------>5\n");
printf("请输入使用方法的编号:");
scanf("%c",&x);
switch(x)
{


case '1':
printf("请输入第一个加数 <?>+:");
scanf("%d",&a);
printf("请输入第二个加数 %d+<?>:",a);
scanf("%d",&b);
printf("最后结果为%d+%d=%d\n\n\n",a,b,a+b);
break;

case '2':
printf("请输入第一个减数<?>-:");
scanf("%d",&a);
printf("请输入第二个减数%d-<?>:",a);
scanf("%d",&b);
printf("最后结果为%d-%d=%d",a,b,a-b);
break;
case '3':
printf("请输入第一个乘数<?>*:");
scanf("%d",&a);
printf("请输入第二个乘数%d*<?>:",a);
scanf("%d",&b);
printf("最后结果为%d*%d=%d",a,b,a*b);
break;
case '4':
printf("请输入第一个除数<?>/:");
scanf("%d",&a);
printf("请输入第二个除数%d/<?>:",a);
scanf("%d",&b);
printf("最后结果为 %d/%d=%d",a,b,a/b);
break;
case '5':
printf("goodbye!!再见!!");
break;
default :printf("\n 错误\n");
}

return 0;

}


我才刚刚学C,,
问题白痴点,
做了个四则计算器
请问一下
1 怎么能让最后的除法显示出小数?
2 怎么能让他在运算完了又回到刚刚开始的那个界面? (for, while, do while,还不是很会用)
请高手帮帮说下!感激不尽!




#include <stdio.h>

int menu(void)
{
int x;
printf("<< 四则计算器 >>\n");
printf("+ 加法, 请输入------>1\n");
printf("- 减法, 请输入------>2\n");
printf("* 乘法, 请输入------>3\n");
printf("/ 除法, 请输入------>4\n");
printf("exit 离开, 请输入------>5\n");
printf("请输入使用方法的编号:");
scanf("%d",&x);
return x;
}

void operation(int x)
{
float a,b;

switch(x)
{


case 1:
printf("请输入第一个加数 <?>+:");
scanf("%f",&a);
printf("请输入第二个加数 %f+<?>:",a);
scanf("%f",&b);
printf("最后结果为%f+%f=%f\n\n\n",a,b,a+b);
break;

case 2:
printf("请输入第一个减数<?>-:");
scanf("%f",&a);
printf("请输入第二个减数%f-<?>:",a);
scanf("%f",&b);
printf("最后结果为%f-%f=%f",a,b,a-b);
break;
case 3:
printf("请输入第一个乘数<?>*:");
scanf("%f",&a);
printf("请输入第二个乘数%f*<?>:",a);
scanf("%f",&b);
printf("最后结果为%d*%d=%f",a,b,a*b);
break;
case 4:
printf("请输入第一个除数<?>/:");
scanf("%f",&a);
printf("请输入第二个除数%f/<?>:",a);
scanf("%f",&b);
printf("最后结果为 %f/%f=%f",a,b,a/b);
break;
case 5:
printf("goodbye!!再见!!");
break;
default :printf("\n 错误\n");
}
}

int xunwen(void)
{
int a;
printf("\n继续? 1 \n退出? 0 \n");
scanf("%d",&a);
return a;
}

int main(void)
{

int x;

do
{
x=menu();

operation(x);
}
while(xunwen());

getchar();

getchar();

return 0;

}


没调试,应该没什么问题
不过强烈建议用cin和cout
偶输入的累死

[此贴子已经被作者于2007-8-14 19:11:46编辑过]


----------------解决方案--------------------------------------------------------
最好学会用函数
比较方便
都写在一起很累的
写起来也烦
----------------解决方案--------------------------------------------------------
还有你中间的计算函数
即switch那个语句可以简单点改一下
#include <iostream.h>
float a,b;
cout<<"请输入第一个数:";
cin>>a;
cout<<"请输入第二个数:";
cin>>b;
switch()
{
case 1:cout<<a<<"+"<<b<<"="<<a+b<<endl;
………………………………

}
----------------解决方案--------------------------------------------------------
lijy520
谢谢您的指点啊.
真厉害啊,!
我才刚刚学C 不怎么会


还有也谢谢 死了都要C.

[此贴子已经被作者于2007-8-14 19:46:00编辑过]


----------------解决方案--------------------------------------------------------
  相关解决方案