程序总是进入第一个if语句[关闭]

问题描述 投票:0回答:1

无论我输入什么字母,它都会给我第一个选项,我正在寻找错误,但我是新人,到目前为止已经学习了 3 天,所以老实说我没有看到它,我不知道我是什么我做错了。

如果有人想知道我在做什么课程,那就是这个

这是有问题的代码:

#include <iostream>
#include <string>

using namespace std;

struct Pack { 
    double Price;
    char Package; 
};

int main() {


Pack Basic;
Basic.Price = 29.99;
Basic.Package = 'A';

Pack Essential;
Essential.Price = 39.99;
Essential.Package = 'B';

Pack Premium;
Premium.Price = 49.99;
Premium.Package = 'C';

Pack Advance;
Advance.Price = 89.99;
Advance.Package = 'D';

Pack Ultimate;
Ultimate.Price = 199.99;
Ultimate.Package = 'E';

Pack PremiumFam;
PremiumFam.Price = 69.99;
PremiumFam.Package = 'F';

Pack AdvanceFam;
AdvanceFam.Price = 89.99;
AdvanceFam.Package = 'G';

Pack UltimateFam;
UltimateFam.Price = 249.99;
UltimateFam.Package = 'H';


cout << "McAfee Package refund % Multiplier" "\n\n";

cout<< "This program will allow you to get the refund % of any packages" "\n" "Please see Packages below: " "\n\n";
cout<< "A- Basic $29.99" "\n" "B- Essential $39.99 " "\n\n";
cout<< "C- Premium: $49.99" "\n" "D- Advance (Individual) $89.99" "\n" "E- Ultimate (Individual) $199.99" "\n\n";
cout<< "F- Premium (Family) $69.99" "\n" "G- Advance (Family) $69.99" "\n" "H- Ultimate (Family) $249.99" "\n\n";

char Intro;

cout<< "Please select the package by letter assigned: " "\n";
cin>> Intro;

if (Intro = Basic.Package) {
cout<< "The Package selected is: " << "Basic" << "\t" << "At a cost of: $" << Basic.Price;
} else if (Intro = Essential.Package) {
    cout<< "The Package selected is: " << "Essential" << "\t" << "At a cost of: $" << Essential.Price;
} else if (Intro = Premium.Package) {
    cout<< "The Package selected is: " << "Premium" << "\t" << "At a cost of: $" << Premium.Price;
} else if (Intro = Advance.Package) {
    cout<< "The Package selected is: " << "Advance (Individual)" << "\t" << "At a cost of: $" << Advance.Price;
} else if (Intro = Ultimate.Package) {
    cout<< "The Package selected is: " << "Ultimate (Individual)" << "\t" << "At a cost of: $" << Ultimate.Price;
} else if (Intro = PremiumFam.Package) {
    cout<< "The Package selected is: " << "Premium (Family)" << "\t" << "At a cost of: $" << PremiumFam.Price;
} else if (Intro = AdvanceFam.Package) {
    cout<< "The Package selected is: " << "Advance (Family)" << "\t" << "At a cost of: $" << AdvanceFam.Price;
} else {
    cout<< "The Package selected is: " << "Ultimate (Family)" << "\t" << "At a cost of: $" << UltimateFam.Price;
}

return 0; }
c++
1个回答
-1
投票

您错过了等于符号

if (Intro == Basic.Package) {
cout<< "The Package selected is: " << "Basic" << "\t" << "At a cost of: $" << Basic.Price;
} else if (Intro == Essential.Package) {
    cout<< "The Package selected is: " << "Essential" << "\t" << "At a cost of: $" << Essential.Price;
} else if (Intro == Premium.Package) {
    cout<< "The Package selected is: " << "Premium" << "\t" << "At a cost of: $" << Premium.Price;
} else if (Intro == Advance.Package) {
    cout<< "The Package selected is: " << "Advance (Individual)" << "\t" << "At a cost of: $" << Advance.Price;
} else if (Intro == Ultimate.Package) {
    cout<< "The Package selected is: " << "Ultimate (Individual)" << "\t" << "At a cost of: $" << Ultimate.Price;
} else if (Intro == PremiumFam.Package) {
    cout<< "The Package selected is: " << "Premium (Family)" << "\t" << "At a cost of: $" << PremiumFam.Price;
} else if (Intro == AdvanceFam.Package) {
    cout<< "The Package selected is: " << "Advance (Family)" << "\t" << "At a cost of: $" << AdvanceFam.Price;
} else {
    cout<< "The Package selected is: " << "Ultimate (Family)" << "\t" << "At a cost of: $" << UltimateFam.Price;
}

Intro == Basic.Package 这是你错过的部分 如果你给它像 Intro = Basic.package 一样,它会将 Intro 分配为 Basic.package 值,其中包含这就是你遇到相同错误的问题

© www.soinside.com 2019 - 2024. All rights reserved.