
c语言编程简单计算器问题
大神帮忙看看,乘法和除法中的“C”不能用#include<stdio.h>#include<stdlib.h>voidsum(){doubles,a,c=0;charb;...
大神帮忙看看,乘法和除法中的“C”不能用
#include<stdio.h>
#include<stdlib.h>
void sum(){
double s,a,c=0;
char b;
s=a=0;
while(1){
scanf("%s",&b);
if(b=='=') break;
else if(b=='A') {s=0,a=0; continue;}
else if(b=='C') {s-=c;}
a=atof(&b);
c=a;
s+=a;}
printf("%lf\n",s);}
void dec()
{double s,a=0,c=0;
char b;
scanf("%lf",&s);
while(1){ scanf("%s",&b);
if(b=='=') break;
if(b=='A') {s=0,a=0; continue;}
if(b=='C') {s+=c;}
a=atof(&b);
c=a;
s-=a;}
printf("%lf\n",s);}
void mcl(){double s=1,a=1,c=1;
char b;
while(1){
scanf("%s",&b);
if(b=='=') break;
if(b=='A') {s=0,a=0; continue;}
if(b=='C') {s=1.0*s/c;}
a=atof(&b);
c=a;
s*=a;}printf("%lf\n",s);}
void ave(){double s,a=1,c=1;
char b;
scanf("%lf",&s);
while(1){
scanf("%s",&b);
if(b=='=') break;
if(b=='A') {s=0,a=0; continue;}
if(b=='C') {s*=c;}
a=atof(&b);
c=a;
s/=a;}
printf("%lf\n",s);}
int main (){
char i,j;
printf("是否使用计算器?Y/N\n");
scanf("%s",&i);
while(i=='y' || i=='Y'){
printf("请选择你所需要进行的运算类型:\n");
scanf("%s",&j);
switch(j){
case '+': sum(); break;
case '-': dec(); break;
case '*': mcl(); break;
case '/': ave(); break;
default : printf("请输入正确的运算类型。\n"); break;}
printf("是否继续使用计算机?Y/N\n");
scanf("%s",&i);}
} 展开
#include<stdio.h>
#include<stdlib.h>
void sum(){
double s,a,c=0;
char b;
s=a=0;
while(1){
scanf("%s",&b);
if(b=='=') break;
else if(b=='A') {s=0,a=0; continue;}
else if(b=='C') {s-=c;}
a=atof(&b);
c=a;
s+=a;}
printf("%lf\n",s);}
void dec()
{double s,a=0,c=0;
char b;
scanf("%lf",&s);
while(1){ scanf("%s",&b);
if(b=='=') break;
if(b=='A') {s=0,a=0; continue;}
if(b=='C') {s+=c;}
a=atof(&b);
c=a;
s-=a;}
printf("%lf\n",s);}
void mcl(){double s=1,a=1,c=1;
char b;
while(1){
scanf("%s",&b);
if(b=='=') break;
if(b=='A') {s=0,a=0; continue;}
if(b=='C') {s=1.0*s/c;}
a=atof(&b);
c=a;
s*=a;}printf("%lf\n",s);}
void ave(){double s,a=1,c=1;
char b;
scanf("%lf",&s);
while(1){
scanf("%s",&b);
if(b=='=') break;
if(b=='A') {s=0,a=0; continue;}
if(b=='C') {s*=c;}
a=atof(&b);
c=a;
s/=a;}
printf("%lf\n",s);}
int main (){
char i,j;
printf("是否使用计算器?Y/N\n");
scanf("%s",&i);
while(i=='y' || i=='Y'){
printf("请选择你所需要进行的运算类型:\n");
scanf("%s",&j);
switch(j){
case '+': sum(); break;
case '-': dec(); break;
case '*': mcl(); break;
case '/': ave(); break;
default : printf("请输入正确的运算类型。\n"); break;}
printf("是否继续使用计算机?Y/N\n");
scanf("%s",&i);}
} 展开
1个回答
展开全部
#include<stdio.h> int main() { int i,i1,i2,num; while(true) { printf("\n"); printf("\n"); printf(" *********************\n"); printf(" * *\n"); printf(" * 常规计算器 *\n"); printf(" * *\n"); printf(" *********************\n"); printf(" 请选择你要进行的计算:\n"); printf(" 1.常规计算<加减乘除..>\n"); printf(" 2.退出\n"); printf("请输入你的选择:\n"); scanf("%d",&i); if(!(i > 0&&i < 3)) { if(i==1) { while(true) { system("cls"); printf("\n"); printf("\n"); printf(" 1.加\n"); printf(" 2.减\n"); printf(" 3.乘\n"); printf(" 4.除\n"); printf(" 5.取模\n"); printf(" 6.返回\n"); printf(" 7.退出\n"); printf("请输入你的选择:\n"); scanf("%d",&i); if(!(i >0 &&i<7)) { if(i==1) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num = i1+i2; printf("结果为%d\n", num); } else if(i==2) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num = i1-i2; printf("结果为%d\n", num); } else if(i==3) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num = i1*i2; printf("结果为%d\n", num); } else if(i==4) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num=i1/i2; printf("结果为%d\n", num); } else if(i==5) { printf("输入2个数字, 用空格隔开: "); scanf("%d %d", &i1, &i2); num=i1%i2; printf("结果为%d\n", num); }else if(i==6) { break; }else if(i==7) { return 0; } else { printf("输入有误,请重试!"); } } } } else if(i==2) { return 0; } else { printf("请重新选择:"); } } } } 加了两个while 和两个if if(!(i > 0&&i < 3)); 要去掉 “;” if(!(i >0 &&i<7)); 去掉“;” 加了 else if(i==6) { break; }else if(i==7) { return 0; }
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-06-12 广告
要入门STM32单片机,可以按照以下步骤进行学习:1. 首先学习51单片机,了解其基本结构和特点。2. 学习STM32的内部架构,了解其核心部件如何与外设连接。3. 学习STM32的寄存器和总线结构,理解如何使用寄存器来控制外设。4. 编写...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询