Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
XPP
3 / 3 / 0
Регистрация: 20.12.2009
Сообщений: 60
#1

Структуры - C++

21.12.2009, 23:47. Просмотров 994. Ответов 13

Помогите, объясните ПЛИЗ!!!

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

Добавлено через 15 минут
с чего начать? плиз!!

Добавлено через 33 минуты
...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2009, 23:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Структуры (C++):

Помещение структуры в вектор, удаление структуры, изменение элементов структуры - C++
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный элемент структуры. 2 - удалять...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё. - C++
Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования. Для...

Функция внутри структуры использует указатель, как поле этой структуры - C++
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл GlobalItems.h, где хранятся глобальные...

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры) - C++
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом создаю экземпляр, Subject G; ...

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

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла? - C++
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f= fopen ("file.txt", "w"); в переменной f содержится...

13
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
22.12.2009, 00:29 #2
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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
 
#define STR_LEN 255
#define NUM_ROUTES 8
 
typedef struct {
    char start_point[STR_LEN];
    char end_point[STR_LEN];
    int num;
} Route_t;
 
Route_t newRoute(void){
    Route_t r;
    char *p;
    
    printf("Номер маршрута: ");
    scanf("%d%*c", &r.num);
    printf("Пункт отправления: ");
    fgets(r.start_point, STR_LEN, stdin);
    if ( p = strrchr(r.start_point, '\n') );
        *p = '\0';
    printf("Пункт прибытия: ");
    fgets(r.end_point, STR_LEN, stdin);
    if ( p = strrchr(r.end_point, '\n') );
        *p = '\0';
        
    return r;
}
 
int main(void){
    Route_t routes[NUM_ROUTES];
    size_t i, count;
    char str[STR_LEN], *p;
    
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    for ( i = 0; i < NUM_ROUTES; ++i ){
        printf("\nМаршрут #%d\n", i + 1);
        routes[i] = newRoute();
    }
    
    printf("\nПункт отправления/прибытия: ");
    fgets(str, STR_LEN, stdin);
    if ( p = strrchr(str, '\n') )
        *p = '\0';
    printf("\n#  Номер  Отправление         Прибытие\n--------------------------------------------------\n");
    for ( count = 0, i = 0; i < NUM_ROUTES; ++i )
        if ( !strcmp(routes[i].start_point, str) || !strcmp(routes[i].end_point, str) )
            printf("%-3d%-7d%-20s%s\n", ++count, routes[i].num, routes[i].start_point, routes[i].end_point);
    if ( !count )
        printf("Не найдено ниодного маршрута.\n");
    
    exit(0);
}
1
Rififi
2360 / 1053 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
22.12.2009, 00:34 #3
XPP,

с чего начать? плиз!!

очевидно, с прочтения в учебнике что такое структура
0
XPP
3 / 3 / 0
Регистрация: 20.12.2009
Сообщений: 60
22.12.2009, 12:53  [ТС] #4
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct MARSH
{ char nach[10];
  char con[10];
  int  nom[3];
  }
  struct MARSH mas[30];
{  void main()
  int i;
  int s=0;
 
 { printf("nomer marshrut");
  scanf("%s",&mas[i].nom);
  printf("nachalnyi punkt");
  gets("%s",&mas[i].nach);
  printf("conechnyi punkt");
  scanf("%s",&mas[i].con);
  }
  for(i=0;i<8;i++)
  if((strcmp(m,mas[i].nach))==0)
 
