Поигрался с циклом do, внешним видом кода и программы, typedef, рандомайзером и switch

This commit is contained in:
2024-10-20 12:09:14 +05:00
parent 67944bf63a
commit 3b6fa27a48
2 changed files with 95 additions and 64 deletions

8
.gitignore vendored
View File

@ -78,3 +78,11 @@
/cmake-build-release/cmake_install.cmake /cmake-build-release/cmake_install.cmake
/cmake-build-release/CMakeCache.txt /cmake-build-release/CMakeCache.txt
/cmake-build-release/libstdc++-6.dll /cmake-build-release/libstdc++-6.dll
/.idea/encodings.xml
/cmake-build-debug/.cmake/api/v1/reply/index-2024-10-20T04-35-49-0021.json
/cmake-build-debug/CMakeFiles/1test.dir/sometokens.cpp.obj
/cmake-build-release/.cmake/api/v1/reply/cache-v2-06bc126a26429300f229.json
/cmake-build-release/.cmake/api/v1/reply/codemodel-v2-687845282e5f73576a8a.json
/cmake-build-release/.cmake/api/v1/reply/index-2024-10-20T04-13-58-0375.json
/cmake-build-release/.cmake/api/v1/reply/target-1test-Release-3bec8f5ae528f1b4b710.json
/main.txt

151
main.cpp
View File

@ -1,79 +1,102 @@
#include <iostream> #include <iostream>
/*Директива include подключает содержимое модуля iostream, #include <cstdlib>
*дающего доступ к средствам ввода-вывода ЦМД. #include <ctime>
*iostream - модуль стандартной библиотеки.
*Объекты - cin (ввод) и cout (вывод).*/
//using namespace std;
//строка выше дает доступ к пространству namespace всему коду.
using std::cout; using std::cout;
using std::endl; using std::endl;
using std::cin; using std::cin;
using std::string; using std::string;
//определяем конкретные имена, на которые будем ссылаться далее typedef unsigned int unint;
int main() { int main() {
//объявление именных и числовых переменных с присвоением значений //объявление именных и числовых переменных с присвоением значений
int a, b; int a, b, rng;
const int i = 1; unint c, zn;
string c, check; string i = "y";
float d, e; float d, e;
const char *PLUS = "+"; const char *PLUS = "+"; const char *MINUS = "-";
const char *MINUS = "-"; const char *MULTIPLE = "*"; const char *DIV = "/"; const char *MOD = "%";
const char *MULTIPLE = "*"; const char *EQUAL = "= "; const char *RAZD = "----------------------------------";
const char *DIV = "/"; enum pooloper {plus, minus, multiple, div, mod};
const char *MOD = "%";
const char *EQUAL = "= ";
//алгоритм //алгоритм
cout << "ALL CALC. ENTER a AND b TO START" << endl; cout << "DUMB CALC. HULI NADA TEBE BLYAT?\n\n" << endl;
//цикл - i константа, запрос на продолжение или выход после расчетов через строку check do {
while (i == 1) { cout << "INT or FLOAT PADLA??\ntype 1 for INT\ntype 2 for FLOAT\ntype 3 for FLOAT ALL RANDOM" << endl;
cout << "INT or FLOAT?? (i/f)" << endl;
cin >> c; cin >> c;
//расчеты в инт switch (c)
if (c == "i") { {
cout << "OKWELL, I'LL DO IT BY INT." << endl; case 1:
cout << "SUKA ENTER a:" << endl; cout << "OKWELL, I'LL DO IT BY INT.\nSUKA ENTER a:";
cin >> a; cin >> a;
cout << "PIDR ENTER b:" << endl; cout << "BRATUXA PICK zn (type 1 for +, 2-, 3*, 4/, 5%):";
cin >> b; cin >> zn;
cout << a << PLUS << b << EQUAL << a + b << endl; cout << "PIDR ENTER b:";
cout << a << MINUS << b << EQUAL << a - b << endl; cin >> b;
cout << a << MULTIPLE << b << EQUAL << a * b << endl; switch (zn) {
cout << a << DIV << b << EQUAL << a / b << endl; case 1:
cout << a << MOD << b << EQUAL << a % b << endl; cout << a << PLUS << b << EQUAL << a + b << endl; break;
} case 2:
cout << a << MINUS << b << EQUAL << a - b << endl; break;
//расчеты в флоат case 3:
else if (c == "f") { cout << a << MULTIPLE << b << EQUAL << a * b << endl; break;
cout << "ASS U WISH, SHIT WILL BE IN FLOAT." << endl; case 4:
cout << "SUKA ENTER a (hah u tricked up enter d w/ dot):" << endl; cout << a << DIV << b << EQUAL << a / b << endl; break;
cin >> d; case 5:
cout << "PIDR ENTER b (rickrolled anothertime lmao enter e w/ dot):" << endl; cout << a << MOD << b << EQUAL << a % b << endl; break;
cin >> e; }
cout << d << PLUS << e << EQUAL << d + e << endl;
cout << d << MINUS << e << EQUAL << d - e << endl;
cout << d << MULTIPLE << e << EQUAL << d * e << endl;
cout << d << DIV << e << EQUAL << d / e << endl;
}
//никаких расчетов потому что пользлователь не выбрал из двух опций
else { cout << "GTFO BEACH I SAID U i OR f!!! 0xyucocu000007blyadei" << endl;}
//запрос на продолжать или нет
cout << "----------------------------------" << endl;
cout << "----------------------------------" << endl;
cout << "wanna do shish another time? (y/smthelse)" << endl;
cin >> check;
//полом цикла если юзер не отвечает y
if (check != "y") {
cout << "well have nice time gg" << endl;
break; break;
}
} case 2:
return 0; cout << "ASS U WISH, SHIT WILL BE IN FLOAT.\nSUKA TYPE d:";
} cin >> d;
//конец программы cout << "BRATUXA PICK zn (type 1 for +, 2-, 3*, 4/):";
cin >> zn;
cout << "PIDR TYPE e:";
cin >> e;
switch (zn) {
case 1:
cout << d << PLUS << e << EQUAL << d + e << endl; break;
case 2:
cout << d << MINUS << e << EQUAL << d - e << endl; break;
case 3:
cout << d << MULTIPLE << e << EQUAL << d * e << endl; break;
case 4:
cout << d << DIV << e << EQUAL << d / e << endl; break;
}
break;
case 3:
cout << "WELL BRO U'LL BE LUCKY. FLOAT ALL RANDOM!" << endl;
srand(static_cast<unint>(time(0)));
rng = rand();
zn = (rng % 4)+ 1;
d = rng;
srand(static_cast<unint>(time(0)));
rng = rand();
e = (rng / 14.9) * (rng / rng) - 4;
switch (zn) {
case 1:
cout << d << PLUS << e << EQUAL << d + e << endl; break;
case 2:
cout << d << MINUS << e << EQUAL << d - e << endl; break;
case 3:
cout << d << MULTIPLE << e << EQUAL << d * e << endl; break;
case 4:
cout << d << DIV << e << EQUAL << d / e << endl; break;
}
cout << "ayyyy lmao" << endl;
break;
default:
cout << "GTFO BEACH I SAID U PICK 1 OR 2!!! 0xyucocu000007blyadei" << endl;
continue;
//здесь цикл не завершается, а вновь просит выбрать между инт и флоат (т.е. уходит в начало)
}
//запрос на продолжать или нет
cout << RAZD << "\n" << RAZD << "\n" << "\n" << "wanna do shish another time? (y/smthelse)" << endl;
cin >> i;
} while (i == "y");
cout << "well have a nice time gl" << endl;
return 14881337228;
}