Вопрос № 44421: Я знаю вы сильно заняты не могли бы вы уделить мне еще чуток внимания. Проблема опять в задаче: я корректно наладил очистку экрана, не без помощи ваших советов , разумеется, у меня вопрос почему при вводе новой БД экран очищается а приглашение ввести...
Вопрос № 44.421
Я знаю вы сильно заняты не могли бы вы уделить мне еще чуток внимания. Проблема опять в задаче: я корректно наладил очистку экрана, не без помощи ваших советов , разумеется, у меня вопрос почему при вводе новой БД экран очищается а приглашение ввести кол-во сотрудников появляется в середние а не по левому краю и как это можно контролировать?
И еще вот у меня ф-я есть кривая ----сохранение: поправьте ее плиз надо чтоб она открывла файл и сохраняла в нем.
Приложение:
Отправлен: 27.05.2006, 19:41
Вопрос задал: W4rmonger (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Vest
Здравствуйте, W4rmonger!
Для контроля вывода строки на экране используй функцию gotoxy (чтобы курсор поместить в нужное место) и заметь - в середине оно появляется из-за window(left,top,right,bot); т.е. ты создаёшь текстовое окно, для отображения меню, затем его очищаешь и пишешь тексто, но пишешь ты его на месте МЕНЮ. т.е. если ты добавишь строку в функции SozdNewBD:
то эта проблема исчезнит, плюс ещё проследи все свои строки и заметишь там кучу табов ' ' они тоже смещают твой курсор...
И совет небольшой, честно - отформатируй красиво текст своей программы, чтобы было понятно, а то оч. сложно ошибки искать - всё сливается воедино :)
А насчёт сохранения - я рекомендую созранять БД не как текстовый файл, а как двоичный, используй функцию fwrite похожим образом:
SozdNewBD()
...
printf(" Vvedite dati rozhdeniya sotrudnika
");
scanf("%d",&strSotrud[i].date);
fflush(stdin);
fwrite((void *)&strSotrud[i], sizeof(strSotrud[0]), 1, fp);
}
fclose(fp);
return 1;
}
Преимущество следующее - ты всегда можешь точно определить положение записи в файле, проще использовать... В функции save используй не r+, а w+ ты ведь ЗАПИСЫВАЕШЬ в файл, а не читаешь :)
--------- Халявы не бывает
Ответ отправил: Vest (статус: 2-ой класс)
Ответ отправлен: 28.05.2006, 00:07