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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2014, 17:13   #1
ANton31
 
Регистрация: 11.09.2014
Сообщений: 8
Восклицание Не работает программа

Помогите пожалуйста! не работает "Поиск поезда по номер"! Буду признателен, тому кто поможет!


Код:
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <windows.h>
char* rus(const char* text);
using namespace std;
struct Data
{
    int m;//Номер поезда;
    char b[10];//Время отправления;
    char w[50];//Станция назначения;

};
struct List
{
    Data d;
    List *next;
};
void vvod(Data &x);
void add(List **u,Data &x);
void poisk(List *u);
void poisk1 (List *u);
void print(List *u);
void save(List *u);
void load(List **u);
void clear(List **u);


int
main()
{
    List *u=NULL;
    int n;
    Data x;
    do
    {
        cout<<rus("******************************")<<endl;
        cout<<rus("*             Menu           *")<<endl;
        cout<<rus("*     -------------------    *")<<endl;
        cout<<rus("*         1.Add train.       *")<<endl;
        cout<<rus("*   2.Find train on number   *")<<endl;
        cout<<rus("* 3.Find train on the station*")<<endl;
        cout<<rus("*         4.Print            *")<<endl;
        cout<<rus("*         5.Save             *")<<endl;
        cout<<rus("*         6.Load             *")<<endl;
        cout<<rus("*         7.Exit             *")<<endl;
        cout<<rus("******************************")<<endl;
        cout<<rus("Press any key: ")<<endl;
        cin>>n;
        switch(n)
        {

            case 1:vvod(x);
            add(&u,x);
            break;
            case 2:poisk(u);
            print(u);
            break;
            case 3:poisk1(u);
            print(u);
            break;
            case 4:print(u);
            break;
            case 5:save(u);
            break;
            case 6:load(&u);
            break;
            case 7:clear(&u);
            break;
            default:cout<<rus("Error!Not found")<<endl;
        }
    }
	while(n!=7);

    return 0;
}

void
vvod(Data &x)
{
    cout<<rus("Train number: ");
    cin>>x.m;
    cout<<rus("Departure time: ");
    cin>>x.b;
    cout<<rus("Departure station: ");
    cin>>x.w;

}

void add(List**u,Data &x)
{
    List*t=new List;
    t->d.m=x.m;
    strcpy(t->d.b,x.b);
    strcpy(t->d.w,x.w);
    t->next=NULL;
    if(*u==NULL)
    {
        *u=t;
        return;
    }
    List *p=*u;
    while(p->next)
    {
        p=p->next;
    }
    p->next=t;
}

void
poisk(List *u)
{
     char z[20];
     bool priznak=false;
     cout<<rus("Введите Номер ");
     cin>>z;
     List*f=u;
     while(f)
     {
         if(strcmp(f->d.f,z)==0)
 {
     cout<<rus("Namber Train: ")<<f->d.m<<endl;
     cout<<rus("Time departure:  ")<<f->d.b<<endl;
     cout<<rus("Departure Station:  ")<<f->d.w<<endl;
     cout<<endl;
     priznak=true;break;
 }
// f=f->next;
// }
//  if(!priznak)
//  cout<<rus("\nТаких Поездов нет\n")<<endl;
//  return;
}

void poisk1 (List *u)
{
    char z[50];
    bool priznak=false;
    cout<<rus("Enter the Station: ");
    cin>>z;
    List*f=u;
    while(f)
    {
        if(strcmp(f->d.w,z)==0)
		{
		    cout<<rus("Train number: ")<<f->d.m<<endl;
		    cout<<rus("Departure time: ")<<f->d.b<<endl;
		    cout<<endl;
		    priznak=true;break;
		}
	    f=f->next;
	}

	if(!priznak)
		cout<<rus("\No trains!\n")<<endl;
	return;
}


void save(List *u)
{
    FILE *f1;
    char a[20];
    List*f=u;
    f1=fopen("Save.txt","w");
    if(f1==NULL)
    {
        cout<<"Error!";
        return;
    }

    while(f)
    {
	    fprintf(f1," %s",f->d.m);

	    fprintf(f1," %d",f->d.b);

	    fprintf(f1," %s",f->d.w);
	    f=f->next;
    }

    fclose(f1);
    return;
}

void load(List **u)
{
    FILE *f2;
    Data x;
    int m;
    int b;

    char w[50];
    f2=fopen("Save.txt","r");
    if(f2==NULL)
    {
        cout<<rus("Error!");
        return;
    }
    clear(u);
    while(!feof(f2))
    {
        fscanf(f2,"%s%s%s%d%d%d%s%s%s%s%s",x.m,&(x.b),&(x.w));
        add(u,x);
    }
    fclose(f2);
}

void print(List*u)
{
    cout<<rus("\n List")<<endl;
    List*f=u;
    while(f)
    {
    cout<<rus("Number train: ")<<f->d.m<<endl;
    cout<<rus("Departure time: ")<<f->d.b<<endl;
    cout<<rus("Departure station: ")<<f->d.w<<endl;
    f=f->next;
    }
    cout<<endl;
}
void clear (List **u)
{
    List *f=*u;
    List *t;
    while (f)
    {
	    t=f;
	    f=f->next;
	    delete t;
    }
    *u=NULL;
}

char bufer[256];
char* rus(const char* text)
{
	// CharToOem(text,bufer);
	strcpy(bufer, text);
	return bufer;
}

Последний раз редактировалось Stilet; 13.10.2014 в 17:22.
ANton31 вне форума Ответить с цитированием
Старый 13.10.2014, 17:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
// f=f->next;
ЗачЭм закоментировалЪ?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2014, 17:35   #3
ANton31
 
Регистрация: 11.09.2014
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
ЗачЭм закоментировалЪ?
Просто пробовал игнорировать, без poisk, но даже если убратьк оммент, все равно не работает
ANton31 вне форума Ответить с цитированием
Старый 13.10.2014, 17:41   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ладно. Допустим. Отладку проводил? Пошагово проходился по той процедуре?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2014, 17:50   #5
ANton31
 
Регистрация: 11.09.2014
Сообщений: 8
По умолчанию

Если честно, не понял вопроса.
ANton31 вне форума Ответить с цитированием
Старый 13.10.2014, 17:52   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Отладка. Она же пошаговка - проводится программой-отладчиком, которая позволяет выполнить каждую строчку кода отдельно, показывая содержимое переменных.
Используется в случаях, когда не ясно как работает тот или иной участок кода.
Программа-отладчик как правило встроена в среду разработки, и управляется горячими клавишами. Например в Visual Studio это F11-F10.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2014, 17:56   #7
ANton31
 
Регистрация: 11.09.2014
Сообщений: 8
По умолчанию

понял, в общем 120: 'struct Data' has no member named "f";
ANton31 вне форума Ответить с цитированием
Старый 13.10.2014, 19:00   #8
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
ЗачЭм закоментировалЪ?
Stilet, прикалываешься?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 13.10.2014, 19:21   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в общем 120
И что это такое и где выпадает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2014, 20:01   #10
ANton31
 
Регистрация: 11.09.2014
Сообщений: 8
По умолчанию

120 - это номер строки, где высвечивается ошибка
ANton31 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Visual C# работает при запуске руками, но не работает при попытки автоматического запуска Bug$ Помощь студентам 18 21.10.2013 16:22
Программа работает в WinXP и не работает в Win7 blblbl-org Общие вопросы Delphi 4 23.04.2012 19:50
Программа работает пошагово, но не работает при запуске -Katerina- Microsoft Office Excel 3 12.07.2011 03:40
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
Не работает программа ddr9225 Общие вопросы C/C++ 21 14.01.2010 14:06