From 673801ce2c09e3664eba8a8ac5549e0b21403709 Mon Sep 17 00:00:00 2001 From: luongd123 Date: Sat, 18 Jan 2025 15:38:03 +0700 Subject: [PATCH] Update check valid grade method Check the user's double input more thoroughly --- .vscode/settings.json | 5 ++ PROJECT_FINAL.cpp | 91 +++++++++++++++++++++++++-------- PROJECT_FINAL.exe | Bin 123984 -> 126721 bytes danhsachsinhvien.txt | 6 ++- "\304\220\341\273\200 01.pptx" | Bin 4176816 -> 4178348 bytes 5 files changed, 81 insertions(+), 21 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..0cba2e6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "iostream": "cpp" + } +} \ No newline at end of file diff --git a/PROJECT_FINAL.cpp b/PROJECT_FINAL.cpp index a645cd6..dc55806 100644 --- a/PROJECT_FINAL.cpp +++ b/PROJECT_FINAL.cpp @@ -4,14 +4,36 @@ using ll = long long; const ll MOD = 1e9 + 7; +double strToDouble(string s){ + int n = s.size(); + int i = 0; + string int_part = "" , double_part = ""; + double res = 0.0; + while (s[i] != '.' && s[i] != ',' && i <= n - 1) { + int_part += s[i]; + i ++; + } + i ++; + while (i <= n - 1) { + double_part += s[i]; + i ++; + } + res += 1.0 * stoi(int_part); + double tmp = 0.0; + int p = double_part.size(); + tmp += 1.0 * stoi(double_part) * pow(10, -1 * p); + res += tmp; + return res; +} + void standardize_Name(string &name){ stringstream ss(name); string tmp; string res =""; - while(ss >> tmp){ + while (ss >> tmp) { tmp[0] = toupper(tmp[0]); int n = tmp.size(); - for(int i = 1; i < n; i ++){ + for (int i = 1; i < n; i ++) { tmp[i] = tolower(tmp[i]); } res += tmp +" "; @@ -20,10 +42,10 @@ void standardize_Name(string &name){ } void standardize_Date(string &date){ - if(date[1] == '/'){ + if (date[1] == '/') { date = "0" + date; } - if(date[4] == '/'){ + if (date[4] == '/') { date.insert(3, "0"); } } @@ -41,7 +63,7 @@ bool isLeapYear(string year) { bool isValidDate(string date) { - if(!isdigit(date[0]) || !isdigit(date[1]) || !isdigit(date[3]) || !isdigit(date[4]) || !isdigit(date[6]) || !isdigit(date[7]) || !isdigit(date[8]) || !isdigit(date[9]) || date[2] != '/' || date[5] != '/' || date.length() != 10 ){ + if (!isdigit(date[0]) || !isdigit(date[1]) || !isdigit(date[3]) || !isdigit(date[4]) || !isdigit(date[6]) || !isdigit(date[7]) || !isdigit(date[8]) || !isdigit(date[9]) || date[2] != '/' || date[5] != '/' || date.length() != 10 ) { return false; } @@ -93,9 +115,9 @@ bool isValidStudentCode(const string code) { bool isValidName(string name){ stringstream ss(name); string tmp ; - while(ss >> tmp){ - for(char c : tmp){ - if(!isalpha(c)){ + while (ss >> tmp) { + for (char c : tmp) { + if (!isalpha(c)) { return false; } } @@ -103,6 +125,25 @@ bool isValidName(string name){ return true; } +bool isValidDouble(string s){ + int cnt_dot = 0, cnt_comma = 0; + for (char c : s) { + if (c == ',') { + cnt_comma ++; + } + else if (c == '.') { + cnt_dot ++; + } + else if(!isdigit(c)){ + return false; + } + if (cnt_dot > 1 || cnt_comma > 1 || (cnt_dot && cnt_comma)) { + return false; + } + } + return true; +} + // Định nghĩa class Student để quản lý thông tin sinh viên. class Student { private: @@ -153,11 +194,11 @@ class Student { // Hàm Display_list: // Hàm này hiển thị thông tin về danh sách sinh viên hiện tại và các thông tin của từng sinh viên trong danh sách. void Display_list(list LS){ - if(LS.size() == 0){ + if (LS.size() == 0) { cout <<"The current list does not contain any students !!!!\n"; } else{ - if(LS.size() == 1){ + if (LS.size() == 1) { cout <<" The current list contains 1 student.\n"; } else{ @@ -184,7 +225,7 @@ void Display_highest_grade(list LS){ for(list::iterator it = LS.begin(); it != LS.end(); it++){ double grade = (*it).Get_avg_grade(); - if(grade > Tmp_grade){ + if (grade > Tmp_grade) { Tmp_grade = grade; } } @@ -192,7 +233,7 @@ void Display_highest_grade(list LS){ // Duyệt lại for(list::iterator it = LS.begin(); it != LS.end(); it++){ double grade = (*it).Get_avg_grade(); - if(grade == Tmp_grade){ + if (grade == Tmp_grade) { HLS.push_back((*it)); } } @@ -214,7 +255,7 @@ void Display_lowest_grade(list LS){ for(list::iterator it = LS.begin(); it != LS.end(); it++){ double grade = (*it).Get_avg_grade(); - if(grade < Tmp_grade){ + if (grade < Tmp_grade) { Tmp_grade = grade; } } @@ -222,7 +263,7 @@ void Display_lowest_grade(list LS){ // Duyệt lại for(list::iterator it = LS.begin(); it != LS.end(); it++){ double grade = (*it).Get_avg_grade(); - if(grade == Tmp_grade){ + if (grade == Tmp_grade) { LLS.push_back((*it)); } } @@ -240,7 +281,7 @@ Student Code_search(string S_code, list LS){ // Duyệt qua tất cả các sinh viên trong danh sách LS để tìm sinh viên có mã số sinh viên trùng với S_code for(list::iterator it = LS.begin(); it != LS.end(); it++){ string code = (*it).Get_S_code(); - if(S_code == code){ + if (S_code == code) { return *it; // Trả về sinh viên tìm được } } @@ -272,7 +313,7 @@ void Add_Student(list &LS){ return; } // Kiểm tra tính hợp lệ của mã số sinh viên - if(Code_search(S_code, LS).Get_S_code() == "Null" ){ + if (Code_search(S_code, LS).Get_S_code() == "Null" ) { if (isValidStudentCode(S_code)) { cout << "Student code " << S_code << " is valid." << endl; break; @@ -288,7 +329,7 @@ void Add_Student(list &LS){ } // Nhập tên - while(true){ + while (true) { cout << "Full Name : "; getline(cin, Full_name); if (Full_name == "q" || Full_name == "exit") { @@ -296,7 +337,7 @@ void Add_Student(list &LS){ return; } standardize_Name(Full_name); // Chuẩn hóa tên - if(isValidName(Full_name)){ + if (isValidName(Full_name)) { break; } else{ @@ -323,12 +364,22 @@ void Add_Student(list &LS){ // Nhập điểm trung bình while (true) { + string str_grade = ""; cout << "Average Grade (0-10) : "; - cin >> avg_grade; + getline(cin, str_grade); + if (str_grade == "q" || str_grade == "exit") { + cout << "Cancelling the add student process.\n"; + return; + } + if (!isValidDouble(str_grade)) { + cout << "Invalid grade. Please enter a number between 0.0 and 10.0 .\n"; + continue; + } + avg_grade = strToDouble(str_grade); if (avg_grade >= 0 && avg_grade <= 10) { break; } else { - cout << "Invalid grade. Please enter a grade between 0 and 10.\n"; + cout << "Invalid grade. Please enter a grade between 0.0 and 10.0 .\n"; } } diff --git a/PROJECT_FINAL.exe b/PROJECT_FINAL.exe index cc30beecdbdad2f222386cada206a6e64dfb407b..bd49edd70fbf8b0dc6d977cbb8abdf63a5e7f434 100644 GIT binary patch delta 32455 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 KEk$;SG5;UJ*>dp{bD~qIu063`htuY-`8L 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 Jp?e67|35O5VCnz> delta 7922 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 nk3?(i65Q3lh#o5|0ZJ3P%7)