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

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

20.12.2021, 12:02. Показов 437. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru