鱼C论坛

 找回密码
 立即注册
查看: 580|回复: 11

[已解决]小白求助 cin输入的问题

[复制链接]
发表于 2020-5-3 18:23:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include "iostream"
  2. using std::endl;
  3. using std::cout;
  4. using std::cin;
  5. using std::string;

  6. class Student
  7. {
  8. private:
  9.         int num;
  10.         string name;
  11.         char sex;
  12. public:
  13.         void getValue()
  14.         {
  15.                 cout << "请输入学号:";
  16.                 cin >> num;
  17.                 cout << "请输入姓名:";
  18.                 cin >> name;
  19.                 cout << "请输入性别:";
  20.                 cin >> sex;
  21.         }
  22. public:
  23.         void show()
  24.         {
  25.                 cout << this->num << " " << this->name << " " << this->sex << endl;
  26.         }
  27. };

  28. class Student01 :public Student
  29. {
  30. private:
  31.         int age;
  32.         string addr;
  33. public:
  34.         void getValue1()
  35.         {
  36.                 cout << "请输入年龄:";
  37.                 cin >> age;
  38.                 cout << "请输入地址:";
  39.                 cin >> addr;
  40.         }
  41. public:
  42.         void show1()
  43.         {
  44.                 cout << this->age << " " << this->addr << endl;
  45.         }
  46. };

  47. void main()
  48. {
  49.         Student01 st1;
  50.         st1.getValue();
  51.         st1.show();

  52.         st1.getValue1();
  53.         st1.show1();

  54.         system("pause");
  55. }
复制代码
最佳答案
2020-5-6 12:08:45
sex字段是char类型的,放不下一个汉字,如果性别只输入一个英文字符就没问题。
可以把sex字段改成string类型。或者改成char数组,比如char sex[5];

4-学生类继承.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-3 18:26:22 | 显示全部楼层
问题描述:执行完第一个类的cin输入后 没有啊执行第二个类的输入 然后直接打印
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 18:58:24 | 显示全部楼层
琴长不过时光 发表于 2020-5-3 18:26
问题描述:执行完第一个类的cin输入后 没有啊执行第二个类的输入 然后直接打印

我觉得你图片贴错了
而且你的图片上还有你的个人信息
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-3 20:33:31 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-3 18:58
我觉得你图片贴错了
而且你的图片上还有你的个人信息

图片应该没错  就是 父类函数 一个cin  子类函数一个cin 父类的cin执行完了 直接打印 不执行子类函数里的cin  这是怎么一回事  要是图片不行的话 明天我再弄个新的代码和照片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-3 20:34:21 | 显示全部楼层
  1. #include "iostream"
  2. using std::endl;
  3. using std::cin;
  4. using std::cout;
  5. using std::string;

  6. class Student
  7. {
  8. private:
  9.         int num;
  10.         string name;
  11.         char sex;
  12. public:
  13.         void getValue()
  14.         {
  15.                 cout << "请输入3个数据\n";
  16.                 cin >> num >> name >> sex;
  17.         }
  18. public:
  19.         void show()
  20.         {
  21.                 cout << "Student num:" << this->num << endl;
  22.                 cout << "Student name:" << this->name << endl;
  23.                 cout << "Student sex:" << this->sex << endl;
  24.         }
  25. };

  26. class Student1 :public Student
  27. {
  28. private:
  29.         int age;
  30.         string addr;
  31. public:
  32.         void getValue1()
  33.         {
  34.                 cout << "请输入2个数据\n";
  35.                 cin >> age >> addr;
  36.         }
  37. public:
  38.         void show1()
  39.         {
  40.                 cout << "Student1 age:" << age << endl;
  41.                 cout << "Student1 addr:" << addr << endl;
  42.         }
  43. };

  44. void main()
  45. {
  46.         Student1 st;
  47.         st.getValue();//调用基类公有成员函数,输入基类中3个数据的值
  48.         st.getValue1();//调用派生类公有成员函数,输入派生类2个数据的值

  49.         st.show();//调用基类公有成员函数,输出基类中3个数据的值
  50.         st.show1();//调用派生类公有成员函数,输出派生类中2个数据的值
  51.         system("pause");
  52. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-3 20:34:28 | 显示全部楼层
琴长不过时光 发表于 2020-5-3 20:33
图片应该没错  就是 父类函数 一个cin  子类函数一个cin 父类的cin执行完了 直接打印 不执行子类函数里的 ...

我没想明白图片上的请输入三个数据是哪来的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-5 16:52:34 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-3 20:34
我没想明白图片上的请输入三个数据是哪来的

数据是前面类里的 private修饰的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-5 17:01:04 | 显示全部楼层
琴长不过时光 发表于 2020-5-5 16:52
数据是前面类里的 private修饰的

我说那几个字哪来的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-5 21:13:49 | 显示全部楼层
是不是忘了敲回车了
直接空格输入了
还有你图片和代码不一致啊,图片最后一行的字代码里根本没有啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 12:08:45 | 显示全部楼层    本楼为最佳答案   
sex字段是char类型的,放不下一个汉字,如果性别只输入一个英文字符就没问题。
可以把sex字段改成string类型。或者改成char数组,比如char sex[5];

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-6 12:22:35 | 显示全部楼层
superbe 发表于 2020-5-6 12:08
sex字段是char类型的,放不下一个汉字,如果性别只输入一个英文字符就没问题。
可以把sex字段改成string类 ...

知道了 谢谢大佬 我再试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-6 12:32:34 | 显示全部楼层
superbe 发表于 2020-5-6 12:08
sex字段是char类型的,放不下一个汉字,如果性别只输入一个英文字符就没问题。
可以把sex字段改成string类 ...

对的 大佬 改成 string类型 就正常了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 11:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表