Jump to content

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


Recommended Posts

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

#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;

}

Link to comment
Share on other sites

little_greg:

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

строку getchar();

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

Link to comment
Share on other sites

little_greg:

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

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

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...