оператор if — если вложенное условие выполнено, вычислить результаты, не отображающие результаты Переполнение стека

Я хочу, чтобы программа показывала годовой рост за годы 1,2,3.

Пользователь вводит год
пользователь вводит ежегодную зарплату,

тогда, если условия выполняются, расчеты приведены ниже.

Но когда я запускаю, он не показывает расчет для любого данного года, который я ввожу. Зачем? Я возвращался несколько раз и пытался определить, что мне не хватает?

#include "stdafx.h"#include <iomanip>
#include<iostream>
using namespace std;

int main()
{
double annualSalary = 0;
int year = 0;
double rate3 = 0.03;
double rate4 = 0.04;
double rate5 = 0.05;
double rate6 = 0.06;
double annualRaise = 0;cout << fixed << setprecision(0);

cout << "enter current year (1 to 3) ";
cin >> year;
cout << "enter annual Salary";
cin >> annualSalary;if (year = 1)
annualRaise = annualSalary * rate3;
else if
(year = 2)
annualRaise = annualSalary * rate4;
else if
(year = 3)
annualRaise = annualSalary * rate5;

return 0;
}

1

Решение

использование == не сравнивать = и добавить cout чтобы увидеть результат.

if (year == 1)
annualRaise = annualSalary * rate3;
else if
(year == 2)
annualRaise = annualSalary * rate4;
else if
(year == 3)
annualRaise = annualSalary * rate5;

cout << annualRaise;
1

Другие решения

Вам нужно добавить распечатку cout чтобы увидеть результат вашей работы:

if (year == 1)
{
annualRaise = annualSalary * rate3;
cout << "Salary : " << annualRaise << endl; // output the value
}else if(year == 2)
{
annualRaise = annualSalary * rate4;
cout << "Salary : " << annualRaise << endl; // output the value
}else if(year == 3)
{
annualRaise = annualSalary * rate5;
cout << "Salary : " << annualRaise << endl; // output the value
}system("Pause"); //To be able to keep the console window open
2

По вопросам рекламы [email protected]