Форум программистов, компьютерный форум CyberForum.ru

Описание структуры TRAIN - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Указатели в структурах http://www.cyberforum.ru/cpp-beginners/thread86733.html
Добрый день, неожиданно нагрянула необходимость кодить простенькую лабу на С++, вроде бы все получается, но только один бок с указателями struct Student { int ID; char* Name; bool Contr; float Ball; }; Student* GreateGroup(Student G)
C++ строки нужно посчитать сколько букв a,b,c...z. в строке, как это можно сделать? заранее благодарен http://www.cyberforum.ru/cpp-beginners/thread86717.html
как заполнить матрицу C++
дана матрица А. определить количество элементов матрицы, меньших среднеарифметического этой матрицы
Поиск фразы в строке C++
Ребятки, есть возможность получить халявный плюс к репутации :) Просьба написать маленький примерчик поиска любого слова в строке (Visual studio) я использовал string.Find, но почему-то фраза находится только в том, случае, если искомая фраза стоит первой, а мне надо чтобы в любом положении. я не понимаю в чем может быть беда. вообще, написано, что должно искаться в любом положении. мне...
C++ Заменить в строке все прописные буквы на строчные, и наоборот http://www.cyberforum.ru/cpp-beginners/thread86700.html
Как можно на С заменить все прописные буквы на строчные. И на оборот?
C++ Структуры Привет всем. Я описал структуру и заполняю массив из 3 элементов с типом этой структуры вводом с клавиатуры. После первой итерации цикла ввода больше ничего не вводится (( помогите разобраться пожалуйста, заранее благодарен. #include <string.h> #include <iostream.h> #include <windows.h> int main (){ SetConsoleCP(1251); SetConsoleOutputCP(1251); подробнее

Показать сообщение отдельно
targetar
1 / 1 / 0
Регистрация: 25.12.2009
Сообщений: 34
17.01.2010, 14:24     Описание структуры TRAIN
Задача:
описать структуру с именем TRAIN, содержащую след. поля:
1)название пункта назначения
2)номер поезда
3)время отправления
написать программу, выполняющую след. действия:
1)ввод с клавиатуры данных в массив, состоящий из 8 элементов типа TRAIN, записи должны быть размещены в алфавитном орядке по названиям пунктов назначения
2)вывод на экран информации о поездах, отправляющихся после введенного с клавы времени
3)если таких нет, выдать соответствующее сообщение
Я пробовал так:
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
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
 
struct TRAIN
{
       char naz[80];
       int nom;
       float time;
};
 
void vvod(struct TRAIN *a, int n)
{
 
 for(int i=0; i<n; i++)
 {
  cout<<"Vvedite punkt nazna4eniya - ";
  cin>>((a+i)->naz);
  cout<<"Vvedite nomer poezda - ";
  cin>>((a+i)->nom);
  cout<<"Vvedite vremya otpravleniya- ";
  cin>>((a+i)->time);
 }
 
}
 
void sort(struct TRAIN *a, int &n)
{
 TRAIN p;
 
  cout<<"Spisok poezdov, otsortirovannih po nomeram"<<endl;  
  
 for(int i=0; i<n; i++)
  for(int j=0; j<(n-1); j++)
   {
    if (a[j].nom>a[j+1].nom) 
    {
    p=*(a+j);
    *(a+j)=*(a+j+1);
    *(a+j+1)=p;
    }
 
   }
}
 
void vivod(struct TRAIN *a, int n)
{int i,j;
    int look;
    TRAIN p;
    cout << "Vvedite nomer poezda" << endl;
    cin>>look;
    for (i=0; i<n; i++)
   {
    if((a+i)->nom==look)
   {
    printf("mesto nazna4eniya:  %s", (a+i)->naz);
    printf("nomer poezda:  %d", (a+i)->nom);
    printf("vremya otpravleniya:  %2.2f", (a+i)->time);
   }
    else
    cout<<"net v baze takogo poezda!"<<endl;
   }
}
 
int main()
{
 struct TRAIN  *a;
 int n;
 cout<<"skol'ko avto v baze dannih?"<<endl;
 cin>>n;
 a=new TRAIN [n+20];
 vvod(a, n);
 sort(a, n);
 vivod(a, n);
return 0;
}
и так:
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
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
const int n = 8;
 
struct Train
{
 char pn [21];
 unsigned int num;
 char time [6];
};
void Copy (Train &dest, Train src)
{
 strcpy (dest.pn, src.pn);
 strcpy (dest.time, src.time);
 dest.num = src.num;
}
int main(void)
{
 Train a[n];
 int i = 0;
 for (i=0; i<n; i++)
 {
  cout << "Vvedite punkt naznachenia: ";
  cin >> a[i].pn;
  cout << "Vvedite nomer poezda: ";
  cin >> a[i].num;
  cout << "Vvedite vremia otpravlenia: ";
  cin >> a[i].time;
 }
  Train buf; int k,bool,true,f,false;
  for (i=0; i<n-1; i++) 
  for (k=0; k<n-1; k++) 
   if (strcmp (a[k].time, a[k+1].time)>0)
   {
    Copy (buf, a[k]);
    Copy (a[k], a[k+1]);
    Copy (a[k+1], buf);
   }
  char vv [21];
  cout << "Vvedite punkt: ";
  cin >> vv;
  bool; f = false;
  for (i=0; i<n; i++)
  if (strcmp (a[i].pn, vv)==0)
  {
   cout << "Poezd #" << a[i].num << " " << a[i].time << "";
   f = true;
  }
 if (!f) cout << "Net takih poezdov";
 return 0;
}
У меня компилятор borland c++ 3.1, и задания нужно делать только на нём
Если у вас есть 3.1, исправьте пож. на нём, если нет, то можете на другом,
Может в этом и причина( НЕСОВМЕСТИМОСТЬ )
Смотрел другие темы с этой задачей, не подходят и не работают!
И можно ли обойтись без звездочек(указателей(*)), без using namespace std;(не подходит), и без include iomanip
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru