Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Проблема со структурами в C++ (DEV-C++)


Рекомендуемые сообщения

Возникает проблема: как только заполню первую строку, компилятор отображает следующие строки программы и просит нажать любую кнопку для завершения!!!

#include <cstdlib>

#include <iostream>

using namespace std;

struct CD

{

char name[20];

char description[40];

char category[12];

float cost;

int number;

} disk[10];

int main(int argc, char *argv[])

{

int index, repeat;

char flag;

flag='Y';

index=0;

do

{

printf("Vvedite svedenia o diske #%d\n", index);

printf("Vvedite nazvanie: ");

scanf("%s", disk[index].name);

printf("Vvedite opisanie: ");

scanf("%s", disk[index].description);

printf("Vvedite kategoriyu: ");

scanf("%s", disk[index].category);

printf("Vvedite cenu: ");

scanf("%f", &disk[index].cost);

printf("Vvedite nomer yacheiki: ");

scanf("%d", &disk[index].number);

index++;

if (index<10)

{

printf("Zhelaete \

vvesti informaciyu o sleduyushchem diske? Da - Y, Net - N\n");

scanf("%c", &flag);

}

}

while (index<10 && (flag=='Y' || flag=='y'));

puts("Name Cell number");

for (repeat=0; repeat<index; repeat++)

printf("%s %d\n", disk[repeat].name, disk[repeat].number);

system("PAUSE");

return EXIT_SUCCESS;

}

Ссылка на комментарий
Поделиться на другие сайты

little_greg:

Символьный ввод у тебя читает символ завершения предыдущего ввода. Вставь, например, перед строкой index++;

строку getchar();

Ссылка на комментарий
Поделиться на другие сайты

little_greg:

Символьный ввод у тебя читает символ завершения предыдущего ввода. Вставь, например, перед строкой index++;

строку getchar();

Я так уже пробовал. Если, например, я в названии пишу строку, в которой присутствует пробел, то тогда возникает косяк, а если нет пробела то все работает нормально. Ты не знаешь как исправить эту проблему?

Ссылка на комментарий
Поделиться на другие сайты

little_greg:

Это другое. Хотя в определенном смысле то же самое - ты не знаешь, как работает функция scanf.

Используй для чтения строки функцию gets.

Ссылка на комментарий
Поделиться на другие сайты

little_greg:

Это другое. Хотя в определенном смысле то же самое - ты не знаешь, как работает функция scanf.

Используй для чтения строки функцию gets.

блин, запарился с этим scanf, спасибо!

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...