Помогите с C++(дописать и немного переписать) - Вопросы по С+

Вопрос Помогите с C++(дописать и немного переписать)

Регистрация
29 Июл 2013
Сообщения
104
Репутация
0
Спасибо
0
Монет
0
Сделайте так, чтобы значение переменной gender также вводилось пользователем с клавиатуры. Если введено значение m, выводится текст «You are a man». Если введено значение f, выводится текст «You are a woman». В противном случае ничего не выводится.
291886210_55ce9ab57abf34306b463f47c70ba8bd_800.jpg

 
Регистрация
10 Сен 2013
Сообщения
91
Репутация
0
Спасибо
0
Монет
0
Думаю, что нужно так...
#include

void flush(void) {
while (getchar() != '\n');
}

typedef struct {
char gender;
int age;
float height;
char name[20];
} person;

int main(void) {
person p;
printf("Name: ");
scanf("%s", p.name);
printf("Age: ");
scanf("%i", &p.age);
flush();
printf("Gender m/f: ");
p.gender = getchar();
flush();
printf("Height: ");
scanf("%f", &p.height);
printf("Name: %s, %i years old, %.2f m.", p.name, p.age, p.height);
if (p.gender == 'm') printf(" %s", "You are a man");
if (p.gender == 'f') printf(" %s", "You are a woman");
puts("");
return 0;
}
 
Регистрация
15 Дек 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
printf("Enter your gender: (m or f)");
scanf("%s", &man.gender);
if (man.gender == 'f')
printf("You are a man\n");
else if (man.gender == 'm')
printf("You are a woman\n");
else
printf("Bad input!\n");
 
Регистрация
1 Авг 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
#include

#define NAME_SIZE 20

struct person
{
int age;
float height;
char gender;
char name[NAME_SIZE];
};

int main(void)
{
struct person person;
scanf("%c", &person.gender);
scanf("%d%s", &person.age, person.name);

printf("Hello, %s!\nYour age is %d.\n",
person.name, person.age);

switch (person.gender) {
case 'm':
puts("You are a man");
break;
case 'f':
puts("You are a woman");
break;
}

return 0;
}
 
Сверху Снизу