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

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

Войти
Регистрация
Восстановить пароль
 
Гриха
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 24
#1

ошибка в коде с структурой - C++

23.02.2012, 17:15. Просмотров 528. Ответов 12
Метки нет (Все метки)

Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения;
• вывод на экран пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры;
• если таких рейсов нет, выдать па дисплей соответствующее сообщение.
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
// 7.2.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
struct AEROFLOT{
    char reis[3];
    char tipsamoleta[3];
    int nomer;
};
int main() 
{    setlocale(LC_ALL,"RUSSIAN");
    AEROFLOT a[3];
    int i;
    for(int i=0;i<3;i++){
        gets(a[i].reis);
        gets(a[i].tipsamoleta);
        scanf("%i", &a[i].nomer);
    }
AEROFLOT b[1];
scanf("введите тип самолета %s", &b[i].tipsamoleta);
 
if (b[i].tipsamoleta==a[i].tipsamoleta)printf("Куда летит%s\n Номер Рейса%i", a[i].reis, a[i].nomer);else printf("Такого рейса нет");
    getch();
    return 0;
}
Вроде бы в еррор листе нет ошибок, но че то программа прерывается. Подскажите плиз)
p.s. работаю на VS
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 17:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ошибка в коде с структурой (C++):

Работа со структурой. Ошибка в коде - C++
Задача: Отсортировать студентов по оценке по первому предмету. Вывести на экран фамилии и даты рождения студентов, не получивших за все...

Ошибка с динамической структурой - C++
Доброго времени суток, товарищи программисты. Вообщем проблема такова: писал значит программу, в ней использовал динамическую структуру и...

Ошибка в программе со структурой - C++
Помогите исправить ошибки пожалуйста Ошибка в строчке 21: expected unqualifield-id before '#include &lt;iostream&gt; #include &lt;stdlib.h&gt; ...

Ошибка при работе со структурой - C++
#include &lt;iostream.h&gt; #include &lt;conio.h&gt; #pragma argsused float v; struct GOODS { unsigned quantity; float price;}; ...

Ошибка при работе со структурой - C++
Доброго времени суток! возник очередной глупый вопрос - ЧТДН? Объявил массив указателей на структуру, но при попытке внести в...

Ошибка со структурой - "использована неинициализированная локальная переменная" - C++
Здравствуйте! Есть структура, сначала мы создаем объект и инициализируем его, потом создаем новый объект, но делаем его пустым, чтобы...

12
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
23.02.2012, 17:19 #2
Цитата Сообщение от Гриха
AEROFLOT b[1];
scanf("введите тип самолета %s", &b[ i ].tipsamoleta);
Индекс исправьте.
Здесь и ниже.

Вылетает тк индекс i - не определен.
0
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
23.02.2012, 17:31 #3
+ цыкл для проверки

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string.h>
 
.............
char  b[3];
scanf("введите тип самолета %s", &b);
 
for(int i=0;i<3;i++)
 { 
    if (strcmp(b, a[i].tipsamoleta )==0)
        printf("Куда летит%s\n Номер Рейса%i", a[i].reis, a[i].nomer);
    else 
       printf("Такого рейса нет");
 }
        getch();
        return 0;
}
Вот так попробуй
0
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
23.02.2012, 17:32 #4
Цитата Сообщение от (SkyNet) Посмотреть сообщение
цыкл
0
Няффка
1 / 1 / 0
Регистрация: 13.11.2010
Сообщений: 11
23.02.2012, 17:35 #5
Сори темой ошиблась)
0
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
23.02.2012, 17:40 #6
Цитата Сообщение от HomeR_J_SimpsoN Посмотреть сообщение
Не понял, чё не так? Я не тестирувал
0
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
23.02.2012, 17:41 #7
Цитата Сообщение от HomeR_J_SimpsoN Посмотреть сообщение
Цитата Сообщение от (SkyNet)
цыкл
0
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
23.02.2012, 17:42 #8
ОК, цикл
0
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
23.02.2012, 17:43 #9
Цитата Сообщение от (SkyNet) Посмотреть сообщение
ОК, цикл
0
Гриха
0 / 0 / 0
Регистрация: 25.11.2011
Сообщений: 24
23.02.2012, 17:43  [ТС] #10
все равно прерывается(
0
HomeR_J_SimpsoN
59 / 59 / 2
Регистрация: 15.10.2010
Сообщений: 356
23.02.2012, 17:46 #11
Везде индекс поменял?
Убери объявление int i; перед циклом. И попробуй откомпилить.
0
(SkyNet)
22 / 40 / 6
Регистрация: 25.10.2011
Сообщений: 175
23.02.2012, 18:03 #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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Structura_ airflot.cpp: главный файл проекта.
 
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <locale.h>
#include <iostream>
 
#define N 3
 
using namespace std;
using namespace System;
 
struct AEROFLOT
       {
        char reis[3];
        char tipsamoleta[3];
        int nomer;
       } a[N];
 
int main() 
{      
    setlocale(LC_ALL,"RUSSIAN");
    int i;
 
    for(i=0; i<N; i++)
     {
         cout << "Reis: ";
         cin >> a[i].reis;
         cout << "Type: ";
         cin >> a[i].tipsamoleta;
         cout << "Number: ";
         cin >> a[i].nomer;
     }
 
    char  b[N];
    cout << endl << "введите тип самолета"<< endl;
    cin >> b;
 
  int counter = 0;
 
  for(i=0; i<N; i++)
   { 
    if ( strcmp( a[i].tipsamoleta, b ) == 0 )
        printf("Куда летит - %s\nНомер Рейса - %i", a[i].reis, a[i].nomer);
    else 
        counter ++;
   }
 
     if(counter == N)
         cout << endl << "Такого рейса нет";
 
        getch();
        return 0;
}
Всё работает я проверял
0
retmas
Жарю без масла
864 / 746 / 168
Регистрация: 13.01.2012
Сообщений: 1,702
23.02.2012, 18:04 #13
C++
1
2
gets(a[i].reis);
gets(a[i].tipsamoleta);
что тут вводите? здается мне - банальное переполнение буфера
0
23.02.2012, 18:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2012, 18:04
Привет! Вот еще темы с ответами:

Ошибка в коде (Ошибка сегментирования (core dumped) - C++
Добрый день. Подскажите пожалуйста, где ошибка в коде? char ch; string s; while ((ch = cin.get()) != '0' ) ...

В чём ошибка.В коде там где коментарий там ошибка поучается. - C++
#include &lt;iostream&gt; #include &lt;Windows.h&gt; using namespace std; class CMyString{ char *pStr; public: ...

Ошибка в коде - C++
Я уже пол дня код пишу. Дописался до такой степени что уже не хочет компилироваться. Ругаеться на 134 135 строки, но я не вижу там ошибики....

Ошибка в коде. - C++
Простая программа: просто ввод и вывод матрицы. Выдает ошибку уже после компиляции. Мой код: #include &lt;stdio.h&gt; #include...


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

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

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