读书人

c++新手这个程序那错了?解决思路

发布时间: 2012-03-19 22:03:05 作者: rapoo

c++新手,这个程序那错了??
#include "iostream"
using namespace std;

void main()
{
char num;
cout<<"Menu: A(dd) D(elete) S(ort) Q(uit)";
cin>>num;
for(;;)
{
if(num==Q)
break;
else
{
switch(num)
{
case 1: cout<<"数据已经增加";break;
case 2: cout<<"数据已经删除";break;
case 3: cout<<"数据已经排序";break;
default:break;
}
}
}

}




[解决办法]

C/C++ code
 if(num=='Q')
[解决办法]
你的num是char类型 而你在switch里用条件却是int型 所以永远不会调用到你想要对应的
还有,关于头文件的<>和"" 再看看书 我把你的代码改了下 应该是你想要的吧
C/C++ code
#include<iostream>using namespace std;void main(){    char num;    cout<<"Menu: A(dd) D(elete) S(ort) Q(uit)"<<endl;    cin>>num;    for(;;)    {        if(num=='Q')            break;        switch(num)        {           case 'A': cout<<"数据已经增加";break;           case 'D': cout<<"数据已经删除";break;        case 'S': cout<<"数据已经排序";break;        default:break;        }        cout<<endl;        cin>>num;    }}
[解决办法]
好好看书吧青年
[解决办法]
楼主是否这个意思 ?
C/C++ code
#include <iostream>using namespace std;enum {A = 1, D, S, Q};enum {a = 1, d, s, q};int main(){    int num;    cout<<"Menu: A(dd) D(elete) S(ort) Q(uit)";    cin>>num;    for(;;)    {        if(num == Q)            break;        else        {            switch(num)            {               case 1: cout<<"数据已经增加";break;               case 2: cout<<"数据已经删除";break;            case 3: cout<<"数据已经排序";break;            default:break;            }        }    }    return 0;}
[解决办法]
C/C++ code
#include <iostream>using namespace std;enum {A = 1, D, S, Q};enum {a = 1, d, s, q};int main(){    int num;    //这儿要输入数字,1、2、3、4其中的一个,而不是输入字符A、D、S、Q    cout<<"Menu: 1、A(dd) 2、D(elete) 3、S(ort) 4、Q(uit)"<<endl;    cin>>num;    for(;;)    {        if(num == Q)            break;        else        {            switch(num)            {               case 1: cout<<"数据已经增加";break;               case 2: cout<<"数据已经删除";break;            case 3: cout<<"数据已经排序";break;            default: cout<<"输入有误请重新输入";break;            }        }    }    return 0;}
[解决办法]
++
探讨
你的num是char类型 而你在switch里用条件却是int型 所以永远不会调用到你想要对应的
还有,关于头文件的<>和"" 再看看书 我把你的代码改了下 应该是你想要的吧

C/C++ code


#include<iostream>
using namespace std;

void main()
{
char num;
cout<<"Menu: ……

[解决办法]
C/C++ code
#include <iostream>using namespace std;int main(){    char select;    for(;;)    {        cin.clear();        cin.sync();        cout<<"Menu: 1、A(dd) 2、D(elete) 3、S(ort) 4、Q(uit)"<<endl;        cin>>select;        if(select == 'Q' || select == 'q')            break;        else        {            switch(select)            {               case 'A':            case 'a':                 cout<<"数据已经增加\n";                break;               case 'D':              case 'd':                cout<<"数据已经删除\n";                break;            case 'S':             case 's':                 cout<<"数据已经排序\n";                break;            default:                cout<<"输入有误请重新输入:\n";                break;            }        }    }    return 0;} 


[解决办法]
[Quote=引用:]
楼主是否这个意思 ?

C/C++ code

#include <iostream>
using namespace std;

enum {A = 1, D, S, Q};
enum {a = 1, d, s, q};

int main()
{
int num;
cout<<"Menu: A(dd) D(elete) S(ort) Q(uit)";
没事的,刚开始我是很多错的,慢慢就好了了
[解决办法]

探讨

引用:

楼主是否这个意思 ?
C/C++ code

#include <iostream>
using namespace std;

enum {A = 1, D, S, Q};
enum {a = 1, d, s, q};

int main()
{
int num;
cout<<"Menu: A(dd) D(elete) S(……

[解决办法]
#include "iostream"
using namespace std;

void main()
{
char num;
cout<<"Menu: A(dd) D(elete) S(ort) Q(uit)";
cin>>num;
for(;;)
{
if(num=='Q')
break;
else
{
switch(num)
{
case '1': cout<<"数据已经增加";break;
case '2': cout<<"数据已经删除";break;
case '3': cout<<"数据已经排序";break;
default:break;
}
}
}

}
//因为num是char类型,因此要用字符窜来进行赋值与初始话,故都需要加单引号,以表示这是一个字符
[解决办法]
#include "iostream"
using namespace std;

void main()
{
char num;
cout<<"Menu: A(dd) D(elete) S(ort) Q(uit)";
cin>>num;
for(;;)
{
if(num=='Q')
break;
else
{
switch(num)
{
case 'A': cout<<"数据已经增加";break;
case 'D': cout<<"数据已经删除";break;
case 'S': cout<<"数据已经排序";break;
default:break;
}
}
}

}

读书人网 >C++

热点推荐