From ad8ba9184d4c3b6eff9d251a8677853075975fce Mon Sep 17 00:00:00 2001 From: Andrew Guschin Date: Thu, 16 Feb 2023 21:43:45 +0400 Subject: =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80=D0=B6=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=B4=D0=B5=D1=81=D1=8F=D1=82=D0=B8=D1=87=D0=BD?= =?UTF-8?q?=D1=8B=D1=85=20=D1=81=D0=B8=D1=81=D1=82=D0=B5=D0=BC=20=D1=81?= =?UTF-8?q?=D1=87=D0=B8=D1=81=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BE?= =?UTF-8?q?=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sem2/src/main.rs | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) (limited to 'sem2/src/main.rs') diff --git a/sem2/src/main.rs b/sem2/src/main.rs index f60350d..ed33b43 100644 --- a/sem2/src/main.rs +++ b/sem2/src/main.rs @@ -2,10 +2,42 @@ use inquire::Text; mod mpn; fn main() { - let a = Text::new("Введите число:").prompt().unwrap(); - let a = mpn::Number::parse(&a).unwrap(); - let b = Text::new("Введите число:").prompt().unwrap(); - let b = mpn::Number::parse(&b).unwrap(); - let c = a + b; - println!("Number: {}", c); + let radix = match Text::new("Введите основание системы счисления:").prompt() + { + Ok(text) => text, + Err(_) => return, + }; + let radix = match radix.parse::() { + Ok(number) => number, + Err(_) => { + println!("Основание должно быть десятичным числом"); + return; + } + }; + + let a = match Text::new("Введите число:").prompt() { + Ok(text) => text, + Err(_) => return, + }; + let a = match mpn::Number::parse(&a, radix) { + Ok(number) => number, + Err(what) => { + println!("{what}"); + return; + } + }; + + let b = match Text::new("Введите число:").prompt() { + Ok(text) => text, + Err(_) => return, + }; + let b = match mpn::Number::parse(&b, radix) { + Ok(number) => number, + Err(what) => { + println!("{what}"); + return; + } + }; + + println!("Сумма: {}", a + b); } -- cgit v1.2.3