Illuha
1

Описать структуру с именем TRAIN

22.01.2013, 14:37. Показов 2815. Ответов 0
Метки нет (Все метки)

Вот задание
Описать структуру с именем TRAIN, содержащий следующие поля:
• Номер поезда;
• Название пункта назначения;
• Время отправления.
Программа должна выполнять следующие действия:
• Ввод данных в массив элементов типа TRAIN;
• Благоустройство элементов под названием пункта назначения;
• Вывод на экран информации о поездах, чье время отправления больше того, что вводится с клавиатуры; если таких поездов нет, вывести соответствующее сообщение.

Вот программа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define n 3
 
struct TRAIN
{
char punkt[15];
int r_num;
int ch;
int min;
} train[n];
 
void Read(TRAIN *);
void Sort();
void Output(int);
 
int main(void)
{
int ch1,min1;
    Read(train);
    printf("Punkt pryznachennia\tNomer potiagu\tChas\t\n");
for(int i=0;i<n;i++)
   Output(i);
   Sort();
   printf("Sortirovka\n");
   printf("Punkt pryznachennia\tNomer potiagu\tChas\t\n");
for(int i=0;i<n;i++)
   Output(i);
   printf("\nVvedit Chas: \n");
   printf("Hour:\n");
   scanf("%d",&ch1);
   printf("Minutes: \n");
   scanf("%d",&min1);
 
int s=0;
for(int i=0;i<n;i++)
if(train[i].ch>=ch1 && train[i].min>=min1){
    printf("Punkt pryznachennia\tNomer potiagu\tChas\t\n");
    Output(i);
    s=1;
}
if(!s) printf("Takogo chasu nema!\n");
system("pause");
return 0;
}
 
void Read(TRAIN t[n])
{
int i;
for(i = 0;i<n;i++)
{
    printf("Punkt pryznachennia:\n");
    scanf("%s",&t[i].punkt);
    printf("Nomer potiagu: \n");
    scanf("%d",&t[i].r_num);
    printf("Hour: \n");
    scanf("%d",&t[i].ch);
    printf("Minutes: \n");
    scanf("%d",&t[i].min);
    
}
}
 
void Sort() //sortuvannia po punkty pryznachennia
{
 
int swap=1;
while(swap!=0)
{
   swap=0;
for(int i=0;i<n-1;i++)
if(strcmp(train[i].punkt,train[i+1].punkt)>=0)
{
   swap=1;
   TRAIN temp=train[i];
   train[i]=train[i+1];
   train[i+1]=temp;
}
}
 
}
void Output(int i)
  {
       printf("%s\t\t       %d\t\t%d.%d\t \n",
     train[i].punkt,train[i].r_num,train[i].ch,train[i].min);
 
}


Надо эту же программу сделать чтобы массив структур создавался путем ввода данных из текстового файла.
Вот что я сделал, но выдает кучу ошибок, помогите отредактировать

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
 
int main()
{
  FILE *f;                  // вказівник типу FILE
  if((f =fopen("d:\file.txt", "r"))==NULL){
      cout << "Opening error"; return 1; }  // помилка відкриття файлу для читання
  int n_file;                   // кількість записів файлу
 
const int len_name = 5;         // розмір поля для назви пункту маршруту  
const int len_nomber = 3;           // розмір поля для номера маршруту
const int len_ch = 2;
const int len_min = 2;
 
struct TRAIN
{
char punkt[15];
int r_num;
int ch;
int min;
} train[n];
 
const int n = 3;                // розмір масиву структур
  TRAIN dbase[n];               // масив структур
  int len =(len_name + len_nomber + len_ch + len_min);  // розмір одного запису   
  char buffer[30];              // область для зберігання одного запису   
  int i = 0;                    // для підрахунку записів
  int k=0;
 
/* послідовне читання записів файлу в buffer за допомогою функції fgets  з наступним їх перенесенням у масив структур dbase */
  while(fgets(buffer, 14, f)){ 
      strncpy_s(dbase[i].punkt, buffer, len_name);  //початковий пункт маршруту
      dbase[i].punkt[len_name] ='\0';   //додаємо термінальний нуль наприкінці
      dbase[i].r_num= atoi(&buffer[len_name + len_nomber]);
      dbase[i].r_ch= atoi(&buffer[len_name + len_nomber + len_ch]);
      dbase[i].r_min= atoi(&buffer[len_name + len_nomber + len_ch + len_min]);
      cout << dbase[i].punkt <<"  "<<  dbase[i].r_num <<"  "<<dbase[i].ch<<"."<<dbase[i].min;   // номер маршруту
      cout << endl;
      i++;
  }
 
if(!s) printf("Takogo chasu nema!\n");
system("pause");
return 0;
}
 
void Read(TRAIN t[n])
{
int i;
for(i = 0;i<n;i++)
{
    printf("Punkt pryznachennia:\n");
    scanf("%s",&t[i].punkt);
    printf("Nomer potiagu: \n");
    scanf("%d",&t[i].r_num);
    printf("Hour: \n");
    scanf("%d",&t[i].ch);
    printf("Minutes: \n");
    scanf("%d",&t[i].min);
    
}
}
 
void Sort() //sortuvannia po punkty pryznachennia
{
 
int swap=1;
while(swap!=0)
{
   swap=0;
for(int i=0;i<n-1;i++)
if(strcmp(train[i].punkt,train[i+1].punkt)>=0)
{
   swap=1;
   TRAIN temp=train[i];
   train[i]=train[i+1];
   train[i+1]=temp;
}
}
 
}
void Output(int i)
  {
       printf("%s\t\t       %d\t\t%d.%d\t \n",
     train[i].punkt,train[i].r_num,train[i].ch,train[i].min);
 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2013, 14:37
Ответы с готовыми решениями:

Описать структуру с именем TRAIN
описать структуру с именем TRAIN, содержащую следующие поля: * название пункта назначения; *...

Описать структуру с именем TRAIN
Приветствую всех, нужна помощь в решение такой проблемы - есть код по заданию TRAIN с сортировкой...

Описать структуру с именем TRAIN
Всем привет, помогите пожалуйста сделать задание на С++ (Вся исходная информация дана в файле....

Описать структуру с именем TRAIN
Описать структуру с именем TRAIN, содержащую следующие поля: название пункта назначения; ...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2013, 14:37
Помогаю со студенческими работами здесь

Описать структуру с именем TRAIN
Нужна срочная помощь в написании программы(( помогите пожалуйстаО_о 1. Описать структуру с...

Описать структуру с именем TRAIN
Буду благодарен,за поддержку. Описать структуру с именем TRAIN, содержащую следующие поля: -...

Описать структуру с именем TRAIN
Описать структуру с именем TRAIN, содержащую следующие поля: - название пункта назначения - номер...

Описать структуру с именем TRAIN
Описать структуру с именем TRAIN,содержащую следующие поля: 1)название пункта назначения 2)номер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru