0 / 0 / 0
Регистрация: 19.12.2021
Сообщений: 12

Файловый ввод в структуру через запятую

20.12.2021, 12:02. Показов 455. Ответов 1

Студворк — интернет-сервис помощи студентам
Как в программе реализовать файловый ввод в структуру данных разделенных запятой
Пример файла info.txt: Иванов Иван Иванович, 9773672365, 12.10.2012, 12.10.2014,0,0
Петров Иван Васильевич, 9734672311, 22.01.2008, 01.11.2011,210,200
Васильев Илья Васильевич, 9714679805, 05.09.2010, 01.12.2012,0,2000
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <fstream>
using namespace std;
int const col = 10;
struct info {
    char name[255];
    int number;
    char start[255];
    char stop[255];
    int indebtedness;
    int credit;
}Info[col];
struct service {
    char service_name[255];
    int code;
    float rate;
    char time[255];
};
struct service_client {
    int number;
    int code;
    char date[255];
    char time[255];
};
 
void AddInfo() {
    ifstream in;
    in.open("info.txt");
    int stLength;
    for (stLength = 0; stLength < col;stLength++) {
        in >> Info[stLength].name;
        in >> Info[stLength].number;
        in >> Info[stLength].start;
        in >> Info[stLength].stop;
        in >> Info[stLength].indebtedness;
        in >> Info[stLength].credit;
    }
    in.close();
}
 
void ViewInfo() {
    for (int i = 0;i < col;i++) {
        cout << "\n ФИО:\t" << Info[i].name;
        cout << "\t Номер телефона:\t" << Info[i].number;
        cout << "\t Дата заключения договора:\t" << Info[i].start;
        cout << "\t Дата окончания договора:\t" << Info[i].stop;
        cout << "\t Размер задолженности:\t" << Info[i].indebtedness;
        cout << "\t Допустимый кредит:\t" << Info[i].credit << endl;
    }
 
}
int main() {
    setlocale(0, "");
    char choice;
    do {
        cout << "Меню \n";
        cout << "1.Добавить \n2.Показать\n3.Выход" << endl;
        cin >> choice;
        switch (choice) {
        case '1':
            AddInfo();
            break;
        case '2':
            ViewInfo();
            break;
        case '3':
            exit(0);
            break;
        }
 
 
    } while (choice != '3');
}
Добавлено через 1 час 41 минуту
Переделал AddInfo()
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void AddInfo() {
    ifstream inFile("info.txt");
    if (inFile.is_open())
    {
        string line;
        while (std::getline(inFile, line))
        {
            std::stringstream ss(line);
            for (int i = 0;i < col;i++) {
                getline(ss, Info[i].name, ',');
                getline(ss, Info[i].number, ',');
                getline(ss, Info[i].start, ',');
                getline(ss, Info[i].stop, ',');
                getline(ss, Info[i].indebtedness, ',');
                getline(ss, Info[i].credit, ',');
            }
            
        }
    }
}
Но теперь почему-то считывается только последняя строчка
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2021, 12:02
Ответы с готовыми решениями:

Файловый ввод в структуру через запятую
Файл имеет несколько данных разделенных запятой, при добавлении в структуру выдает ошибку: Вызвано исключение по адресу 0x7B0C5DC3...

Ввод через запятую
Программа от модератора Puporev’а. Обе программы работают, особенно вторая – с массивом. А вот к первой пожелание – как бы сделать...

Ввод в массив через запятую
Нужно ввести 5 переменных в массив через запятую, пример 1, 16, 21, 7, 11 Всем заранее благодарен за помощь

1
518 / 410 / 188
Регистрация: 08.04.2013
Сообщений: 1,750
20.12.2021, 12:20
for (int i = 0;i < col;i++) здесь ни к месту!
одна строчка, одно значение всегда с нуля????
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.12.2021, 12:20
Помогаю со студенческими работами здесь

Ввод данных в структуру через указатель на структуру
#include &quot;stdafx.h&quot; #include &quot;ctime&quot; #include &quot;iostream&quot; #pragma warning(disable : 4996) using namespace std; class...

Ввод слова и чисел через запятую
Добрый день Помогите пожалуйста решить задачу. Мне нужно написать интерактивный калькулятор матриц. Я застрял в одном месте. ...

Ввод данных через запятую, заполнение массива
Сколько ищу, никак не могу найти. Как можно сделать так, чтобы при вводе чисел в консоль (!через запятую!) заполнялся массив из 8 значений...

Создать структуру "Данные о читателях" (файловый ввод/вывод)
подскажите как открыть файл в котором содержатся данные о читателях, чтобы потом работать с ним как со структурой

Написать структуру "Список книг" (бинарный файловый ввод/вывод)
Здравствуйте, Дорогие форумчане! Всех с наступающим. Задача: написать 2 консольных приложения: 1-ое осуществляет вывод списка...


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

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

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru