Commit fb9b102c authored by chetti lynda's avatar chetti lynda
Browse files

it's ok

parent 4a4111e4
# plus-nul-calculatrice
CHETTI Lynda
L2A
plus-nul-calculatrice @ b2787113
Subproject commit b2787113f56781cba3599937b17c6761e8ba9e52
use std::io::{stdin, stdout, Write};
fn read(input: &mut String) {
stdout().flush()
.expect("failed to flush");
stdin().read_line(input)
.expect("failed to read");
}
fn calculatrice() {
println!("Bienvenu dans notre programme de calcule !");
println!("*********************");
loop {
let mut num1 = String::new();
let mut num2 = String::new();
let mut operateur = String::new();
print!("entrez le chiffre : ");
read(&mut num1);
print!("et maintenat vous voulez faire quelle opération? entrez l'opérateur qui vous convient \n '+' pour l'addition \n '-' pour la soustraction \n '*' pour la multiplication\n '/'pour la division\n'%' pour le modulo\n*******\nPour ces opérations le deucieme chiffre n'est pas pris en compte \n '^'pour la puissance 2 \n '√'pour la racine carée(la meme chose ici aussi) \n'l' pour le logarithme\n 'c'pour le cos\n 's' pour le sin\n 't' pour tan\n 'f' pour la factorielle\n : ");
read(&mut operateur);
print!("Il vous faut un deuxieme chiffre ");
read(&mut num2);
let num1: f32 = num1.trim().parse().unwrap();
let num2: f32 = num2.trim().parse().unwrap();
let operateur: char = operateur.trim().chars().next().unwrap();
let operateurs = String::from("+-*/^√%lcsta");
if !operateurs.contains(operateur) {
println!("désolé nous n'avons pas réussis a inclure cette opérations dans notre programme");
continue;
}
let resultat = match operateur {
'+' => num1 + num2,
'-' => num1 - num2,
'*' => num1 * num2,
'/' => num1 / num2,
'^' => num1.powi(2),
'√' => num1.sqrt(),
'%' => num1 % num2,
'l' =>num1.log10(),
'c' =>num1.cos(),
's' =>num1.sin(),
't' =>num1.tan(),
_ => panic!("erreur")
};
println!("Le résultat de l'operation = {}", resultat);
}
}
use std::io::{stdin, stdout, Write};
pub fn read(input: &mut String) {
pub fn recup(input: &mut String) {
stdout().flush()
.expect("failed to flush");
stdin().read_line(input)
.expect("failed to read");
}
fn aire_triangle(dimensions: (f32, f32)) -> f32 {
dimensions.0 * dimensions.1
fn aire_rectangle(dimentions: (f32, f32)) -> f32 {
dimentions.0 * dimentions.1
}
fn perim_rectangle(rectangle: (u32, u32)) -> u32 {
( rectangle.0 +rectangle.1)*2
}
fn aire_carée(dimensions:(f32, f32)) -> f32{
dimensions.0 * dimensions.1
}
fn perim_carré(caré: (u32, u32)) -> u32 {
caré.0 *4
}
fn perim_triangle(triangle: (u32,u32, u32)) -> u32 {
triangle.0+triangle.1+triangle.2
}
pub fn main() {
println!("Bienvenu dans notre programme de calcule !");
println!("*********************");
......@@ -22,25 +33,45 @@ pub fn main() {
let mut num1 = String::new();
let mut num2 = String::new();
let mut operateur = String::new();
let mut numb1 = String::new();
let mut numb2 = String::new();
let mut numb3 = String::new();
let mut increment=1;
let mut increment2;
print!(" NB!!: les deux premiers chiffres seront utilisé pour toures les opérations sauf le calcule des perimetres!\nAHHH OUII! j'ai oublier de vous dire que il faut quand meme ajouter un chiffre donc mettez des zero quand la case ne vous interesse pas !\n\n ");
print!("entrez le chiffre : ");
read(&mut num1);
recup(&mut num1);
print!("Il vous faut un deuxieme chiffre ");
read(&mut num2);
recup(&mut num2);
print!("ces deux chiffres seront pris en compte que pour le claclue desperimetre \n");
print!(" entrez les dimentions: ");
recup(&mut numb1);
print!("Il vous faut un deuxieme chiffre ");
recup(&mut numb2);
print!("je sais ca commence a etre un peut trop mais ce troixieme et derniers vous servira pour le triangle ");
recup(&mut numb3);
print!("et maintenat vous voulez faire quelle opération? entrez l'opérateur qui vous convient \n '+' pour l'addition \n '-' pour la soustraction \n '*' pour la multiplication\n '/'pour la division\n'%' pour le modulo\n*******************\nPour ces opérations le deucieme chiffre n'est pas pris en compte \n '^'pour la puissance 2 \n '√'pour la racine carée(la meme chose ici aussi) \n'l' pour le logarithme\n 'c'pour le cos\n 's' pour le sin\n 't' pour tan\n ************* ****************\nPassant à la géometry\n *************** ************* \n'a'Calculer l'aire du triange ||'z' celui d'un caré\n : ");
read(&mut operateur);
print!("et maintenat vous voulez faire quelle opération? entrez l'opérateur qui vous convient \n '+' pour l'addition \n '-' pour la soustraction \n '*' pour la multiplication\n '/'pour la division\n'%' pour le modulo\n*******************\nPour ces opérations le deucieme chiffre n'est pas pris en compte \n '^'pour la puissance 2 \n '√'pour la racine carée(la meme chose ici aussi) \n'l' pour le logarithme\n 'c'pour le cos\n 's' pour le sin\n 't' pour tan\n************* ****************\nPassant à la géometry\n*************** ************* \nCalcule des airs\n+++++++++++++++\n'a'Calculer l'aire du triange ||'z' l'air d'un caré \nCalcul des perimetre\n++++++++++++++++\n'p' perimetre du rectangle || 'e' celui d'un carré || 'r' le permimetre du triangle\n : ");
recup(&mut operateur);
let num1: f32 = num1.trim().parse().unwrap();
let num2: f32 = num2.trim().parse().unwrap();
let numb1: u32 = numb1.trim().parse().unwrap();
let numb2: u32 = numb2.trim().parse().unwrap();
let numb3: u32 = numb3.trim().parse().unwrap();
let operateur: char = operateur.trim().chars().next().unwrap();
let rect1 = (num1, num2);
let rect = (num1, num2);
let yesss=(numb1,numb2);
let carr = (num1,num1);
let pca = (numb1,numb1);
let ptri =(numb1,numb2,numb3);
let operateurs = String::from("+-*/^√%lcstaz");
let operateurs = String::from("+-*/^√%lcstazper");
if !operateurs.contains(operateur) {
println!("désolé nous n'avons pas réussis a inclure cette opérations dans notre programme");
......@@ -56,21 +87,24 @@ pub fn main() {
'^' => num1.powi(2),
'√' => num1.sqrt(),
'%' => num1 % num2,
'l' =>num1.log10(),
'c' =>num1.cos(),
's' =>num1.sin(),
't' =>num1.tan(),
'a' =>aire_triangle(rect1),
'l' => num1.log10(),
'c' => num1.cos(),
's' => num1.sin(),
't' => num1.tan(),
'a' => aire_rectangle(rect),
'z' =>aire_carée(carr),
'p' =>perim_rectangle(yesss) as f32,
'e' => perim_carré(pca) as f32,
'r' => perim_triangle(ptri) as f32,
_ => panic!("erreur")
};
println!("Le résultat de l'operation = {}", resultat);
println!("Le résultat de l'operation = {} \n", resultat);
}
}
use std::io::{stdin, stdout, Write};
fn read(input: &mut String) {
stdout().flush()
.expect("failed to flush");
stdin().read_line(input)
.expect("failed to read");
}
fn calculatrice() {
println!("Bienvenu dans notre programme de calcule !");
println!("*********************");
loop {
let mut num1 = String::new();
let mut num2 = String::new();
let mut operateur = String::new();
print!("entrez le chiffre : ");
read(&mut num1);
print!("et maintenat vous voulez faire quelle opération? entrez l'opérateur qui vous convient \n '+' pour l'addition \n '-' pour la soustraction \n '*' pour la multiplication\n '/'pour la division\n'%' pour le modulo\n*******\nPour ces opérations le deucieme chiffre n'est pas pris en compte \n '^'pour la puissance 2 \n '√'pour la racine carée(la meme chose ici aussi) \n'l' pour le logarithme\n 'c'pour le cos\n 's' pour le sin\n 't' pour tan\n 'f' pour la factorielle\n : ");
read(&mut operateur);
print!("Il vous faut un deuxieme chiffre ");
read(&mut num2);
let num1: f32 = num1.trim().parse().unwrap();
let num2: f32 = num2.trim().parse().unwrap();
let operateur: char = operateur.trim().chars().next().unwrap();
let operateurs = String::from("+-*/^√%lcsta");
if !operateurs.contains(operateur) {
println!("désolé nous n'avons pas réussis a inclure cette opérations dans notre programme");
continue;
}
let resultat = match operateur {
'+' => num1 + num2,
'-' => num1 - num2,
'*' => num1 * num2,
'/' => num1 / num2,
'^' => num1.powi(2),
'√' => num1.sqrt(),
'%' => num1 % num2,
'l' =>num1.log10(),
'c' =>num1.cos(),
's' =>num1.sin(),
't' =>num1.tan(),
_ => panic!("erreur")
};
println!("Le résultat de l'operation = {}", resultat);
}
}
{"rustc_fingerprint":1286576992324200050,"outputs":{"2797684049618456168":{"success":false,"status":"exit status: 1","code":1,"stdout":"","stderr":"error: `-Csplit-debuginfo` is unstable on this platform\n\n"},"15537503139010883884":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n","stderr":""},"17598535894874457435":{"success":true,"status":"","code":0,"stdout":"rustc 1.56.0 (09c42c458 2021-10-18)\nbinary: rustc\ncommit-hash: 09c42c45858d5f3aedfa670698275303a3d19afa\ncommit-date: 2021-10-18\nhost: x86_64-unknown-linux-gnu\nrelease: 1.56.0\nLLVM version: 13.0.0\n","stderr":""},"931469667778813386":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/chetti/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\ndebug_assertions\nproc_macro\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""}},"successes":{}}
\ No newline at end of file
Signature: 8a477f597d28d172789f06886806bc55
# This file is a cache directory tag created by cargo.
# For information about cache directory tags see https://bford.info/cachedir/
{"rustc":9905615409658916977,"features":"[]","target":2622142488050192945,"profile":9251013656241001069,"path":1036222786711178230,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/calcule-0be23e3fa7904471/dep-bin-calcule"}}],"rustflags":[],"metadata":7797948686568424061,"config":2202906307356721367,"compile_kind":0}
\ No newline at end of file
This file has an mtime of when this was started.
\ No newline at end of file
/home/chetti/Documents/pro-rust/target/debug/calcule: /home/chetti/Documents/pro-rust/src/main.rs
/home/chetti/Documents/pro-rust/target/debug/deps/calcule-0be23e3fa7904471: src/main.rs
/home/chetti/Documents/pro-rust/target/debug/deps/calcule-0be23e3fa7904471.d: src/main.rs
src/main.rs:
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment