错误条件,如果在C ++中

时间:2014-10-10 00:45:28

标签: c++

我有一个脚本c ++
但我运行这个脚本

当我编写代码衬衫“GC”或“PR”

时出现此脚本错误

但我写代码“A”这个脚本正常工作

为什么?

是否if条件只有1个字符?

这是我的剧本,帮帮我。感谢的

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
char code,size,merk[15];
long price=0;
clrscr();

cout <<"\n \t GUCCI : GC";
cout <<"\n \t PRADA : PR \n";
cout <<"\n \t Armani : A";
cout <<"\n";

cout<<"Choose Your Shirt : ";cin>>code;
cout<<"Size : ";cin>>size;

if (code=='GC' || code=='gc')
{
strcpy(merk,"Gucci");

    if (size=='S' || size =='s')
        price=45000;

   else if (size=='L' || size =='l')
        price=35000;

    else if (size=='M' || size =='m')
        price=45000;

    else
        price=60000;
}

else if (code=='PR' || code=='pr')
{
strcpy(merk,"PRADA");

    if (size=='S' || size == 's')
        price=65000;


   else if (size=='L' || size =='l')
        price=75000;

    else if (size=='M' || size =='m')
        price=85000;

    else

    price=75000;
}

else if (code=='A' || code=='a')
{
strcpy(merk,"ARMANI");

    if (size=='S' || size == 's')
        price=75000;


   else if (size=='L' || size =='l')
        price=95000;

    else if (size=='M' || size =='m')
        price=45000;

    else

    price=35000;
}

else
{
cout<<"Wrong Code"<<endl;
}

cout<<"------------------------"<<endl;
cout<<"Merk  : "<<merk<<endl;
cout<<"Price : "<<price<<endl;
getch();
}

2 个答案:

答案 0 :(得分:2)

code=='GC'单引号用于单个字符(“GC”不是)。对“字符串”使用双引号(但请记住,您无法将字符串与==进行比较)...

由于您一次只能阅读一个字符,您希望如何输入“GC”?

答案 1 :(得分:0)

John3136是对的。 您可能只想在输入(“代码”)上使用tolower()代码。 您需要做的就是与小写字母进行比较。 使用switch语句,而不是所有那些if语句,eould 让你的代码更具可读性。

要比较多个字符,请使用字符串,strcmp或stricmp。