Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 23.07.2022
Сообщений: 11

Заполнение структуры через цикл

03.11.2022, 13:53. Показов 952. Ответов 9

Студворк — интернет-сервис помощи студентам
Задание: заполнить массив структур из текстового файла и вывести телефон третьего человека.
Не понимаю как заполнить структуру через цикл

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
29
30
31
32
33
34
#include<iostream>
#include<fstream>
#include<iomanip>
#include<windows.h>
 
using namespace std;
 
struct Human
{
    string name;
    string secondName;
    string country;
    string job;
    string telephon;
};
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");
    ifstream file("C:\\Users\\User\\OneDrive\\Рабочий стол\\input.txt");
    if (!file)
        cout << "Error of file opening";
    Human h1[1];
    Human h2[1];
    Human h3[1];
 
    \\ эту часть заменить на цикл
    file >> h1->name >> h2->name >> h3->name;
    file >> h1->secondName >> h2->secondName >> h3->secondName;
    file >> h1->country >> h2->country >> h3->country;
    file >> h1->job >> h2->job >> h3->job;
    file >> h1->telephon >> h2->telephon >> h3->telephon;
[/CPP]
cout << h3->telephon;
}[/CPP]


Содержание текстового файла
Ли Дюпон Кузьмин
Сан Жорж Игорь
Китай Франция Россия
менеджер художник водитель
335-13-78 786-45-45 243-55-67
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.11.2022, 13:53
Ответы с готовыми решениями:

Заполнение структуры через функцию
Здравствуйте помогите пжл, нужно реализовать заполнение структуры через функцию в этой проге #include &lt;stdio.h&gt; #include...

Заполнение структуры через rand
Допустим у меня есть такая структура struct list { char name; int year; }; Запись чтобы через rand...

Заполнение структуры через cin.getline
struct data { int day; int month; int year; }; struct NOTE { char familia; char name;

9
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
03.11.2022, 14:01
Цитата Сообщение от Kilodayt Посмотреть сообщение
Human h1[1];
Human h2[1];
Human h3[1];
у тебя не массив из трёх людей, а один. Зачем тебе ещё два человека? Объяви просто одного
C++
1
Human h1;
0
 Аватар для ram876
759 / 456 / 213
Регистрация: 19.12.2016
Сообщений: 1,815
03.11.2022, 14:01
А почему такое содержание? Неудобно же.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
03.11.2022, 14:01
если нужно несколько человек, объяви массив.
Human h[3];
0
0 / 0 / 0
Регистрация: 23.07.2022
Сообщений: 11
03.11.2022, 14:03  [ТС]
Думал, что нужно создать отдельный массив для каждого человека
0
0 / 0 / 0
Регистрация: 23.07.2022
Сообщений: 11
03.11.2022, 14:04  [ТС]
Такое условие задачи
Миниатюры
Заполнение структуры через цикл  
0
0 / 0 / 0
Регистрация: 23.07.2022
Сообщений: 11
03.11.2022, 14:05  [ТС]
Если объявить такой массив, как его заполнить через цикл?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
03.11.2022, 15:12
Kilodayt, так же как и любой другой массив.
Human это тип данных, такой же как int или char
Что ты объявишь с этим типом - не важно
если нужен один элемент этого типа - объявляешь одиночную переменную
нужно несколько, связанных идеей твоей программы в массив - объявляешь массив.
если у тебя одиночная переменная
Human h;
то у неё поля достаются h.name h.secondName h.telephon

если у тебя массив
Human people[3];
то у него одиночные переменные достаются people[0] people[1] people[2]

далее объединяем две идеи -
у массивов аналогично поля достаются
people[0].name people[0].secondName people[0].telephon
people[1].name people[1].secondName people[1].telephon
people[2].name people[2].secondName people[2].telephon

соответственно можно писать цикл, чтобы не повторять числовые индексы 0 1 2 - подставлять в [i] счётчик цикла
0
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
03.11.2022, 15:27
Цитата Сообщение от Kilodayt Посмотреть сообщение
Содержание текстового файла
Ли Дюпон Кузьмин
Сан Жорж Игорь
Китай Франция Россия
менеджер художник водитель
335-13-78 786-45-45 243-55-67
Это пока идеальная запись.
как вы представляете файл с данными хотя бы из 50 человек, как вы представляете оброботатку такого файла если будут пропуски ( т.е не указан должность, у кого то страна, тем более телефон). Это будет просто файл с мусором
0
0 / 0 / 0
Регистрация: 23.07.2022
Сообщений: 11
03.11.2022, 17:21  [ТС]
Kuzia domovenok
Вопрос
Заполнение идет по строке
Например name[1] = ли, secondname[1] = дюпон
как можно считывать построчно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.11.2022, 17:21
Помогаю со студенческими работами здесь

Заполнение массива переменными из структуры в цикл
Помогите разобраться, как решить эту задачу, пожалуйста. Объявите структуру AUTO, поля которой отображают марку, ФИО владельца и...

Заполнение массива переменными из структуры в цикл
Помогите с решением задачи. Руководитель фермерского хозяйства Фермер производит некоторую продукцию (зерно, мясо, фрукты, овощи и т....

Заполнение структуры через функцию
#include &lt;stdio.h&gt; #include &lt;string.h&gt; char ch; int i,j; struct loc { char *name; char gr; }; void reading...

Заполнение структуры через консоль
Добрый вечер!Есть вопрос по такой программе: Создать массив, в котором записать информацию о маршрутах автобусов: номер маршрута, время...

Заполнение через цикл
Добрый день. Есть два листа ексель. 1.Взять отсюда. 2.Заполнить Задача: Нужно формулы в листе &quot;Заполнить&quot; через цикл...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru