Форум программистов, компьютерный форум CyberForum.ru

Считывание данных из файла в структуру - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверить, можно ли в четырехугольник вписать окружность http://www.cyberforum.ru/cpp-beginners/thread879417.html
4. a, b, c, d -длины сторон выпуклого четырехугольника. Проверить, можно ли в него вписать окружность. Я девушка, и, честно говоря, не понимаю, зачем нас заставляют это решать :(
C++ Дано трехзначное натуральное число. Найти произведение его цифр 3. Дано трехзначное натуральное число. Найти произведение его цифр. Я девушка, и, честно говоря, не понимаю, зачем нас заставляют это решать :( http://www.cyberforum.ru/cpp-beginners/thread879415.html
C++ ошибка pow overflow error
Помогите с задачей,выдает ошибку pow overflow error
Задача на скорость, расстояние C++
2. Расстояние между полицейской машиной и автомобилем преступника равно 240 м. Скорость полицейского автомобиля 40 м/c, машины преступника - 38 м/с. Как скоро полицейские догонят преступника? Я девушка, и, честно говоря, не понимаю, зачем нас заставляют это решать :(
C++ Разработать программу создания и обработки динамической структуры данных http://www.cyberforum.ru/cpp-beginners/thread879410.html
Составить программу, которая: • обеспечивает первоначальный ввод предложения и формирует из символов предложения очередь; • затем, как только в предложении встречается пробел, все символы переписываются в стек. • полученный стек должен быть выведен на экран
C++ Чем map отличается от multimap? если можно пример напишите подробнее

Показать сообщение отдельно
vladimir_Ronny
1 / 1 / 1
Регистрация: 13.06.2015
Сообщений: 76
22.06.2015, 17:54     Считывание данных из файла в структуру
Добрый день!
Я сейчас пытаюсь решить подобную задачу. И поэтому оказался в этой старой теме...

Моя задача следующая: нужно из файла перевести в структуру следующую информацию:
- автор
- название
- страна, в которой издана книга.

В общем-то та программа, которая написана сверху, мне очень хорошо подходит.
Есть только два "но":
1. Она почему-то считывает только три строки. Я пробовал менять n, не помогает.
2. Я не могу понять, почему строчка "if (feof(f)) break;" стоит в середине цикла, а не в начала или конце.

Вот текст файла, который я пытаюсь преобразовать в структуру:

ivanov Gusi Moscow
petrov Lebedi Peterburg
pushkin skazka Petrograd
lermontov parus samara

Также привожу переделанный под свое задание код.

Очень прошу помочь!

C++ (Qt)
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
#include <stdio.h>
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <math.h>
 
const int n = 100;
 
struct backlist
 {
    char author[81];
    char name[81];
    char spec[81];
} dir[n];
 
int main()
{
    FILE *f=fopen("file.txt", "r");
    while (1)
    {
        int i=0;
        fgets(dir[i].author, 80, f);
        if (feof(f)) break;
        fgets(dir[i].name, 80, f);
        fgets(dir[i].spec, 80, f);
        
        cout << dir[i].author << endl
             << dir[i].name << endl
             << dir[i].spec << endl << endl;
        ++i;
         }
    fclose(f);
    return 0;
}
 
Текущее время: 03:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru