Сделать проверку С++

Нужны идеи. Помощь в написании кода не нужна.

Нужно Сделать проверку, если на юзере уже "весит" кредит, то не давать ему больше его )
Но проверить по сумме кредита, вдруг какой-то остаток можно дать)

#include <ctime>
#include <iostream>
  
using namespace std;
   
 
 
int main() {
    setlocale(LC_ALL, "Russian");
    srand(time(0));
    int v4;
    int zarplata = 500 + rand() % 1000;
    cout << "You zarplata " << zarplata << endl;
    int rashod = 100 + rand() % 300;
    cout << "You rashod " << rashod << endl;
    int timeMes = 12 + rand() % 24;
    cout << "You mes " << timeMes << endl;
    cout << " " << endl;
    int Pokypkakriptu;
    int allSumma = 0;
    int scolcoprodat=0;
    string namm;
    string userChoose;
    int userKredit = 0;
    string prodaja;
    string dohodMssName[5] = { "Фриланс", "Помощь", "Подработка", "Подарок",
                              "Выигрыш" };
    string trataMssName[5] = { "Здоровье", "Гулянка", "Подарок кому-то", "Потерял",
                              "Обман" };
    int mssPrice = 0;
    int randSlych = 0;
    for (int i = 0; i < timeMes; i++) {
        int price1 = 1 + rand() % 1000;
        int price2 = 1 + rand() % 1000;
        int price3 = 1 + rand() % 1000;
        int price4 = 1 + rand() % 1000;
        int price5 = 1 + rand() % 1000;
        int price7 = 1 + rand() % 1000;
        int price8 = 1 + rand() % 1000;
        int price9 = 1 + rand() % 1000;
        int price10 = 1 + rand() % 1000;
        int price11 = 1 + rand() % 1000;
        int price6 = 1 + rand() % 1000;
        allSumma += zarplata - rashod;
        randSlych = 1 + rand() % 4;
        int vibor,vibor2;
        string nammkripta1;
        string nammkripta2;
        string nammkripta3;
        string nammkripta4;
        string nammkripta5;
        int kolichostvo1 = 0;
        int kolichostvo2 = 0;
        int kolichostvo3 = 0;
        int kolichostvo4 = 0;
        int kolichostvo5 = 0;
        string nammcripta;
        int ckolkokypit = 0;   
        int procentcredit = 1 + rand() % 12;
        int viplotakredit;
        int prozent;
        if (randSlych == 2) {
            randSlych = 1 + rand() % 4;
            mssPrice = 50 + rand() % 100;
            cout << "Вам удалось заработать на " << dohodMssName[randSlych]
                << " сумму " << mssPrice << endl;
            allSumma += mssPrice;
        }
        else if (randSlych == 4) {
            randSlych = 1 + rand() % 4;
            mssPrice = 50 + rand() % 100;
            cout << "Вы потеряли на " << trataMssName[randSlych] << " сумму "
                << mssPrice << endl;
            allSumma -= mssPrice;
        }

        cout << "You summ now = " << allSumma << endl;
        cout << "Kripta? Bank? Pass?" << endl;
        cin >> userChoose;
        if (userChoose == "Kripta") {
            cout << "Виды крипты и акций  " << endl;
            cout << "test1" << " " << price1 << endl;
            cout << "test2" << " " << price2 << endl;
            cout << "test3" << " " << price3 << endl;
            cout << "test4" << " " << price4 << endl;
            cout << "test5" << " " << price5 << endl;

            cout << "Купить крипту 1=да 2=нет "; cin >> Pokypkakriptu;
            if (Pokypkakriptu == 1)
            {
                cout << "какую крипту купить "; cin >> nammcripta;
                cout << "сколько купить "; cin >> ckolkokypit;
                if (nammcripta != "test1" || nammcripta != "test2" || nammcripta != "test3" || nammcripta != "test4" || nammcripta != "test5")
                {
                    cout << "Такой крипты нету" << endl;
                }
                if (ckolkokypit < 0)
                {
                    cout << "Ввели отрицательное число"; continue;
                }
                else if (ckolkokypit > 0)
                {
                    if (nammcripta == "test1")
                    {
                        if (allSumma <= ckolkokypit * price1)
                        {
                            cout << "mnogo berete" << endl;

                        }
                        if (allSumma >= ckolkokypit * price1)
                        {
                            cout << "You kupil " << nammcripta << "  kolichestvo  " << ckolkokypit << endl;
                            allSumma -= ckolkokypit * price1;
                            cout << "You summ now = " << allSumma << endl;
                        }
                        nammkripta1 = nammcripta;
                        kolichostvo1 += ckolkokypit;
                    }
                    else  if (nammcripta == "test2")
                    {
                        if (allSumma <= ckolkokypit * price2)
                        {
                            cout << "mnogo berete" << endl;

                        }
                        if (allSumma >= ckolkokypit * price2)
                        {
                            cout << "You kupil " << nammcripta << "  kolichestvo  " << ckolkokypit << endl;
                            allSumma -= ckolkokypit * price2;
                            cout << "You summ now = " << allSumma << endl;
                        }
                        nammkripta2 = nammcripta;
                        kolichostvo2 += ckolkokypit;
                    }
                    else  if (nammcripta == "test3")
                    {
                        if (allSumma <= ckolkokypit * price3)
                        {
                            cout << "mnogo berete" << endl;

                        }
                        if (allSumma >= ckolkokypit * price3)
                        {
                            cout << "You kupil " << nammcripta << "  kolichestvo  " << ckolkokypit << endl;
                            allSumma -= ckolkokypit * price3;
                            cout << "You summ now = " << allSumma << endl;
                        }
                        nammkripta3 = nammcripta; kolichostvo3 += ckolkokypit;
                    }
                    else   if (nammcripta == "test4")
                    {
                        if (allSumma <= ckolkokypit * price4)
                        {
                            cout << "mnogo berete" << endl;

                        }
                        if (allSumma >= ckolkokypit * price4)
                        {
                            cout << "You kupil " << nammcripta << "  kolichestvo  " << ckolkokypit << endl;
                            allSumma -= ckolkokypit * price4;
                            cout << "You summ now = " << allSumma << endl;
                        }
                        nammkripta4 = nammcripta; kolichostvo4 += ckolkokypit;
                    }
                    else  if (nammcripta == "test5")
                    {
                        if (allSumma <= ckolkokypit * price5)
                        {
                            cout << "mnogo berete" << endl;

                        }
                        if (allSumma >= ckolkokypit * price5)
                        {
                            cout << "You kupil " << nammcripta << "  kolichestvo  " << ckolkokypit << endl;
                            allSumma -= ckolkokypit * price5;
                            cout << "You summ now = " << allSumma << endl;
                        }
                        nammkripta5 = nammcripta; kolichostvo5 += ckolkokypit;
                    }
                    else if (Pokypkakriptu == 2)
                    {
                        cout << "You nichego ne kypil" << endl;
                    }
                    allSumma -= userKredit * procentcredit / 100;  
                    cout << "All summ now =  " << allSumma << endl;

                    cout << "Виды крипты и акций  " << endl;
                    cout << "test1" << " " << price7 << endl;
                    cout << "test2" << " " << price8 << endl;
                    cout << "test3" << " " << price9 << endl;
                    cout << "test4" << " " << price10 << endl;
                    cout << "test5" << " " << price11 << endl;

                    cout << "Продать 1=да 2=нет ?" << endl;
                    cin >> v4;
                    if (v4 == 1) {
                        cout << "Сколько продать ?" << endl;
                        cin >> scolcoprodat;
                        cout << "Введи название " << endl;
                        cin >> prodaja;

                        prodaja == "0";
                    }

                    if (prodaja == "test1" && scolcoprodat >= ckolkokypit)
                    {
                        allSumma += scolcoprodat * price7;
                    }
                    else if (prodaja == "test1" && scolcoprodat <= ckolkokypit)
                    {
                        cout << "Неверный ввод " << endl;
                    }
                    if (prodaja == "test2" && scolcoprodat >= ckolkokypit)
                    {
                        allSumma += scolcoprodat * price8;
                    }
                    else if (prodaja == "test2" && scolcoprodat <= ckolkokypit)
                    {
                        cout << "Неверный ввод " << endl;
                    }
                    if (prodaja == "test3" && scolcoprodat >= ckolkokypit)
                    {
                        allSumma += scolcoprodat * price9;
                    }
                    else if (prodaja == "test3" && scolcoprodat <= ckolkokypit)
                    {
                        cout << "Неверный ввод " << endl;
                    }
                    if (prodaja == "test4" && scolcoprodat >= ckolkokypit)
                    {
                        allSumma += scolcoprodat * price10;
                    }
                    else if (prodaja == "test4" && scolcoprodat <= ckolkokypit)
                    {
                        cout << "Неверный ввод " << endl;
                    }
                    if (prodaja == "test5" && scolcoprodat >= ckolkokypit)
                    {
                        allSumma += scolcoprodat * price11;
                    }
                    else if (prodaja == "test5" && scolcoprodat <= ckolkokypit)
                    {
                        cout << "Неверный ввод " << endl;
                    }
                    else  if (v4 == 2) {
                        cout << "ты ничего не продал" << endl;
                    }
                }
                allSumma -= userKredit * procentcredit / 100;
                cout << "All summ now =  " << allSumma << endl;

            }
        }
        else if (userChoose == "Bank") {
            cout << "BANK" << endl;
            cout << "Kredit? Pass?" << endl;
            cin >> userChoose;

            if (userChoose == "Kredit") {
                cout << "Scolko? No !> 3 mec" << endl;
                cin >> userKredit;
                if (userKredit<0)
                {
                    cout << "Ввели отрицательное число  "; continue;
                }
           else  if (userKredit > 0)
                {
                    if (userKredit > zarplata * 3) {
                        cout << "Много берете" << endl; continue;
                    }
                    else {
                        allSumma += userKredit;
                        cout << "Вы взяли " << userKredit
                            << " игровых монет. Ваша вся сумма на данный момент " << allSumma
                            << endl;
                    }
                }
                cout << "You hochesh pogasit kredit? 1-yes  2-no " << endl;
                cin >> vibor2;
                if (vibor2==1)
                {   cout << "Процент кредита = " << procentcredit << endl;
                        cout << "введи сколько выплотить ?" << endl;
                        cin >> viplotakredit;
                        if (allSumma > viplotakredit)
                        {  prozent = userKredit * procentcredit / 100;
                            allSumma -= prozent;
                            allSumma -= viplotakredit;
                            cout << "сумма сейчас = " << allSumma << endl;
                        }
                          if (allSumma < viplotakredit)
                         {cout << "Вся сумма мeньше чем хочешь выплотить   ";
                         }
                }
                if (vibor2==2)
                {cout<<"Ты не погосил кредит " << "сумма сейчас = " << allSumma << endl;
                }
                else  if (userChoose != "Kredit")
                {
                    cout << "You kredit ne vzal" << endl;
                 }
            }
        }
 
        else  if (userChoose == "Pass") 
        {
            continue;
        }
        else
        {
            cout << "Неверный выбор "; continue;
        } 

        cout << "====Твои активы сейчас====" << endl;
        cout << nammkripta1 << "  |  " << kolichostvo1 << endl;
        cout << nammkripta2 << "  |  " << kolichostvo2 << endl;
        cout << nammkripta3 << "  |  " << kolichostvo3 << endl;
        cout << nammkripta4 << "  |  " << kolichostvo4 << endl;
        cout << nammkripta5 << "  |  " << kolichostvo5 << endl;

        cout << "Вся сумма " << allSumma << endl;
    }
}








Ответы (1 шт):

Автор решения: DmitryK

Ну сейчас в переменную userKredit вы вводите желаемую сумму. Сделайте по-другому - пусть переменная userKredit будет суммой взятого кредита. А желаемую сумму вводите во временную переменную. И дальше у вас проверка на превышение трёхмесячной зарплаты. Вот её надо поменять. И если выдали кредит, то добавляете tmp к userKredit и к общей сумме денег.

cout << "Scolko? No !> 3 mec" << endl;
int tmp;
cin >> tmp;
if (userKredit + tmp > zarplata * 3)
   cout << "Много берете" << endl;
else
{
   userKredit += tmp;
   allSumma += tmp;
}   

Но код конечно страшненький. Вас не учили рефакторить повторяющийся код?
Например вместо пяти переменных названий, количества и цены криптовалют использовать массив? Тогда вам не нужно будет делать 5 одинаковых кусков кода для покупки, ещё 5 одинаковых кусков кода для продажи и т.д.

const int cryptaVolume = 5;
string nameCrypta[cryptaVolume]{"test1", "test2", ...};
int crypta[cryptaVolume][2];

int i; // номер крипты, которую надо купить
nameCrypta[i]; // название i-ой крипты 
crypta[i][0] = // количество i-ой крипты (вместо kolichostvo1, kolichostvo2,  ...)
crypta[i][1] = // цена i-ой крипты (вместо price1, price2 ...) 

// и дальше код вместо пяти повторяющихся кусков становится одним

if (allSumma <= ckolkokypit * crypta[i][1])
{
    cout << "mnogo berete" << endl;

→ Ссылка