mình có 1 bài tập C++ nhập code, name, grade của sv mình k biết viết hàm kiểm tra tên thế nào hả ai giúp mình với. Vd như Enter name: 123123 thì n sẽ báo lỗi và bắt nhập lại
Mã:
#include <iostream>
#include <string.h>
#include <iomanip>
#include <stdlib.h>
using namespace std;
class Student{
int code;
double grade;
char* name;
public:
Student(){
name = new char[50];
code = 0;
grade = 0;
strcpy(name,"");
}
Student(int co, char na[], double gra){
name = new char[50];
code = co;
strcpy(name,na);
grade = gra;
}
/*~Student(){
cout << "SAFE EMPTY STATE" << endl;
if(name != NULL)
delete []name;
name = NULL;
}*/
void accept(){
while(true)
{
cout<<"Enter Code:";
cin>>code;
if(cin.fail() || (cin.get())!='
')
{
cin.clear();
fflush(stdin);
cout<<"Invalid data, please reenter!"<<endl;
continue;
}
else if(code>100 || code<1){
cin.clear();
fflush(stdin);
cout<<"Code [1,100]"<<endl;
}
else break;
}
while(true){
cout << "Enter Name: ";
cin.getline(name,20);
if(cin.fail() || (cin.get())!='
'){
cin.clear();
fflush(stdin);
cout<<"Invalid data, please reenter!"<<endl;
}
else break;
}
while(true){
cout<< "Enter Grade: ";
cin >> grade;
if(cin.fail() || (cin.get())!='
')
{
cin.clear();
fflush(stdin);
cout<<"Invalid data, please reenter!"<<endl;
continue;
}
else if(grade>10 || grade<1){
cin.clear();
fflush(stdin);
cout<<grade<<" is out of range [1,10]"<<endl;
}
else break;
}
}
void display(){
if(code==0, strcmp(name,"")==0, grade==0){
cout<<"EROOR!!"<<endl;
}else cout<<endl<<setw(15)<<left<<code<<setw(30)<<left<<name<<setw(15)<<left<<setprecision(2)<<fixed<<grade<<endl;
}
};
int main(){
Student s1, s2, s3;
cout << "============= TEST CASE 01 ==============" << endl;
s1.display();
cout << endl << "============= TEST CASE 02 ==============";
s2 = Student(6886,"Messi",6.5);
s2.display();
cout << endl << "============= TEST CASE 03 ==============" << endl;
s3.accept();
cout << endl << "============= TEST CASE 04 ==============";
cout<<endl<<setw(15)<<left<<"ID"<<setw(30)<<left<<"NAME"<<setw(15)<<left<<fixed<<"GRADE";
s3.display();
system("pause");
return 0;
}
View more random threads:
Pallet nhựa Lâm Đồng giải pháp hoàn hảo cho nhà kho Pallet nhựa Lâm Đồng là một giải pháp đa năng và hiệu quả trong việc vận chuyển và lưu trữ hàng hóa. Trong đó, pallet nhựa Lâm Đồng không chỉ đáp...
Pallet nhựa Lâm Đồng giải pháp...