Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском.
Закрыт 1 год назад.
Дана задача: В населеном пункте проживает N человек, о каждом известно фамилия, возвраст и пол. Ввести информацию о жителях данного пункта и посчитать количество женщин и мужчин. Вывести информацию о среднем возврасте мужчин и женщин. Вывести фамилии тех мужчин/женщин, чей возвраст выше/ниже среднего.
Обязательно использовать структуру.
После ввода Фамилии происходит такая проблема:
ПОЯСНЕНИЯ К КОДУ: ПЕРЕМЕННЫЕ f-количество женщин m-количество мужчин age_m-средний возвраст мужчин age_f-средний возвраст женщин
Вот код:
#include <iostream>
using namespace std;
struct Vilage
{
char gen;
char sename;
int age;
};
int main()
{
setlocale(LC_ALL, "ru");
int i, f = 0, m = 0;
double age_m = 0, age_f = 0;
Vilage N[10];
for (i = 0; i < 10; i++) {
cout << "Введите Пол проживающего (m-мужчина, f-женщина): " << endl;
cin>>N[i].gen;
cout << "Введите Фамилию проживающего: " << endl;
cin >> N[i].sename;
cout << "Введите Возвраст проживающего: " << endl;
cin >> N[i].age;
}
for (i = 0; i < 10; i++) {
if (N[i].gen == 'm') {
m++;
age_m += N[i].age;
}
if (N[i].gen == 'f') {
f++;
age_f += N[i].age;
}
}
age_m /= m;
age_f /= f;
cout << "--------------------------------------------------------------------------------------" << endl;
cout << "Средний возвраст мужчин составляет: " << age_m << " лет" << endl;
cout << "Фамилии мужчин, чей возвраст выше среднего: " << endl;
for (i = 0; i < 10; i++) {
if (N[i].gen == 'm') {
if (N[i].age > age_m)
cout << N[i].sename;
}
}
cout << "--------------------------------------------------------------------------------------" << endl;
cout << "Средний возвраст женщин составляет: " << age_f << " лет" << endl;
cout << "Фамилии женщин, чей возвраст ниже среднего: " << endl;
for (i = 0; i < 10; i++) {
if (N[i].gen == 'm') {
if (N[i].age < age_m)
cout << N[i].sename;
}
}
system("pause");
return 0;
}
char sename;
и
cout << "Введите Фамилию проживающего: " << endl;
cin >> N[i].sename;
Вы считываете 1 (прописью: один) символ в sename
, а все остальное из Petrov
пытаетесь считать в int age
. А так как это не число - понятно, что получается одна большая ошибка - вы же "защиту от дурака" (от неверного ввода) не писали...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
подскажите пожалуйста правильно ли я ищу длину строки переменной массива структуры
Есть ли способ проще, чем просто рисовать 240 кругов разного цвета и радиуса? И как рассчитать точное количество пикселей, нужное для каждого...
Полный текст задания: Даны два массива А и И одинакового размера NОпределить функцию, возвращающую новый массив С того же размера, каждый...