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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2014, 19:38   #1
SofiNNN
 
Регистрация: 16.11.2014
Сообщений: 4
По умолчанию ПОМОГИТЕ ИСПРАВИТЬ КОД

программа работы со структурой TRAIN (язык C)
Описать структру TRAIN,содержащую следующие поля:
-название пункта назначения
-номер поезда
-время отправления
Написать программу,выполняющие следующие действия:
-ввод с клавиатуры данных в массив,состоящий из 8элементов типа TRAIN;записи должны быть упорядоченны по номерам поездов.
-вывод на экран информации о поезде номер которого введен с клавиатуры;
-если таких поездов нет вывести на экран соответствующее сообщение
ПОМОГИТЕ ПОЖАЛУЙСТА!



Код:
Код:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define BUFFER 64
#define SEP "___________________________________________"
#define SIZE 8
typedef struct TRAIN
{ char dest_city[BUFFER];
 char* tr_num;
 int dep_time_h;
 int dep_time_m;
} train_t str[SIZE];
void input_str(train_t *str, size_t size)
{int k;
 clrscr();
 size_t i;
 printf("%s\nFilling a NEW train base\n%s\n",SEP,SEP);
  for ( i = 0; i < size; i++ )
  { k=0; k=i+1;
    printf("Train # [%d]\nDestination city      : ",k);
    scanf("%s", &str[i].dest_city);
    printf("Train number          : ");
    scanf("%s", &(char)str[i].tr_num);
    printf("Departure time HOUR   : ");
    scanf("%d", &str[i].dep_time_h);
    printf("Departure time MINUTES: ");
    scanf("%d", &str[i].dep_time_m);}
void sortBytime(int low_h, int low_m, const train_t *str, size_t size)
{ clrscr();
  size_t i;
  int j=0, sc=0;
  printf("%s\nDestanation city   Tr.num.  Departure time \n%s\n", SEP, SEP);
   for ( i = 0; i < size;i++)
 { if (str[i].dep_time_h < low_h || str[i].dep_time_h == low_h && str[i].dep_time_m < low_m || str[i].dep_time_m == low_m)
     sc=j++; }
if (sc>=7)
printf("ERROR!\nThere are no trains after entered time!\n\n\n\n\n\n\n");
 if (sc<7)
 { for ( i = 0; i < size;i++)
   { if (str[i].dep_time_h > low_h)
    {if(str[i].dep_time_h >10 && str[i].dep_time_m >10)
     printf("%-20s%-8s %d:%d \n", str[i].dest_city, str[i].tr_num, str[i].dep_time_h, str[i].dep_time_m);
     if(str[i].dep_time_h >10 && str[i].dep_time_m <10)
     printf("%-20s%-8s %d:0%d \n", str[i].dest_city, str[i].tr_num, str[i].dep_time_h, str[i].dep_time_m);
     if(str[i].dep_time_h <10 && str[i].dep_time_m >10)
     printf("%-20s%-8s  %d:%d \n", str[i].dest_city, str[i].tr_num, str[i].dep_time_h, str[i].dep_time_m);
     if(str[i].dep_time_h <10 && str[i].dep_time_m <10)
     printf("%-20s%-8s  %d:0%d \n", str[i].dest_city, str[i].tr_num, str[i].dep_time_h, str[i].dep_time_m);
    }}}
int sortBydest_city(const void *a, const void *b)
{ int delta = stricmp((*(train_t*)a).dest_city,(*(train_t*)b).dest_city);
  if ( delta < 0.0 )     return -1;
  else if ( delta > 0.0 )     return 1;
  else   return 0;}
void print_str(const train_t *str, size_t size)
{ clrscr();
  size_t i;
  printf("%s\nDestanation city   Tr.num.  Departure time \n%s\n", SEP, SEP);
  for ( i = 0; i < size; i++ )
 {  if(str[i].dep_time_h >10 && str[i].dep_time_m >10)
  printf("%-20s%-8s %d:%d \n", str[i].dest_city, str[i].tr_num, str[i].dep_time_h, str[i].dep_time_m);
  if(str[i].dep_time_h >10 && str[i].dep_time_m <10)
  printf("%-20s%-8s %d:0%d \n", str[i].dest_city, str[i].tr_num, str[i].dep_time_h, str[i].dep_time_m);
  if(str[i].dep_time_h <10 && str[i].dep_time_m >10)
  printf("%-20s%-8s  %d:%d \n", str[i].dest_city, str[i].tr_num, str[i].dep_time_h, str[i].dep_time_m);
  if(str[i].dep_time_h <10 && str[i].dep_time_m <10)
  printf("%-20s%-8s  %d:0%d \n", str[i].dest_city, str[i].tr_num, str[i].dep_time_h, str[i].dep_time_m);}
 printf("%s\n", SEP);}
int menuMsg()
{ int ret;
  printf("%s\nMENU:\n[1] Print all\n[2] NEW base\n[3] Show all after entered dep. time\n[4] Sort by alphabet\n[5] INFO\n[0] EXIT\n%s \n > ", SEP,SEP);}
int main(void)
{ clrscr();
  train_t str[SIZE] =
 {  {"Moscow", "55342", 12, 0},    {"S.-Petersburg", "33245",18, 5},    {"Novgorod", "78425", 17, 0},   
 {"Novgorod", "95662", 22, 0},    {"S.-Petersburg", "45978", 23, 20},    {"Novgorod", "45512", 14, 50},  
  {"S.-Petersburg", "94875", 17, 20},  {"London", "23145", 9, 7}, };
 int menu, found, low_h, low_m;
 char buf[BUFFER], *p;
   while ( 1 ) {  menu = menuMsg();
    switch ( menu )
  { case 1 :    print_str(str, SIZE);    break;
    case 2 :    input_str(str, SIZE);    print_str(str, SIZE);    break;
    case 3 :    printf("Show all from time\n");    
       printf("HOUR   :");    scanf("%d", &low_h);    printf("MINUTES:");    scanf("%d", &low_m);   sortBytime(low_h, low_m, str, SIZE);    break;
    case 4 :    qsort(str, SIZE, sizeof(train_t), sortBydest_city);    print_str(str, SIZE);    break;
    case 5 :    print_info();    break;
    case 0 :    exit(0);
    default :    clrscr();
    printf("%s\n ERROR!\n Menu index is not correct\n",SEP);} }}

Последний раз редактировалось Stilet; 17.11.2014 в 20:06.
SofiNNN вне форума Ответить с цитированием
Старый 17.11.2014, 23:14   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию


лопни мои глаза!
немедля фтопку и переписать с нуля по-человечески!
пипец нах!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 18.11.2014, 22:07   #3
SofiNNN
 
Регистрация: 16.11.2014
Сообщений: 4
Печаль

Так помогите тогда грамотно составить код, это то, что дали мне в пример и на основе чего я должна сделать собственный. А я в этом не очень то понимаю
SofiNNN вне форума Ответить с цитированием
Старый 18.11.2014, 22:14   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
и на основе чего я должна сделать собственный. А я в этом не очень то понимаю
Ты шутишь?
Срочно замуж!

А код тебе дали – это кто-то прикололся.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить код sen95 Общие вопросы C/C++ 0 16.05.2014 21:32
Помогите исправить код. djon_limit Общие вопросы C/C++ 3 13.12.2009 15:43
помогите исправить код Screame Microsoft Office Excel 2 12.07.2009 10:56
Помогите исправить код Grizzzli Помощь студентам 3 14.12.2008 19:26
Помогите исправить код student_63 Помощь студентам 5 13.12.2007 18:20