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

Проблема со структурами в 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, спасибо!

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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