基于两个不同输入的C++输出

C++ output based on two different inputs

本文关键字:C++ 输出 输入 于两个      更新时间:2023-10-16

我在其他网站上找过,但找不到适合我的东西。

我正在尝试根据订购的商品和订购的商品数量增加家具销售折扣,请参阅下表:

表(0):订购金额(提供折扣):1-5(5%),6-9(10%),10+(20%)

椅子(1)订购金额(提供折扣):1-5(3%),6-9(7%),10+(12%)

这是我的代码,我仍然无法让它工作,因为这是我使用C++编程语言的第二周。如果有人能让我知道我做错了什么,我将不胜感激:

#include <iostream>
#include <string>
using namespace std;
int main ()
{
 int yc;
 char cc;
 cout <<"Enter furniture code:";
 cin >> yc;
 cout <<"Enter amount ordered:";
 cin >> cc;
 switch (yc)
 {
 case 0: cout <<"you selected item: " << yc << endl;
        break;
 case 1: cout <<"you selected item: " << yc << endl;
        break;
 }
 switch (cc)
 {
        case '1':
        case '2':
        case '3':
        case '4':
        case '5':

        cout <<"discount applied: " << cc << endl;
                     break;
        case '6':
        case '7':
        case '8':
        case '9':

        cout <<"discount applied: " << cc << endl;
                     break;
        default:
            if (cc >= 10)
                cout <<" discount applied: " << cc << endl;
 }
 system("PAUSE");
 return 0;
}

如果我的输入是:

Enter furniture code: 0
Enter amount ordered: 4

它输出:

you selected item: 0
discount applied: 4

我想输出为:

you selected item: 0

适用折扣:5%

因为我选择了表(0),并且订购的金额在1-5之间。

您打印cc,但这不是折扣,而是订单金额。相反,您需要打印折扣:

cout <<"discount applied: 5%" << endl;

此外,您应该考虑使用if/else语句,而不是switch/case。例如:

if(cc <= 5)
    cout <<"discount applied: 5%" << endl;
else if(cc <= 10)
    cout <<"discount applied: 10%" << endl;
else
    cout <<"discount applied: 20%" << endl;

首先,这个:

 switch (yc)
 {
 case 0: cout <<"you selected item: " << yc << endl;
        break;
 case 1: cout <<"you selected item: " << yc << endl;
        break;
 }

没有必要,因为两种情况都输出相同的东西。只需将其替换为:

cout <<"you selected item: " << yc << endl;

其次,您应该使用一系列if-else语句,考虑到您的情况有多少:

if (yc == 0) {
    if (cc <= 5) {
        cout << "Discount applied: 5%" << endl;
    }
    else if (cc < 10) {
        // discount = 10%
    } 
    // etc...
}
if (yc == 1) {
    if (cc <= 5) {
        // etc...