  printf("\n marshrut %d\n",i+1);
  {puts(mas[i].nom) ;
  s=1;
  puts(mas[i].con);
  s=1;
 
  if(s==0)
  printf("marshrut ne nayden");
  getch();
  }
ошибку не могу найти , помогите ПЛИЗ!!
0
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
22.12.2009, 14:57 #5
Цитата Сообщение от XPP Посмотреть сообщение
scanf("%s",&mas[i].nom);
nom объявлен аж, как массив из 3 значений типа int (с какой кстати целью?), а Вы ему строку присвоить пытаетесь... Может и ещё что-то есть, это первое, что в глаза бросилось...
Да полно всего на самом деле.
Массив из структур вот так правильно объявляется:
C
1
2
3
4
5
struct MARSH { 
    char nach[10]; 
    char con[10]; 
    int nom[3]; 
} mas[30];
Да и куда Вам столько? По условию и 8 достаточно...
Заполнения структур вообще нет. Есть попытка присвоить значения одной структуре, как-бы находящейся по случайному адресу (scanf("%s",&mas[i].nom); - i не инициализирована)... Вывод тоже мрачен... Незачёт, короче
1
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
22.12.2009, 16:25 #6
не scanf("%s",&mas[i].nom);
а scanf("%d",&mas[i].nom);

Добавлено через 1 минуту
printf("nomer marshrut");
scanf("%s",&mas[i].nom);
printf("nachalnyi punkt");
scanf("%s",&mas[i].nach);
printf("conechnyi punkt");
scanf("%s",&mas[i].con);

Добавлено через 44 секунды
printf("nomer marshrut");
scanf("%d",&mas[i].nom);
printf("nachalnyi punkt");
scanf("%s",&mas[i].nach);
printf("conechnyi punkt");
scanf("%s",&mas[i].con);

Добавлено через 2 минуты
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct MARSH
{ char nach[10];
  char con[10];
  int  nom[3];
  }
  struct MARSH mas[30];
{  void main()
  int i;
  int s=0;
 for(i=0;i<8;i++)
 { printf("nomer marshrut");
  scanf("%d",&mas[i].nom);
  printf("nachalnyi punkt");
 scanf("%s",&mas[i].nach);
  printf("conechnyi punkt");
  scanf("%s",&mas[i].con);
  }
  for(i=0;i<8;i++)
  if((strcmp(m,mas[i].nach))==0)
 
  printf("\n marshrut %d\n",i+1);
  {puts(mas[i].nom) ;
  s=1;
  puts(mas[i].con);
  s=1;
 
  if(s==0)
  printf("marshrut ne nayden");
  getch();
  }
Добавлено через 4 минуты
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct MARSH
{ char nach[10];
  char con[10];
  int  nom[3];
  }
  struct MARSH mas[30];
{  void main()
  int i;
  int s=0;
char m[10];
 for(i=0;i<8;i++)
 { printf("nomer marshrut");
  scanf("%d",&mas[i].nom);
  printf("nachalnyi punkt");
 scanf("%s",&mas[i].nach);
  printf("conechnyi punkt");
  scanf("%s",&mas[i].con);
  }
  for(i=0;i<8;i++)
  if((strcmp(m,mas[i].nach))==0)
 
 { printf("\n marshrut \n");
  printf("%d", mas[i].nom) ;
  printf("conechnaya: %s", mas[i].con);
  s++;}
 
  if(s==0)
  printf("marshrut ne nayden");
  getch();
  }
1
XPP
3 / 3 / 0
Регистрация: 20.12.2009
Сообщений: 60
22.12.2009, 16:53  [ТС] #7
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct MARSH
{ char nach[10];
  char con[10];
  int  nom[3];
  }
  struct MARSH mas[30];
{  void main()
  int i;
  int s=0;
 char m[10];
for(i=0;i<8;i++)
{ printf("nomer marshrut");
  scanf("%d",&mas[i].nom);
  printf("nachalnyi punkt");
  scanf("%s",&mas[i].nach);
  printf("conechnyi punkt");
  scanf("%s",&mas[i].con);
  }
  for(i=0;i<8;i++)
  if((strcmp(m,mas[i].nach))==0)
 
  {printf("\n marshrut\n");
  printf("%d",mas[i].nom) ;
  printf("conechnaya: %s",mas[i].con);
  s++;}
 
