Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с файлами, структура train 
:(
    Опции темы
София19
Дата 14.6.2016, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.6.2016

Репутация: нет
Всего: нет



Помогите определить для каждого поезда процент заполнения вагонов и посчитать средний процент заполнения вагонов для всех составов!



Код

#include <iostream>
#include <string>
#include <fstream> 
 
using namespace std;
 
struct Train
{
    string pointOne, pointTwo; // пункт отправления, пункт прибытия.
    int NomerPoezda, СarriageV, place, value, tickets; // номер поезда, кол-во вагонов, кол-во мест, стоимость билета, проданные билеты.
    void showTrain()
    {
        cout << this->NomerPoezda << ", " << this->pointOne << ", " << this->pointTwo << ", " << this->СarriageV  << ", " << this->place <<"," << this->value<< ", " << this->tickets << '\n';
    }
};
 
void ReadFile()
{
  cout << "ReadFile:" << '\n' << '\n';
  string S;               //В S будут считываться строки
  ifstream IN("Train.txt");  //Открыли файл для чтения
  while ( !IN.eof() )         //Будем читать информацию пока не дойдем до конца файла
  {
     getline(IN, S);       //Построчное считывание информации в S
     cout << S << endl;    // Вывод очередной строки на экран
  }
     IN.close();
     cout << endl << endl;
}
 
int main()
{
    ofstream File("Train.txt");
    File << "1, Kaluga, Obninsk, 5, 35, 1000, 20\n2, Balabanovo, Vorsino, 7, 40, 1600, 35\n3, Bashkino, Latishskaya, 5, 54, 1050, 51\n4, Bekasovo, Ojigovo, 8, 38, 1250, 34\n5, Rassudovo, Selyatino, 6, 46, 1000, 42\n6, Alabino, Dachnaya, 4, 21, 1890, 20\n7, Aprelevka, Pobeda, 6, 44, 1470, 39\n8, Vnukovo, Michurinecz, 7, 21, 1000, 20\n9, Peredelcino, Solnechnaya, 6, 43, 1380, 39\n10, Vostryakovo, Ochakovo, 5, 23, 1050, 20\n11, Matveevskaya, Moskow, 8, 54, 1740, 50\n12, Uaroslavl, Nerehta, 7, 34, 1050, 28\n13, Sudislavl, Galich, 9, 45, 1200, 44\n14, Antropovo, Nijma, 4, 62, 1400, 50\n15, Neya, Shabalino, 8, 45, 1860, 43\n";
    File.close();
    ReadFile();
 
    int count = 0;
 
    ofstream out("output.txt");
    ifstream in("auto.txt");
    if(!in) return 0;       
 
 
    Train p[100]; //массив поездов
    //Заполняем массив поездов:
    while(!in.eof())
    {   in >> p[count].NomerPoezda;
        in >> p[count].pointOne;
        in >> p[count].pointTwo;
        in >> p[count].СarriageV;
        in >> p[count].place;
        in >> p[count].value;
        in >> p[count].tickets;
        count++;
    }

PM MAIL   Вверх
pantestin
Дата 16.6.2016, 23:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered












Модератор: Сообщение скрыто.

  Вверх
tierswar
Дата 17.6.2016, 09:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Не понимаю логику программы. Поправьте, если ошибаюсь.
1) Открыли файл для вывода "Train.txt", записали в него 15 поездов и закрыли его.
2) В функции ReadFile открыли этот файл, вывели из него информацию о этих 15 поездах на экран и закрыли файл.

Далее мне непонятно:
а) почему открывается файл "auto.txt" а не "Train.txt".
б) почему в случае если (!in) то вернуть 0 а не -1, к примеру (обычно 0 означает успешное выполнение)

Для удобства чтения код можно форматировать примерно так.
Код

File << "    1, Kaluga,            Obninsk,        5, 35, 1000, 20\n
            2, Balabanovo,        Vorsino,        7, 40, 1600, 35\n
            3, Bashkino,        Latishskaya,    5, 54, 1050, 51\n
            4, Bekasovo,        Ojigovo,        8, 38, 1250, 34\n
            5, Rassudovo,        Selyatino,        6, 46, 1000, 42\n
            6, Alabino,        Dachnaya,        4, 21, 1890, 20\n
            7, Aprelevka,        Pobeda,        6, 44, 1470, 39\n
            8, Vnukovo,        Michurinecz,    7, 21, 1000, 20\n
            9, Peredelcino,    Solnechnaya,    6, 43, 1380, 39\n
            10, Vostryakovo,    Ochakovo,        5, 23, 1050, 20\n
            11, Matveevskaya,    Moskow,        8, 54, 1740, 50\n
            12, Uaroslavl,        Nerehta,        7, 34, 1050, 28\n
            13, Sudislavl,        Galich,        9, 45, 1200, 44\n
            14, Antropovo,        Nijma,            4, 62, 1400, 50\n
            15, Neya,            Shabalino,        8, 45, 1860, 43\n";


Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
tierswar
Дата 17.6.2016, 09:17 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Блин, в комментарии съедена часть форматирования.
Вопросы по поводу решения:
Как должна выглядеть итоговая информация?
Нужно ли её выводить в файл вместе с информацией о поезде?

Этот ответ добавлен с нового Винграда - http://vingrad.com
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0641 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.