Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 21.05.2013
Сообщений: 29

Построчное чтение из текстового файла

24.04.2014, 20:05. Показов 3613. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Имеется такая вот задача:

В текстовом файле представлены названия лекарств, срок их годности, количество упаковок и стоимость одной упаковки (через пробелы), например:

Аспирин 15.04.99 127 2.5
Парацетамол 27.09.01 23 5.40

Вывести данные о лекарствах с истекшим сроком годности на сегодняшний день (с учетом перехода через столетие) и подсчитать общую стоимость таких медикаментов.
В теории все понятно - создать массив структур с количеством элементов равным количеству строк (динамический), построчно считать туда все строки из файла, взять из системы текущую дату, отсортировать элементы массива по дате и вывести список просроченных лекарств, их количество и общую сумму исходя из стоимости.
На практике - не могу найти как считать из файла в структуру, да еще и построчно. На MSDN черт ногу сломит. У кого опыта побольше - пните в нужном направлении пожалуйста. Исходники прилагаю на всякий пожарный.
Вложения
Тип файла: 7z Task3.7z (5.67 Мб, 7 просмотров)
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.04.2014, 20:05
Ответы с готовыми решениями:

Построчное чтение из файла
Здравствуйте! Нужно считать, к примеру, 5 строку из файла. Также записывать построчно в файл. Помогите пожалуйста)

Не получается чтение из текстового файла (getline)
Пытаюсь прочитать данные из текстового файла: using namespace std; ifstream f; f.open("D:\\Chellenges\\Text...

Чтение из текстового файла после определенного символа
Здравствуйте, читаю из файла строки в texbox-ы windows form Содержание текстового файла ЖЭУ-1 РКЦ ЖКХ 111 222 333 444

5
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
25.04.2014, 17:25
niks255, вот накидал небольшой кусок кода для считывания строк в массив структур, только цифры почему-то криво считались:
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
#include "stdafx.h"
#include "string.h"
#include <iostream>
 
struct DRUG {
char name[100];
char shelflife[12];
int number;
double price;
};
 
 
void Load(char* filename , DRUG* medicine)
{
    if (!filename) return;
    if (strlen(filename)==0) return;
    FILE* file=fopen(filename,"rt");
    if (!file) return;
    char str[256];
    int count=0;
    while (!feof(file))
    {
        fgets(str,255,file);
        if (!str || !strlen(str)) continue;
        sscanf_s(str,"%s %s %n %d",
                medicine[count].name,100,medicine[count].shelflife,12,&(medicine[count].number),&(medicine[count].price));
        count++;
    }
    fclose(file);
    file=0;
};
 
int CalculateLine (char* filename)
{
    if (!filename) return 0;
    if (strlen(filename)==0) return 0;
    FILE* file=fopen(filename,"rt");
    if (!file) return 0;
    char str[256];
    int count=0;
    while (!feof(file))
    {
        fgets(str,255,file);
        count++;
    }
    fclose(file);
    file=0;
    return count;
};
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"RUSSIAN");
    int lines=CalculateLine("DrugsList.txt");
    DRUG * medicine=new DRUG [lines];
    Load("DrugsList.txt",medicine);
    for (int i=0; i<4; i++)
    {
        std::cout<<medicine[i].name; // это вывод для проверки
        std::cout<<"\n";
    }
    delete[] medicine;
    return 0;
}
1
1 / 1 / 0
Регистрация: 21.05.2013
Сообщений: 29
25.04.2014, 19:17  [ТС]
Спасибо большое, но мне надо написать приложение наподобие виндового блокнота. Так сказано в требованиях к заданию. На C++ это легко реализовать, а вот с Windows Forms я что-то ума не приложу.
0
 Аватар для Людвиг Бодмер
378 / 375 / 213
Регистрация: 29.03.2013
Сообщений: 867
28.04.2014, 13:07
niks255, если нужно приложение Windows Forms, то лучше обратиться в соответствующий раздел C++/CLI Windows Forms или С# Windows Forms, а может попросить модератора перенести тему.
0
28.04.2014, 20:05
 Комментарий модератора 
Перенесено из Visual C++.
0
1 / 1 / 0
Регистрация: 21.05.2013
Сообщений: 29
30.04.2014, 15:45  [ТС]
Неужели никто не знает? Помогите пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.04.2014, 15:45
Помогаю со студенческими работами здесь

Построчное чтение из текстового файла
Подскажите плз, как считать не только первую строку, но и все последующие в файле? #include &lt;string.h&gt; #include...

Построчное чтение текстового файла
Уважаемые господа, возник вопрос, так как я начинающий прошу сильно не пинать. Необходимо реализовать построчное считывание следующим...

Построчное чтение из текстового файла .txt
Имеется текстовый файл fin.txt, в котором построчно записана информация подобным типом: Марка машины ; Модель ; Цвет ; Год выпуска ;...

Построчное чтение и вывод из текстового файла
По сути есть код (найден на просторах форума): .model small .386 .stack 100h .data path db &quot;output.txt&quot; ; имя файла...

Чтение построчное из текстового файла в массив
Нужно считать данные из текстового файла в массив. Вроде, как всё считывает, но перезаписывает данные в 0 элементе массива. Данные в...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru