Сделать проверку С++
Нужны идеи. Помощь в написании кода не нужна.
Нужно Сделать проверку, если на юзере уже "весит" кредит, то не давать ему больше его )
Но проверить по сумме кредита, вдруг какой-то остаток можно дать)
#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 шт):
Ну сейчас в переменную 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;