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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2014, 18:00   #1
guroDragon
Пользователь
 
Регистрация: 09.09.2013
Сообщений: 83
Восклицание fgets

Всем привет.
RIFIFI мне тут помог с прошлой темой. Посоветовал использовать fgets вместо scanf. С ней разобрался, вроде всё ок. Но тут проблема вылезла. Даже не могу понять, в чём проблема. Первый два раза (printf'а) выводит нормально, а потом они склеиваются, читается не то что надо.
Помогите, плиз.

Код:
system("cls");
	printf("Enter the name of the first species...");
	fgets(list[1].name,11,stdin);
	printf("Enter the group of the first species...");
	fgets(list[1].grp,2,stdin);
	printf("Enter the location of the first species...");
	fgets(list[1].lctn,13,stdin);
	printf("Enter the number of the first species...");
	scanf("%d",&list[1].cnt);
	printf("Enter the name of the second species...");
	fgets(list[2].name,11,stdin);
	printf("Enter the group of the second species...");
	fgets(list[2].grp,2,stdin);
	printf("Enter the location of the second species...");
	fgets(list[2].lctn,13,stdin);
	printf("Enter the number of the second species...");
	scanf("%d",&list[2].cnt);
	printf("Enter the name of the third species...");
	fgets(list[3].name,11,stdin);
	printf("Enter the group of the third species...");
	fgets(list[3].grp,2,stdin);
	printf("Enter the location of the third species...");
	fgets(list[3].lctn,13,stdin);
	printf("Enter the number of the third species...");
	scanf("%d",&list[3].cnt);
	
	
	system("cls");
    printf("-------------------------------------------\n");
    printf("|    Some species of antelope             |\n");
    printf("-------------------------------------------\n");
    printf("|  Name      |Group| Location  |  Amount  |\n");
    printf("-------------------------------------------\n");
    printf("|%s|  %s  |%s|   %-6d |\n",list[1].name,list[1].grp,list[1].lctn,list[1].cnt);
    printf("|%s|  %s  |%s|   %-6d |\n",list[2].name,list[2].grp,list[2].lctn,list[2].cnt);
    printf("|%s|  %s  |%s|   %-6d |\n",list[3].name,list[3].grp,list[3].lctn,list[3].cnt);
    printf("-------------------------------------------\n");
    printf("|  Groups:A - real antelopes ,            |\n");
    printf("|  B - cow antelope, H - horse antelope   |\n");
    printf("-------------------------------------------\n");
Спасибо.

Последний раз редактировалось guroDragon; 02.04.2014 в 18:24.
guroDragon вне форума Ответить с цитированием
Старый 02.04.2014, 18:13   #2
guroDragon
Пользователь
 
Регистрация: 09.09.2013
Сообщений: 83
По умолчанию

Ребят, с этой ошибкой разобрался. Везде повствлял fflush(stdin);fflush(stdout); и помогло. Но таблица рисуется криво. Подскажите, плиз, почему.
guroDragon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аргумент fgets fenris Общие вопросы C/C++ 1 22.12.2012 19:41
Считывание из файла. Функция fgets AmAmAm Помощь студентам 1 11.12.2010 02:32
fgets в цикле работает некорректно maryan.vetrov Общие вопросы C/C++ 7 30.09.2010 01:43
C++ fgets mertl Помощь студентам 12 09.09.2009 15:10
Помогите разобраться с функциями fgets (), fputs() Volchara Общие вопросы C/C++ 6 05.04.2009 22:09