注册 登录
编程论坛 C++教室

问个问题.

b123456 发布于 2008-09-22 21:53, 1275 次点击
#include <iostream.h>

void main()

{   char mingling
   

    cout<<"*********************";
    cout<<"计算机程序"<<'\n';
    cout<<"a是加法运算"<<'\n';
    cout<<"b是减法运算"<<'\n';
    cout<<"c是退出程序"<<'\n';

    cout<<"请你输入命令:";

    cin>>mingling;    

    switch (mingling)
    {
    case 'a':
        cout<<"计算加法\n";
        cout<<"请输入第一个数:\n";
        cin>>a;
        cout<<"请输入第二个数:\n";
        cin>>b;

          break;
    case 'b':
        cout<<"计算减法";
    case 'c':
        cout<<"程序退出";
        break;
    default;
        cout<<"你输入的指令不合法\n";
        break;
    }

}

这程序哪里有错误呀? 我找了半天没找到哪错?
19 回复
#2
b1234562008-09-22 21:54
谁帮忙给看一下..我找了半天了发现错误
#3
天使梦魔2008-09-22 21:56
#include <iostream.h>

void main()

{   char mingling //没有分号?
   

    cout<<"*********************";
    cout<<"计算机程序"<<'\n';
    cout<<"a是加法运算"<<'\n';
    cout<<"b是减法运算"<<'\n';
    cout<<"c是退出程序"<<'\n';

    cout<<"请你输入命令:";

    cin>>mingling;   

    switch (mingling)
    {
    case 'a':
        cout<<"计算加法\n";
        cout<<"请输入第一个数:\n";
        cin>>a; //A变量在哪里?
        cout<<"请输入第二个数:\n";
        cin>>b;

          break;
    case 'b':
        cout<<"计算减法";
    case 'c':
        cout<<"程序退出";
        break;
    default;
        cout<<"你输入的指令不合法\n";
        break;
    }

}
#4
b1234562008-09-22 21:59
分号加上了不过还是编译错误.

A变量在哪里?什么意思噢?

不明白
#5
天使梦魔2008-09-22 22:28
#include <iostream>
using namespace std;

int main()

{   char mingling;
    int a,b,c;

    cout<<"*********************";
    cout<<"计算机程序"<<'\n';
    cout<<"a是加法运算"<<'\n';
    cout<<"b是减法运算"<<'\n';
    cout<<"c是退出程序"<<'\n';

    cout<<"请你输入命令:";

    cin>>mingling;   

    switch (mingling)
    {
    case 'a':
        cout<<"计算加法\n";
        cout<<"请输入第一个数:\n";
        cin>>a;
        cout<<"请输入第二个数:\n";
        cin>>b;

          break;
    case 'b':
        cout<<"计算减法";
        break;
    case 'c':
        cout<<"程序退出";
        break;
    default:
        cout<<"你输入的指令不合法\n";
        break;
    }

}


======================================================
我极度服了你了,我没VC,这是G++下的.
default;后面不是分号...
cin>>a;//输入流,输入流要输入数据的,A是什么东西
你前面根本没有定义过,你觉得
cout<<"a是加法运算"<<'\n';
或者
cin>>mingling;
就是对A的定义了?
#6
zhangbowen06182008-09-22 22:34
a,b没有定义,还有default后面是冒号,而不是分号.
#7
b1234562008-09-23 10:03
谢谢了问题解决了呵呵
#8
箭头2008-09-23 10:19
新手求助一
#include<iostream.h>
void main()
{
int a,b,c;
a=1;b=2;c=3;
a=b--<=a||a+b!=c;
cout<<a<<","<<b<<endl;
}
则上述程序运行后的输出结果是_____.
//书的答案是1,1.可我做的是1,2.我不明白那个b为什么会是1的,它不是2吗?
望赐教.
#9
newyj2008-09-23 12:42
b--<=a中的b是2但是b--后a+b!=c中的b就成1 了
#10
我是2008-09-23 22:13
#include <iostream>
using namespace std;

int main()

{   char mingling;
    char a,b,c;
    int i=1,m,n;
    while(i==1)
    {   cout<<"*********************";
        cout<<"计算机程序"<<'\n';
        cout<<"a是加法运算"<<'\n';
        cout<<"b是减法运算"<<'\n';
        cout<<"c是退出程序"<<'\n';

        cout<<"请你输入命令:";

          cin>>mingling;   

  switch (mingling)
  {
   
     if (mingling==a)   
      case 'a':
      {
        cout<<"计算加法\n";
        cout<<"请输入第一个数:";
        cin>>m;
        cout<<"请输入第二个数:";
        cin>>n;
        cout<<"他们的合为:"<<m+n;
          break;
      }
    if (mingling==b)
      case 'b':
        {
        cout<<"计算减法\n";
        cout<<"请输入第一个数:";
        cin>>m;
        cout<<"请输入第二个数:";
        cin>>n;
        cout<<"他们的差为:"<<m+n;
        break;
        }
    if (mingling==c)
      case 'c':
        {
        cout<<"程序退出";
        break;
        }
        
      else
        {

        cout<<"你输入的指令不合法\n";
        break;
        }
  }
}
    return (0);

}

