1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
pub mod read_input{ use std::io; pub fn char_read()->char{ let mut input=String::new(); io::stdin().read_line(&mut input).expect("Failed to read input"); let input:char=input.trim().parse().expect("Invalid input"); input } pub fn str_read()->String{ let mut input=String::new(); io::stdin().read_line(&mut input).expect("Failed to read input"); input } pub fn int_read()->i64{ let mut input=String::new(); io::stdin().read_line(&mut input).expect("Failed to read input"); let input:i64=input.trim().parse().expect("Invalid input"); input } pub fn float_read()->f64{ let mut input=String::new(); io::stdin().read_line(&mut input).expect("Failed to read input"); let input:f64=input.trim().parse().expect("Invalid input"); input } } pub mod student_registration{ #[derive(Debug)] pub struct Student{ Name:String, Course:String, City:String, Distance_Learning:String, } impl Student{ pub fn register(Name:String, Course:String, City:String, Distance_Learning:String)->Student { Student{ Name, Course, City, Distance_Learning, } } pub fn display_card(&self){ println!("*********************************************************************************************"); println!("**********************************************ID CARD****************************************"); print!("*\t\tName: {}*\t\tCourse: {}*\t\tCity: {}*\t\tDistance learning:{}", self.Name,self.Course,self.City,self.Distance_Learning); super::auto_generate::display_auto(); println!("**********************************************************************************************"); } } } pub mod auto_generate{ pub fn display_auto(){ let mut RollNo:i32=super::random::random_gen(); let Center="Bahria Auditorium".to_string(); let Campus="Karsaz".to_string(); let Quarter="Q1".to_string(); let Batch:i32=2; let day_time="Sunday - 9 AM to 12 PM".to_string(); println!("*\t\tRoll No: IOT0{}\t\t\n*\t\tCenter: {}\t\t\n*\t\tCampus: {}\t\t\n*\t\tQuarter: {}\t\t\n*\t\tBatch: {}\t\t\n*\t\tDays / Time: {}\t\t", RollNo,Center,Campus,Quarter,Batch,day_time); } } pub mod random{ use rand::Rng; pub fn random_gen()->i32{ let number:i32=rand::thread_rng().gen_range(1000,5000); number } }