|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.05.2011, 00:35 | #1 |
Новичок
Джуниор
Регистрация: 24.05.2011
Сообщений: 4
|
Немогу найти ошибку в задаче на Си.
Язык: "Си"
Задача: "Создать файл, содержаший сведения о месячной зарплате N рабочих завода. В файле содержатся сведения: фамилия рабочего, наименование цеха, размер зарплаты за меся. Имя файла передается через командную строку. " Код:
введите количество рабочих 2 введите имя 1 рабочего завода, намер его цеха и зарплату за месяц введите имя 2 рабочего завода, намер его цеха и зарплату за месяц _ Тоесть он как бы перескакивает через 1 шаг, ведь после строчки "введите имя 1 рабочего завода, намер его цеха и зарплату за месяц" , он должен ждать пока я чтонить ему введу, а он сразу же выводит "введите имя 2 рабочего завода, намер его цеха и зарплату за месяц" , и только потом ждет ввода. Неподскажете в чем дело? P.S Постарался как можно конкретнее описать проблему, так что извините за "многа букв" |
25.05.2011, 01:52 | #2 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Интересная ошибка.
Все дело в том, как взаимодействуют функции scanf и gets. Для начала ты считываешь число с помощью scanf - после этого во входном буфере остается необработанный перевод строки (\n), ты же нажимал энтер. Дальше ты вызываешь gets. Она считывает строку до того момента, пока не встретит \n. И встречает его сразу же, не дожидаясь твоего ввода. Потому первая итерация цикла "проскакивает". Проще всего здесь перед циклом вставить лишний вызов gets(sod), ну или использовать во всех случаях scanf. Да, и зачем ты два раза вызываешь fopen? Последний раз редактировалось Son Of Pain; 25.05.2011 в 02:03. |
25.05.2011, 12:17 | #3 | |
Новичок
Джуниор
Регистрация: 24.05.2011
Сообщений: 4
|
Большое спасибо все работает!
Цитата:
|
|
25.05.2011, 13:11 | #4 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
найти ошибку в задаче! | dark999 | Помощь студентам | 4 | 25.03.2011 15:15 |
Немогу найти ошибку | gufon | Общие вопросы Delphi | 1 | 03.03.2011 22:24 |
немогу найти ошибку | mojohead | Помощь студентам | 13 | 13.01.2011 00:30 |
немогу найти ошибку | hunter03 | Помощь студентам | 0 | 07.12.2010 19:35 |
НАйти ошибку в задаче | dragun4ik | Помощь студентам | 6 | 29.06.2010 23:24 |