1楼试试这个。  这样可以的。
#11
我是2008-09-23 22:18
顶9楼。就是这样的。
#12
箭头2008-09-24 00:28
新手求助一
谢谢!真的谢谢你.newyj
#13
箭头2008-09-24 00:36
新手求助二
有以下程序段,其输出结果是()
int x,y,z;
x=y=z=0;
++x||++y&&++z;
cout<<x<<","<<y<<","<<z<<endl;
A)1,1,1  B)1,1,0   C)1,0,0  D)0,0,0
//其答案为C,但我做的是A,我真的不明白++x||++y&&++z;这句与cout<<x<<","<<y<<","<<z<<endl;的联系,它不是要我输出X,Y,Z吗?别笑我笨哦!望指教.
#14
newyj2008-09-24 13:29
因为||是(或) 也就是说 只要有一个是ture 就不会 再执行||后面的++y&&++z
在c++中 1 可以被隐式转换为 ture的
#15
箭头2008-09-25 12:21
高!谢谢,我终于明白了.错的值呀
#16
lockhawk2008-09-25 13:45
回1#
我用VC6试过下面的:
#include <iostream.h>

void main()

{   char mingling;
   

    cout<<"*********************";
    cout<<"计算机程序"<<'\n';
    cout<<"a是加法运算"<<'\n';
    cout<<"b是减法运算"<<'\n';
    cout<<"c是退出程序"<<'\n';

    cout<<"请你输入命令:";

    cin>>mingling;   
    int a,b;
    switch (mingling)
    {
    case 'a':
        
        cout<<"计算加法\n";
        cout<<"请输入第一个数:\n";
        cin>>a;
        cout<<"请输入第二个数:\n";
        cin>>b;
        cout<<"运算结果是:"<<a+b<<endl;

          break;
    case 'b':
        cout<<"计算减法";
        cout<<"请输入第一个数:\n";
        cin>>a;
        cout<<"请输入第二个数:\n";
        cin>>b;
        cout<<"运算结果是:"<<a-b<<endl;
    case 'c':
        cout<<"程序退出";
        break;
    default:
        cout<<"你输入的指令不合法\n";
        break;
    }

}
#17
箭头2008-09-27 22:07
新手求助三
1.8 某工厂对下列设备优先维修:生产能力大于1000件/时且过去维修次数少天5次的,或使用寿命大于10年的.请给出判断设备是否应当先维修的C++程序.
#include<iostream.h>
void main()
{
    int a=0,b=0,c=0,d=0;
    cout<<"请输入要测试设备的生产能力a,维修次数b,使用寿命c:"<<endl;
    cin>>a,b,c;
    if((a>1000 && b<5)||(c>10)){
        cout<<"该设备符合优先维修条件,请尽快维修."<<endl;
    }
    else
    {
        cout<<"该设备不符合优先维修条件."<<endl;
    }
}
//以上是我做的,按理应该没错的.但我输入1200  6  9 时,它出现的却是"该设备符合优先维修条件,请尽快维修".不解呀,照理它应该出现"该设备不符合优先维修条件".才对,想不通那里出现问题,望赐教.谢谢!
#18
newyj2008-09-28 13:52
cin>>a,b,c;这句  该改成cin>>a>>b>>c;这样
#19
箭头2008-09-29 12:50
回复 18# newyj 的帖子
哭!我怎么会犯这样低级的错误,要不是你指出我想我会一直在a>1000 && b<5)||(c>10打圈呢!.  谢谢了!
#20
箭头2008-09-29 13:40
新手求助四
1.13 牛的繁殖问题
有位科学家曾出了这样一道数学题:有一头母牛,它每年年初要生一头小母牛;每头小母牛从第四个年头起,每年年初也要生一头小母牛.按此规律,若无牛死亡,第20年头上共有多少头母牛?

//这题该怎么做呢?实在想不通呀.我对此题的分析有个疑问就是:"每头小母牛从第四个年头起,每年年初也要生一头小母牛."这句中的理解是怎么样的.它是指小母牛在第四年的一月一日生了一头小牛,还是指第五年的一月一日生了一头小牛.不理解呀.
1