  if(s==0)
  printf("marshrut ne nayden");
  getch();
  }
Выдает ошибку "too many types in diclaration" че делать ПЛИЗ скажите!!
0
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
22.12.2009, 17:04 #8
C
1
2
3
4
5
struct MARSH
{ char nach[10];
  char con[10];
  int  nom[3];
  };//забыли пустой оператор.
1
XPP
3 / 3 / 0
Регистрация: 20.12.2009
Сообщений: 60
22.12.2009, 17:09  [ТС] #9
А "diclaration syntax error" че значит?
0
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
22.12.2009, 17:25 #10
значит "ошибка правописания дикларации"
вот.
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
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct MARSH
{ char nach[10];
  char con[10];
  int  nom[3];
  };
  struct MARSH mas[30];
void main()
{
     int i;
     int s=0;
     char m[10];
     for (i=0;i<8;i++)
     {
         printf("nomer marshrut");
         scanf("%d",&mas[i].nom);
         printf("nachalnyi punkt");
         scanf("%s",&mas[i].nach);
         printf("conechnyi punkt");
         scanf("%s",&mas[i].con);
     }
     for (i=0;i<8;i++)
     if ((strcmp(m,mas[i].nach))==0)
     {
        printf("\n marshrut\n");
        printf("%d",mas[i].nom) ;
        printf("conechnaya: %s",mas[i].con);
        s++;
     }
 
     if(s==0)
     printf("marshrut ne nayden");
     getch();
 }
только это рограмма, всеравно зацикливается... хотя я задания не читал.
0
XPP
3 / 3 / 0
Регистрация: 20.12.2009
Сообщений: 60
22.12.2009, 18:33  [ТС] #11
как исправить плиз!!
0
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
22.12.2009, 19:28 #12
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct MARSH{
       char begin[24];
       char end[24];
       int  num;
};
int main()
{
     struct MARSH mas[8];
     char goal[24];//
     int i;
 
     for (i=0;i<8;i++)
     {
         printf("nomer marshrut: ");
         scanf("%d",&mas[i].num);
         printf("nachalnyi punkt: ");
         scanf("%s",&mas[i].begin);
         printf("conechnyi punkt: ");
         scanf("%s",&mas[i].end);
     }
     
     printf("What destination punct do oyu need?\n");
     scanf("%s",goal);
     
     int s=0;
     for (i=0;i<8;i++)
     if ((strcmp(goal,mas[i].begin)==0)||(strcmp(goal,mas[i].end)==0))
     {
        printf("marshrut num=\%d\n",mas[i].num);
        printf("nachalnaya: %s\n",mas[i].begin);
        printf("conechnaya: %s\n",mas[i].end);
        s++;
     }
 
     if(s==0)printf("marshrut ne nayde\n");
     getch();
 }
0
maks-tver
0 / 0 / 0
Регистрация: 21.12.2009
Сообщений: 1
24.12.2009, 17:57 #13
народ помогите написать прогу плизз))
1) вводить структуру задающую параболу
2) выводить структуру задающую параболу
3)находить точки пересечения параболы с осями координат
4) найти точки пересечени параболы с прямой ax+b=y (прямая задается пользователем)
5)оппределить местоположение точки (х,у) относительно параболы (точка задается пользователем)
6)определить, имеет ли парабола точку пересечения с другой параболой (другая парабола задается пользователем)
заранее спасибо
желательно на С
0
XPP
3 / 3 / 0
Регистрация: 20.12.2009
Сообщений: 60
05.01.2010, 13:37  [ТС] #14
все равно где то ошибка, не могу найти его
помогите ПЛИЗЗ!!!

Добавлено через 1 час 0 минут
Цитата Сообщение от XPP Посмотреть сообщение
все равно где то ошибка, не могу найти его
помогите ПЛИЗЗ!!!
все нашел ошибку))))
0
05.01.2010, 13:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2010, 13:37
Привет! Вот еще темы с ответами:

Оператор if и структуры. Возвращение структуры из функции - C++
Здравствуйте, имеется такая вот функция. void InputStructEmployee (int StructSize) { StructEmployee UsrStruct; string...

Структуры. Вызов данных структуры по указателю. с++ - C++
Условие задачи: Помогите, пожалуйста, с как реализовать печать вообще не представляю.

Структуры. Работа с файлами, содержащими структуры - C++
2) Дана совокупность сведений, каждое из которых состоит из следующих рекви-зитов: фамилия и инициалы автора – 25 знаков; название книги –...

Понятие структуры данных. Элементарные структуры данных. Простые структуры данных - C++
Понятие структуры данных. Элементарные структуры данных. Простые структуры данных: методы реализации, особенности в различных языках...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.