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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2014, 19:50   #1
Malino4ka
 
Аватар для Malino4ka
 
Регистрация: 07.05.2014
Сообщений: 3
Печаль Плиз Хелп))

Как исправить зацикливание при неверном вводе данных в этой программе?
Цель программы заключается в:составить программу которая содержит динамическую информацию о наличии автобусов в автобусном парке

Код:
#include <string.h>
#include <dos.h>
#include <iostream.h>
#include <iomanip.h>
#include <vcl.h>
#include <stdlib.h>
#include <conio.h>
struct bus
{
    char FIO_voditel[ 50 ];
    int bus_number, route_number, viezd, zaezd;
    struct bus *even;
    };
struct bus *next;
struct bus *start=NULL;
struct bus *end=NULL;
int size=0;
void index( int index )
{
next=start;
for( int i=0; next; ++i )
{
    if( i==index ) break;
    next=next->even;
    }
return;
}
void addtail( bus &X ) //ôóíêöèÿ äîáàâ
ëåíèÿ â ñïèñîê îäíîé
 ñòðóêòóðû
{
++size;
next=( bus * ) malloc ( sizeof(bus) );
memcpy( next, &X, sizeof(bus) );
if( start==NULL && end==NULL )  start=next;
else end->even=next;
end=next;
end->even=NULL;
return;
}
void filled()
{
randomize();
char opt[ 10 ];
struct bus X;
clrscr();
cout << setw( 10 ) << "Naberite EXIT dlai prekrasheniai vvoda dannih" << endl;
cout << "Vvedite dannie --" << setw( 10 ) << size+1 << endl
     << "Familia i iniciali voditelaiÿ: ";
cin.get( X.FIO_voditel , 100 );
if( strlen(X.FIO_voditel)==0 || stricmp(X.FIO_voditel, "exit")==0 ) return;
cout << "Nomer avtobusa i nomer reisa cherez probel: ";
cin >> X.bus_number >> X.route_number;
cin.ignore();
for( ;((X.viezd=random( 24 ))>=(X.zaezd=random( 24 ))); );
addtail( X );
memset( &X, 0, sizeof(bus) );
filled(); // ðåêóðñèÿ
}
void main( void )
{
int i, j, c;
struct time t;
gettime( &t );
filled(); //çàïîëíÿåì ñïèñîê
for( ; c!=3; )
{
    clrscr();
    cout << "[ 1 ] V parke" << endl
     << "[ 2 ] Na linii" << endl
     << "[ 3 ] Bihod" << endl
     << "Vvedite 1,2,3 : ";
    cin >> c;
    switch( c )
    {
    case 1:
        cout << "V parke v dannii moment: " << endl;
        for( j=0,i=0; i<size; ++i )
        {
        index( i );
        if( next->viezd>t.ti_hour || next->zaezd<t.ti_hour )
        {
            cout << "Nomer avtobusa: " << next->bus_number << endl
             << "Nomer reisa: " << next->route_number << endl
             << "Voditel': " << next->FIO_voditel << endl
             << "------------------------------------" << endl;
            ++j;
            }
        }
        cout << "Itogo: " << j << " iz " << size << endl
         << "Nagmite lybyu klavishy dlai prodolgeniaÿ " << endl;
        getch();
    break;
    case 2:
        cout << "Na linii v dannii moment: " << endl;
        for( j=0,i=0; i<size; ++i )
        {
        index( i );
        if( next->viezd<t.ti_hour && next->zaezd>t.ti_hour )
        {
            cout << "Nomer avtobusa: " << next->bus_number << endl
             << "Nomer reisa: " << next->route_number << endl
             << "Voditel': " << next->FIO_voditel << endl
             << "------------------------------------" << endl;
            ++j;
            }
        }
        cout << "Itogo: " << j << " iz " << size << endl
         << "Nagmite lybyu klavishy dlai prodolgeniaÿ " << endl;
        getch();
    break;
    default:
        if( c>3 ) cout << "Nevernii vvod!" << endl;
    break;
    }
    }
return;
}
From Stilet: Код поправил оформив в спецтег.

Последний раз редактировалось Stilet; 10.05.2014 в 14:48.
Malino4ka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
хелп ми плиз Kalan4an Помощь студентам 1 27.11.2013 12:15
Хелп Плиз Maladoj SQL, базы данных 0 22.04.2009 23:09
Хелп ми плиз!!!! Мефистофель Помощь студентам 5 27.05.2007 19:16
Умераю(((Плиз хелп!!!! Orig Помощь студентам 2 05.04.2007 11:57