🚧 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