| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3019 人关注过本帖
标题:我是新手,编了一个只能加减乘除的计算器,请问哪里出错了啊?
只看楼主 加入收藏
fky1989
Rank: 1
来 自:山西省太原市
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-10-3
收藏
 问题点数:0 回复次数:10 
我是新手,编了一个只能加减乘除的计算器,请问哪里出错了啊?
#include "stdio.h"
main()
{
float a,b,c;
printf("shurudiyigeshu:");
scanf("%f",&a);
printf("shurudiergeshu:");
scanf("%f",&b);
printf("shurufuhao(+,-,*,/)");
char q,w,e,r;
q=+;w=-;e=*;r=/;
if(scanf("%c",q)) printf("a+b=%f",c);
else if(scanf("%c",w)) printf("a-b=%f",c);
     else if(scanf("%c",e)) printf("a*b=%f",c);
          else printf("a/b=%f",c);
getch();
}

[[it] 本帖最后由 fky1989 于 2008-10-22 14:43 编辑 [/it]]
搜索更多相关主题的帖子: 计算器 加减乘除 
2008-10-22 14:24
tashuodao
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-10-22
收藏
得分:0 
char q,w,e,r;
这一句放到程序首部,  声明语句必须在程序首部,不是么?
还有我估计你这个根本就不能出结果是么? printf只能输出a+b 而不能计算呐?
2008-10-22 15:05
wcn1990
Rank: 1
等 级:新手上路
帖 子:13
专家分:3
注 册:2008-10-22
收藏
得分:0 
#include "stdio.h"
main()
{
float a,b,c;
char q;
printf("shurudiyigeshu:");
scanf("%f",&a);
printf("shurudiergeshu:");
scanf("%f",&b);
printf("shurufuhao(+,-,*,/)");
getchar();
scanf("%c",&q);
if(q=='+')printf("a+b=%f",a+b);
 if(q=='-') printf("a-b=%f",a-b);
   if(q=='*') printf("a*b=%f",a*b);
    if(q=='/') printf("a/b=%f",a/b);
getch();
}
2008-10-22 15:39
sf469210604
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2008-9-26
收藏
得分:0 
错的地方好多啊
scanf("%c",q)没加地址符号&
而且把这句放在IF中是表示输入一个字符到q中成功,则返回1,就执行printf("a+b=%f",c)
你这样是得不出结果的
2008-10-22 16:16
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
楼主的程序明显错误,定义运算符以及输入和判断等都是错的。下面我写了一个小小的记算器,谨作参考:
程序代码:
/*******************************************************************************

        简单的记算器。

*******************************************************************************/
#include<stdio.h>
#include<string.h>
int main(void)
{
    double a,b;
    char sum;
    puts("input a and b:");
    scanf("%lf %lf",&a,&b);  /* 输入两个运算数的数值 */
    getchar();
    puts("input symbol:");
    sum=getchar();    /* 输入运算符 */
    switch(sum)
    {
        case '+': printf("a+b=%.3lf\n",a+b);    break;
        case '-': printf("a-b=%.3lf\n",a-b);    break;
        case '*': printf("a*b=%.3lf\n",a*b);    break;
        case '/': printf("a/b=%.3lf\n",a/b);    break;
        default : printf("error \n");  /* 当输入的运算符不是+、-、*、/时,打印错误信息 */
    }
    return 0;
}


[[it] 本帖最后由 广陵绝唱 于 2008-10-22 18:37 编辑 [/it]]
2008-10-22 18:35
hjmHhyp
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-10-9
收藏
得分:0 
回复 1# fky1989 的帖子
这个q=+;w=-;e=*;r=/;有逻辑错误吧,还有scanf();的用法错误。5#的同学就些的不错。
2008-10-22 20:22
快乐使者
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-10-25
收藏
得分:0 
计算器---源代码
#include <stdio.h>
#include <string.h>
void main()
{
float a,b;
char temp;
printf("请输入第一个数:");
scanf("%f",&a);
printf("请输入第二数:");
scanf("%f",&b);
printf("请选择运算(+,-,*,/)");
getchar();
scanf("%c",&temp);
switch(temp)
{
    case'+':printf("a+b=%f\n",a+b);
             break;
    case'-':printf("a-b=%f\n",a-b);
             break;
    case'*':printf("a*b=%f\n",a*b);
             break;
    case'/':if(b!=0)
             printf("a/b=%f\n",a/b);
            else
            {
                printf("除数不能为零!\n\n请重新输入第二个数:");
                scanf("%f",&b);
                printf("a/b=%f\n",a/b);
            }
            break;
    default:break;
}
}
2008-10-25 15:28
zjjian1989
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-10-24
收藏
得分:0 
#include<stdio.h>
main()
{
    int data1,data2;
    char op;
    printf("please enter the expression:\n");
    scanf("%d%1s%d",&data1,&op,&data2);
    switch(op)
    {
        case'+':
            printf("%d+%d=%d\n",data1,data2,data1+data2);break;
        case'-':
            printf("%d-%d=%d\n",data1,data2,data1-data2);break;
        case'*':
            printf("%d*%d=%d\n",data1,data2,data1*data2);break;
        case'/':
            if(0==data2)
                printf("wrong");
            else
                printf("%d/%d=%f",data1,data2,(float)data1/data2);break;
        default:
            printf("wrong");}}
2008-10-25 22:39
zjjian1989
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-10-24
收藏
得分:0 
我觉得这样更好
2008-10-25 22:40
fky1989
Rank: 1
来 自:山西省太原市
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-10-3
收藏
得分:0 
[bo][un]wcn1990[/un] 在 2008-10-22 15:39 的发言:[/bo]

#include "stdio.h"
main()
{
float a,b,c;
char q;
printf("shurudiyigeshu:");
scanf("%f",&a);
printf("shurudiergeshu:");
scanf("%f",&b);
printf("shurufuhao(+,-,*,/)");
getchar();
scanf("%c",& ...

xiexie le !
2008-10-30 23:10
快速回复:我是新手,编了一个只能加减乘除的计算器,请问哪里出错了啊?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019101 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved