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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2011, 17:59   #1
Valik93
Пользователь
 
Регистрация: 29.11.2010
Сообщений: 21
По умолчанию От комментировать задачу

Господа, Требуется от комментировать задачу, то есть написать, за что отвечает, то или иное действие, заранее спасибо ребят
Код:
#include<iostream.h>
#include<vcl.h>
#pragma hdrstop
#pragma argsused

struct time
{ int hr,min;

};



struct train
{ char *nazn;
  int num;
  struct time time;

};


 bool p_nazn(char* a,char *b)
 {
     char one[30],two[30];

    for (int i=0;a[i]!='\0';i++)
      {  if (  (a[i]>='A')&&(a[i]<='Z'))
          one[i]=a[i]+32;
          else
         one[i]=a[i];
            }

    for (int i=0;a[i]!='\0';i++)
      {  if (  (b[i]>='A')&&(b[i]<='Z'))
          two[i]=b[i]+32;
          else
         two[i]=b[i];
            }

 int i=0;

       while(1)
     {if (one[i]>two[i])     return true;
      else if(one[i]<two[i])  return false;
      ++i;
     }
  }



  bool check_time(train &a,train &b)
  { int timea,timeb;
    timea=a.time.hr*60+a.time.min;
    timeb=b.time.hr*60+b.time.min;
    if (timea<timeb) return false;
    else return true;


  }




void out(train* t)
 { cout<<"Train #"<<(*t).num<<" leaves to\t"<<(*t).nazn<<" at\t"<<(*t).time.hr<<":"<<(*t).time.min<<endl;
  };


 void swap(train &a,train &b)
 {train temp=a;
  a=b;
  b=temp;
  }



  void arrange_nazn(train *t)
  {  for(int j=0;j<=6;j++)
    {

  for (int i=0;i<=4;i++)
      if ( p_nazn(t[i].nazn,t[i+1].nazn)) swap(t[i],t[i+1]);
     }
  }



  void arrange_time(train *t)
  {  for(int j=0;j<=6;j++)
    {

  for (int i=0;i<=4;i++)
      if ( check_time(t[i],t[i+1])) swap(t[i],t[i+1]);
     }
  }



int main(int argc, char* argv[])
{


     train schedule[6];
     schedule[0].time.hr=4;
     schedule[0].time.min=34;
     schedule[0].num=1;
     schedule[0].nazn="TAGIL";


     schedule[1].time.hr=3;
     schedule[1].time.min=34;
     schedule[1].num=2;
     schedule[1].nazn="NV";

     schedule[2].time.hr=2;
     schedule[2].time.min=34;
     schedule[2].num=3;
     schedule[2].nazn="MOSKVA";

     schedule[3].time.hr=4;
     schedule[3].time.min=54;
     schedule[3].num=4;
     schedule[3].nazn="PITER";

     schedule[4].time.hr=14;
     schedule[4].time.min=2;
     schedule[4].num=5;
     schedule[4].nazn="NOVOIBIRSK";

     schedule[5].time.hr=2;
     schedule[5].time.min=23;
     schedule[5].num=6;
     schedule[5].nazn="KRASNOYRSK";

 out(&schedule[0]);
 out(&schedule[1]);
 out(&schedule[2]);
 out(&schedule[3]);
 out(&schedule[4]);
 out(&schedule[5]);

    cout<<endl;

char action='1';
char ch='1';
struct time z;
z.hr=0, z.min=0;

 while(action)
   {
    int num=1;

 cout<<"\nZadaite parametr dlya sortirovki:\n t-po vremeni otpravki\n c-po vremeni s opred momenta\n e-vibor poezda\n x-VIXOD\n";
 cin>>action;
 cout<<endl;

 switch (action)
   {
      case 'T':
      case 't':
        cout<<"Sorting by time\n\n";
        arrange_time(schedule);
         out(&schedule[0]);
         out(&schedule[1]);
         out(&schedule[2]);
         out(&schedule[3]);
         out(&schedule[4]);
         out(&schedule[5]);
         cout<<endl;
           break;

         case 'c':
         case 'C':
          cout<<"\nInput hour:";
          cin>>z.hr;
          cout<<"\nInput minutes:";
          cin>>z.min;
           arrange_time(schedule);
           for (int i=0;i<6;i++)
           { int a=0;
             int q=z.hr*60+ z.min;
             if (q <(schedule[i].time.hr*60+schedule[i].time.min))
              {out(&schedule[i]);
                ++a;
              }
              if((!a)&&(i==5)) cout<<"\nNo trains leave after "<<z.hr<<":"<<z.min<<endl;

           }



          break;


        case 'E':
        case 'e':
          while(num)
         {
         cout<<"1-6, 0 - NAZAD";
         cin>>num;
         if(num>6) break;
           if (!num) break;
            out(&schedule[num-1]);
           cout<<"\nVVEDI Number or Time\n";

            cin>>ch;
            switch (ch)
            {case 'e':
             case 'E':
              cout<<"\nInput destination:";
              cin>>schedule[num-1].nazn;
              break;

             case 'N':
             case 'n':
              cout<<"\nInput number:";
              cin>>schedule[num-1].num;
             break;

             case 'T':
             case 't':
              cout<<"Input hours:";
              cin>>schedule[num].time.hr;
              cout<<"Input minutes:";
              cin>>schedule[num-1].time.min;
             break;
             }

            }
            break;




       case 'x':
       case 'X':
       action=0;
       cout<<"Exiting...";
       break;

       default:
       cout<<" \n\aSMOTRI CHTO VVODIH?. Input E, C, T or X\n";
        break;

      }   //end of switch

       }   //end of while




   getchar();
        return 0;
}
Valik93 вне форума Ответить с цитированием
Старый 20.09.2011, 18:01   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И вы думаете кому-то захочется разбираться и комментировать эту простыню без вознаграждения? Вам во фриланс скорее.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.09.2011, 18:13   #3
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Это как бы и оффтоп, и не оффтоп 0_о.
Я без капли сарказма говорю, что Вам необходимо выделять каждую функцию и вбивать в G0_0gle. Допустим, "что такое for С++".
И напоследок скажу, что разбираться в чужом коде труднее, чем написать свой.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переделать задачу Macuka Фриланс 2 09.12.2010 20:43
Комментировать код Delphi Uli9 БД в Delphi 3 31.05.2010 17:12
Комментировать код Delphi Uli9 Помощь студентам 1 30.05.2010 13:35
исправте задачу Екатерина А. Паскаль, Turbo Pascal, PascalABC.NET 10 09.12.2008 22:48