🚧 began working on 2.1
parent
c968dc1cb4
commit
feb3590398
@ -0,0 +1,66 @@
|
||||
#include <iostream>
|
||||
#include <cstdlib>
|
||||
#include <time.h>
|
||||
|
||||
int check_number(char* number, int* checked_number) {
|
||||
std::size_t pos;
|
||||
*checked_number = std::stoi(number, &pos);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int guess(int to_guess) {
|
||||
std::cout << "Take a guess!" << std::endl;
|
||||
char* guess;
|
||||
std::cin >> guess;
|
||||
int guess_number;
|
||||
int check = check_number(guess, &guess_number);
|
||||
if (check < 0)
|
||||
return check;
|
||||
if (!guess_number == to_guess) {
|
||||
if (guess_number < to_guess)
|
||||
std::cout << "Your number is too small.";
|
||||
else
|
||||
std::cout << "Your number is too big.";
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
int play(int max) {
|
||||
srand(time(NULL));
|
||||
int random_number = rand() % (max + 1);
|
||||
int win = 0;
|
||||
int tries = 0;
|
||||
while (win == 0) {
|
||||
tries++;
|
||||
win = guess(random_number);
|
||||
}
|
||||
if (win < 0)
|
||||
return win;
|
||||
return tries;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
int max = 10;
|
||||
if (argc > 1) {
|
||||
int check = check_number(argv[1], &max);
|
||||
if (check < 0)
|
||||
return check;
|
||||
} else
|
||||
std::cout << "Using default max of 10" << std::endl;
|
||||
|
||||
std::cout << "Do you want to play? (y/n)" << std::endl;
|
||||
char* answer;
|
||||
std::cin >> answer;
|
||||
if (answer[0] == 'y') {
|
||||
int check = play(max);
|
||||
if (check < 0) {
|
||||
std::cout << "Something went wrong. :/" << std::endl;
|
||||
return check;
|
||||
} else
|
||||
std::cout << "Win after " << check << " tries." << std::endl;
|
||||
}
|
||||
else
|
||||
std::cout << "Good night." << std::endl;
|
||||
return 0;
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.11.4)
|
||||
project (01)
|
||||
|
||||
add_executable(02_1 02_1.cpp)
|
||||
#add_executable(01_2 01_2.cpp)
|
Loading…
Reference in New Issue