0 / 0 / 2
Регистрация: 22.12.2014
Сообщений: 62
1

Создать структуру Население

04.04.2015, 15:13. Показов 671. Ответов 2
Метки нет (Все метки)

Сделать и вывести структуру: Номер записи, название области, название областного центра, площадь территории, численность населения.
Я сделал, но при компиляции невозможно ввести название области. Просто выводит на экран "Название обл: ", и потом сразу "Название обл. центру: ". Кто знает, в чем проблема?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream.h>
using namespace std;
struct zapisi
{
int nomer;
char nazvaobl[30];
char centru[30];
float plosha;
int kilkist;
};
void main ()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale (0, "");
zapisi a[5];
for (int i = 0; i < 5; i++)
{
cout << "Введите данные про " << i + 1 << " записи:\n";
cout << "Номер: "; cin >> a[i].nomer;
cout << "Название обл: "; cin.getline(a[i].nazvaobl,30);
cout << "Название обл. центру: "; cin.getline(a[i].centru,30);
cout << "Площадь: "; cin >> a[i].plosha;
cout << "Население: "; cin >> a[i].kilkist;
cin.get();
}
system ("pause");
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2015, 15:13
Ответы с готовыми решениями:

Оператор new (создать класс город у которого есть название и население)
Была задачка, создать класс город у которого есть название и население. Определить функцию которая...

Как создать структуру-список, поля которой — ссылка на такую же структуру
Суть вопроса в том, как создать структуру-список, поля которой - ссылка на сл. элемент(такую же...

Население города ежегодно увеличивается на 1/40 наличного состава жителей. Через сколько лет население города утроится?
Население города ежегодно увеличивается на 1/40 наличного состава жителей. Через сколько лет...

Определить, через сколько лет население первой страны превзойдет население второй страны
Задача такая: Население 2-х стран равно N1 и N2, соответственно прирост P1 и P2. Население N1 &lt; N2,...

2
Модератор
Эксперт С++
12639 / 10133 / 6102
Регистрация: 18.12.2011
Сообщений: 27,169
04.04.2015, 15:27 2
Цитата Сообщение от vizinar Посмотреть сообщение
cin >> a[i].nomer;
После этого в потоке ввода остается \n, который считывается по
cin.getline(a[i].nazvaobl,30); - вводится пустая строка.
См.
Распространенные ошибки
1
195 / 196 / 120
Регистрация: 27.05.2011
Сообщений: 545
04.04.2015, 15:51 3
Дело в том, что после ввода `cin >> a[i].nomer` в потоке остаются все пробельные символы, в т.ч. и введённый вами '\n' в конце строки. Поэтому, когда выполняется `cin.getline(a[i].nazvaobl,30)`, функция getline обнаруживает '\n' и завершает ввод. Т.о. в результате своей работы она записывает пустую строчку.
Один из вариантов решения проблемы — выкинуть все символы из потока до '\n' сразу после ввода числа. Например, так:
C++
1
cin.ignore(numeric_limits<streamsize>::max(), '\n');
Этот метод принимает два необязательных параметра. Первый — ограничение на количество игнорируемых символов, второй — до какого включительно игнорировать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2015, 15:51
Помогаю со студенческими работами здесь

Через сколько лет население страны X превзойдет население страны Y
Доброго времени суток, уважаемые. Помогите пожалуйста решить задачу с использованием...

Как создать структуру, где будут поля с указателями на эту же структуру?
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; typedef struct DoubleQueue { queue* ar;...

Создать информационную систему " организация работы рекламного агентства" (создать только структуру :) )
Нам препод дал задание, создать не саму систему, а как бы структуру из чего она должна создать,...

Население Китая
https://seva-riga.livejournal.com/851159.html


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru