@Jek_Rock
Java developer

Неправильно работает метод класса

Есть такая программа. Подскажите, почему неправильно работает метод, который просит ввести пол (метод ch_sex())?
#include <iostream>
#include <string.h>
using namespace std;


class Person{

	char name[20];
	int age;
	char sex[10];
	char phone[15];
	
public:
	Person(){
		age=0;
	}

	void ch_name();

	void ch_age();

	void ch_sex();

	void ch_phone();

	void Print();

};

void Person::ch_name(){
	cout<<"Enter name: ";
	cin.getline(name,20);
	
}

void Person::ch_age(){
	cout<<"Enter age: ";
	cin>>age;
}

void Person::ch_sex(){
	cout<<"Enter sex: ";
	cin.getline(sex,10);
}

void Person::ch_phone(){
	cout<<"Enter phone number: ";
	cin.getline(phone,15);
}

void Person::Print(){
	cout<<"Name: "<<name<<"\n";
	cout<<"Age: "<<age<<"\n";
	cout<<"Sex: "<<sex<<"\n";
	cout<<"Phone number: "<<phone<<"\n";
}

void main(){

	Person obj;

	obj.ch_name();
	obj.ch_age();
	obj.ch_sex();
	obj.ch_phone();
	cout<<"_______________________________________\n";
	obj.Print();

	system("pause");
}

При вызове метода печатается "Enter sex: ", и дальше вызывается следующий метод, не давая ввести пол.
  • Вопрос задан
  • 2610 просмотров
Решения вопроса 1
kosmos89
@kosmos89
Попробуй вызывать cin.ignore() перед вводом очередного значения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы