Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::io;
- use core::num;
- use std::io::Write;
- use std::process;
- use std::u8;
- use rand::prelude::*;
- fn exit_program(msg: &str) -> u8 {
- println!("{}", msg);
- process::exit(0x0100);
- }
- fn main() -> io::Result<()> {
- print!("Введите число от 1 до 10: ");
- io::stdout().flush().unwrap();
- let mut user_input = String::new();
- let mut rng = rand::thread_rng();
- let stdin = io::stdin();
- stdin.read_line(&mut user_input)?;
- let guessed_num = user_input.trim().parse::<u8>();
- let guessed_num = match guessed_num {
- Ok(num) => num,
- Err(err) => match err.kind() {
- num::IntErrorKind::PosOverflow => exit_program("Вы ввели слишком большое число! 😡😡😡"),
- num::IntErrorKind::Empty => exit_program("Вы не ввели число! 😡😡😡"),
- num::IntErrorKind::InvalidDigit => exit_program("Вы ввели нечисловое значение! 😡😡😡"),
- other => panic!("Произошла ошибка: {:?}", other),
- },
- };
- if guessed_num > 10 {
- exit_program("Вы ввели слишком большое число! 😡😡😡");
- }
- if guessed_num == 0 {
- exit_program("Вы ввели cлишком маленькое число! 😡😡😡");
- }
- if guessed_num == rng.gen_range(1..10) {
- println!("Вы угадали число! 🥳🥳🥳");
- } else {
- println!("Вы не угадали число! 😭😭😭");
- }
- Ok(())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement