Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2014, 19:50   #1
ELaX
Пользователь
 
Регистрация: 24.11.2013
Сообщений: 29
Вопрос Автоматизированная информационная система на железнодорожном вокзале (на C++)

Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования.

Для каждого поезда указывается:

□ номер поезда;

□ станция назначения;

□ время отправления.

Данные в информационной системе организованы в виде линейного списка. Написать программу, которая:

□ обеспечивает первоначальный ввод данных в информационную систему и формирование линейного списка;

□ производит вывод всего списка;

□ вводит номер поезда и выводит все данные об этом поезде;

□ вводит название станции назначения и выводит данные обо всех поездах, следующих до этой станции.

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Решил начать с чтения из файла:
Код:
#include <stdio.h>
#include <fstream>
#include <iostream>
#include <windows.h>
using namespace std;

struct train{
int inumtrain;
char chstan[80];
char itimeotp[80];};
struct rasp{
	train trn;
	rasp* next;
};
void Print(rasp *pr)
{
	rasp *print=pr;
	while(print)
	{
		cout<<"Номер поезда = "<<print->trn.inumtrain <<"Станция = "<< print->trn.chstan<<"Время отправления = "<< print->trn.itimeotp<<"\n";
		print=print->next; //на это ругается если убрать будет бесконечно выводится последний элемент.

	}

}
int main()
{
	setlocale(LC_ALL, "Russian");

    rasp* beg=NULL;
 	beg=new rasp;
	rasp *end=beg;
	ifstream fin;
	fin.open("f.txt");
	if(!fin){cout<< "Файл не открылся \n";}
	    while(!fin.eof())
    {
		end->next=new rasp;
        fin>>end->trn.inumtrain;
		fin>>end->trn.chstan;
        fin>>end->trn.itimeotp;
        end->next;
    };
	Print(beg);
	fin.close();
    return 0;
}
Почему у меня посылается на функцию принт указатель на последний список.
Или просьба показать как правильно считывать из файла данные в лин. список.
пример строк в файле:
389 Moskva-Kotlas 18:53
288 Kotlas-Moskva 8:12
228 K123s-13va 1:12
328 Kotlas-Moskva 81:12
ELaX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматизированная система учета tashhhhhh Помощь студентам 0 08.05.2012 14:42
ЕАИСТО (единая автоматизированная информационная система технического осмотра) ioff83 Софт 0 09.01.2012 19:07
ЕАИСТО (единая автоматизированная информационная система технического осмотра)система ioff83 HTML и CSS 0 09.01.2012 16:43