C++程序设计 (第三版) 谭浩强 习题11.1
习题 11.1 将例11.1的程序片断补充和改写成一个完整、正确的程序,用公用继承方式。在程序中应包括输入数据的函数,在程序运行时输入num,name,sex,age,addr的值,程序应输出以上5个数据的值。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
#include <iostream>
#include <string>
using namespace std;
class Student{
public:
void get_value();
void display();
private:
int num;
string name;
char sex;
};
void Student::get_value(){
cout<<"Enter Student Number(100 ~ 999): ";
cin>>num;
while(num < 100 || num > 999){
cout<<"Number Error! Retry!\nEnter Student Number(100 ~ 999): ";
cin>>num;
}
fflush(stdin);
cout<<"Enter Student Name: ";
getline(cin, name);
cout<<"Enter Student Sex(M or F): ";
cin>>sex;
while(sex != 'M' && sex != 'F'){
cout<<"Sex Error! Retry!\nEnter Student Sex(M or F): ";
cin>>sex;
}
}
void Student::display(){
cout<<"Number: "<<num<<endl;
cout<<"Name: "<<name<<endl;
cout<<"Sex: "<<sex<<endl;
}
class Student1: public Student{
public:
void get_value_1();
void display_1();
private:
int age;
string addr;
};
void Student1::get_value_1(){
get_value();
cout<<"Enter Student Age(6 ~ 35): ";
cin>>age;
while(age < 6 || age > 35){
cout<<"Age Error! Retry!\nEnter Student Age(6 ~ 35): ";
cin>>age;
}
fflush(stdin);
cout<<"Enter Student Address: ";
getline(cin, addr);
}
void Student1::display_1(){
display();
cout<<"Age: "<<age<<endl;
cout<<"Address: "<<addr<<endl;
}
int main(){
Student1 stud1;
stud1.get_value_1();
cout<<endl;
stud1.display_1();
cout<<endl;
system("pause");
return 0;
}