Циклы C , пытающиеся увеличить одно значение с помощью другого введенного вами значения

#c

#c

Вопрос:

Во-первых, это домашнее задание, я хочу быть откровенным и честным с этим. Во-вторых, я прошу прощения за беспорядочный и плохой код, я беру введение в класс C . В-третьих, у меня возникли проблемы с использованием циклов, и я, похоже, не могу понять, как увеличить значение rent на величину rentI в моей программе. Я пробовал использовать оператор сложения, но он увеличивает значение только один раз.

 #include<cmath>
#include<iomanip>
#include<iostream>
#include<string>
#include<algorithm>
#include<math.h>

using namespace std;

int main()
{
    int rent;
    int office;
    int rentI;
    int maint;

    cout << "Enter number of offices: ";
    cin >> office;
    cout << "Enter the rent for each occupied unit: ";
    cin >> rent;
    cout << "Enter the desired number to increase rent by for each vacant unit: ";
    cin >> rentI;
    cout << "Enter the cost of each rented units maintenance: ";
    cin >> maint;

    int profit = (rent * office) - (office * maint);
    cout << "unit #  |" << "rent |" << "profit" << endl;
    //cout << setw(5) << office << setw(8) << rent << setw(8) << profit << endl;
    
    int i = 0;
    //while (i < 5)
    //{
        //cout << setw(5) << office-- << setw(8) << rent << setw(8) << profit << "n";
        //i  ;
    //}

    for (i = 0; i < 5; i  )
    {
        cout << setw(5) << office--;
        cout << setw(8) << rent;
        cout << setw(8) << profit << "n";
    }
}
  

также я экспериментировал с циклами while, но это, похоже, тоже не помогло. Я знаю, что я мог что-то упустить, я просто не знаю, что это такое.

 unit #  |rent |profit
   50     600   28650
   49     600   28650
   48     600   28650
   47     600   28650
   46     600   28650
  

это то, что он делает сейчас, но мне нужно, чтобы он делал что-то вроде этого.

 unit #  |rent |profit
   50     600   28650
   49     640   30037
   48     680   31344
   47     720   32571
   46     760   33718
  

Комментарии:

1. Вы ищете rent = rentI; ?

2. int i = 0; затем следуют просто комментарии, а затем for (i = 0; i < 5; i ) { . И этот цикл никогда не изменяется i , поэтому он будет зацикливаться вечно

3. Я пытался использовать rent = rentI раньше, похоже, никогда не работал, весь int i = 0; был для цикла while, который находится над циклом for , я просто проверял, смогу ли я заставить цикл while работать, к сожалению, я этого не сделал. При вводе формулы в цикл я могу увеличить ее только один раз, а затем не делать этого снова.

Ответ №1:

Вам нужно поместить profit вычисление внутри цикла и обновить office и rent после выполнения вычисления.

     for (i = 0; i < 5; i  , office--, rent  = rentI)
    {
        int profit = (rent * office) - (office * maint);
        cout << setw(5) << office;
        cout << setw(8) << rent;
        cout << setw(8) << profit << "n";
    }
  

Комментарии:

1. Спасибо! это имеет больше смысла.