Files
1test/main.cpp

102 lines
4.0 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <iostream>
#include <cstdlib>
#include <ctime>
using std::cout;
using std::endl;
using std::cin;
using std::string;
typedef unsigned int unint;
int main() {
//объявление именных и числовых переменных с присвоением значений
int a, b, rng;
unint c, zn;
string i = "y";
float d, e;
const char *PLUS = "+"; const char *MINUS = "-";
const char *MULTIPLE = "*"; const char *DIV = "/"; const char *MOD = "%";
const char *EQUAL = "= "; const char *RAZD = "----------------------------------";
enum pooloper {plus, minus, multiple, div, mod};
//алгоритм
cout << "DUMB CALC. HULI NADA TEBE BLYAT?\n\n" << endl;
do {
cout << "INT or FLOAT PADLA??\ntype 1 for INT\ntype 2 for FLOAT\ntype 3 for FLOAT ALL RANDOM" << endl;
cin >> c;
switch (c)
{
case 1:
cout << "OKWELL, I'LL DO IT BY INT.\nSUKA ENTER a:";
cin >> a;
cout << "BRATUXA PICK zn (type 1 for +, 2-, 3*, 4/, 5%):";
cin >> zn;
cout << "PIDR ENTER b:";
cin >> b;
switch (zn) {
case 1:
cout << a << PLUS << b << EQUAL << a + b << endl; break;
case 2:
cout << a << MINUS << b << EQUAL << a - b << endl; break;
case 3:
cout << a << MULTIPLE << b << EQUAL << a * b << endl; break;
case 4:
cout << a << DIV << b << EQUAL << a / b << endl; break;
case 5:
cout << a << MOD << b << EQUAL << a % b << endl; break;
}
break;
case 2:
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;
}