C++从运行开关到随后的if语句

C++ going from running a switch to a if statement afterwards

本文关键字:if 语句 运行 开关 C++      更新时间:2023-10-16

在c++中,我试图在switch语句之后使用if语句。我该如何运行if,因为它没有运行它。开关只是运行。

输出为:

492.5
490
487.5
485
482.5
480
477.5
475
472.5
470
467.5

下一个输出减少-2.5。

#include <iostream>
#include <cmath>

using namespace std;
int main()
{
    double A(5), B(5), C(0), D(7.5), E(20), V(495), F, G, H, I, J, K, L, M, N, O, P;
    for (int t = 0; t <= 10; t = t + 1)
    {
        switch (t)
        {
            case 0:
            F = A + B + C + D - E + V;
            cout << F << endl;
            break;
            case 1:
            G = A + B + C + D - E + F;
            cout << G << endl;
            break;
            case 2:
            H = A + B + C + D - E + G;
            cout << H << endl;
            break;
            case 3:
            I = A + B + C + D - E + H;
            cout << I << endl;
            break;
            case 4:
            J = A + B + C + D - E + I;
            cout << J << endl;
            break;
            case 5:
            K = A + B + C + D - E + J;
            cout << K << endl;
            break;
            case 6:
            L = A + B + C + D - E + K;
            cout << L << endl;
            break;
            case 7:
            M = A + B + C + D - E + L;
            cout << M << endl;
            break;
            case 8:
            N = A + B + C + D - E + M;
            cout << N << endl;
            break;
            case 9: 
            O = A + B + C + D - E + N;
            cout << O << endl;
            break;
            case 10:
            P = A + B + C + D - E + O;
            cout << P << endl;
            break;
            case 11:
            if (B = B + 5)
            {
                F = A + B + C + D - E + V;
                G = A + B + C + D - E + F;
                H = A + B + C + D - E + G;
                I = A + B + C + D - E + H;
                J = A + B + C + D - E + I;
                K = A + B + C + D - E + J;
                L = A + B + C + D - E + K;
                M = A + B + C + D - E + L;
                N = A + B + C + D - E + M;
                cout << F << endl;
                cout << G << endl;
                cout << H << endl;
                cout << I << endl;
                cout << J << endl;
                cout << K << endl;
                cout << L << endl;
                cout << M << endl;
                cout << N << endl;
            }
        }
    }
    system("pause");
}

您的for语句以t == 10结尾。。

for (int t = 0; t <= 10; t = t + 1)

而你的iftcase中的某个位置是11。

......
case 10:
P = A + B + C + D - E + O;
cout << P << endl;
break;
case 11:
if (B == B + 5)
{
.....

因此,将for-loop的终止条件从10提高到11。。。

而且你的if有问题。即使你的意思是:

.....
if(B == B + 5) {     //doing if(B = B + 5) is adding 5 to B and checking whether its not 0
.....

它不起作用,因为你给B赋值而不是检查

更改此行:

if (B = B + 5)

if (B == B + 5)

它应该工作:)