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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2013, 12:49   #1
Alexandr-
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 79
По умолчанию Язык С. Описать структуру.

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

Скажите, что я неправильно делаю.
Код:
#include <stdio.h>
#include <conio.h>
struct AEROFLOT {
char punkt[30];
int nomer;
char tip[20]; };
int main () {
AEROFLOT av[9];
int i;
for (i=0;i<9;i++)
{ printf ("vvedite punkt naznacheniya");
scanf ("%c", av[i].punkt);
printf ("vvedite nomer");
scanf ("%d", av[i].nomer);
printf ("vvedite tip samoleta);
scanf ("%c", av[i].tip); }
getch (); return 0; }
Alexandr- вне форума Ответить с цитированием
Старый 31.03.2013, 13:34   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,299
По умолчанию

Компилируется:
Код:
#include <stdio.h>
#include <stdlib.h>
 
struct AEROFLOT {
    char punkt[30];
    int nomer;
    char tip[20];
};
 
int
main()
{
    struct AEROFLOT av[9];
    int i;
    for (i = 0; i < 9; ++i) {
        printf("vvedite punkt naznacheniya\n");
        scanf("%s", av[i].punkt);
        printf("vvedite nomer\n");
        scanf("%d", &av[i].nomer);
        printf("vvedite tip samoleta\n");
        scanf("%s", av[i].tip);
    }
    getchar();
    return 0;
}
Замечания:
1) Не забывайте про отступы - читать ОЧЕНЬ неудобно
2) Нельзя опускать слово struct (но можно описать свой тип - тогда слово struct не нужно).
3) В scanf нужно передавать адрес переменной, а не саму переменную (punkt уже является адресом на 0 элемент массива, а nomer не является).
4) Спецификатор %c считывает 1 символ, спецификатор %s считывает строку (там есть некоторые тонкости, но их будем рассматривать, если программа будет неправильно считывать).
Тонкость:
Цитата:
Any number of non-whitespace characters, stopping at the first whitespace character found. A terminating null character is automatically added at the end of the stored sequence.
То есть, считываются все непробельные символы до первого пробельного.
5) Забыли закрыть кавычки в одном месте.

UPD
Пожалуйста
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 31.03.2013 в 16:32.
BDA на форуме Ответить с цитированием
Старый 31.03.2013, 16:30   #3
Alexandr-
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 79
По умолчанию

Спасибо, за помощь.
Alexandr- вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Описать структуру с именем TRAIN Destox Паскаль, Turbo Pascal, PascalABC.NET 1 29.03.2013 07:54
Описать структуру Note C++ phreaker228 Помощь студентам 1 15.06.2012 00:41
Описать структуру. С. Margo93 Помощь студентам 3 29.05.2012 16:22
Описать структуру ВадикСтрах Помощь студентам 2 21.11.2010 17:57
Описать структуру NOTE stellavin Общие вопросы .NET 1 13.12.2009 21:01