Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 425
от 02.06.2006, 19:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 332, Экспертов: 46
В номере:Вопросов: 1, Ответов: 1


Вопрос № 44421: Я знаю вы сильно заняты не могли бы вы уделить мне еще чуток внимания. Проблема опять в задаче: я корректно наладил очистку экрана, не без помощи ваших советов , разумеется, у меня вопрос почему при вводе новой БД экран очищается а приглашение ввести...

Вопрос № 44.421
Я знаю вы сильно заняты не могли бы вы уделить мне еще чуток внимания. Проблема опять в задаче: я корректно наладил очистку экрана, не без помощи ваших советов , разумеется, у меня вопрос почему при вводе новой БД экран очищается а приглашение ввести кол-во сотрудников появляется в середние а не по левому краю и как это можно контролировать?
И еще вот у меня ф-я есть кривая ----сохранение: поправьте ее плиз надо чтоб она открывла файл и сохраняла в нем.

Приложение:

Отправлен: 27.05.2006, 19:41
Вопрос задал: W4rmonger (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Vest
Здравствуйте, W4rmonger!
Для контроля вывода строки на экране используй функцию gotoxy (чтобы курсор поместить в нужное место) и заметь - в середине оно появляется из-за window(left,top,right,bot); т.е. ты создаёшь текстовое окно, для отображения меню, затем его очищаешь и пишешь тексто, но пишешь ты его на месте МЕНЮ. т.е. если ты добавишь строку в функции SozdNewBD:

window(1,1,40,40);
gotoxy(1,1);
printf(" Vvedite kol-vo sotrudnikov ");

то эта проблема исчезнит, плюс ещё проследи все свои строки и заметишь там кучу табов ' ' они тоже смещают твой курсор...
И совет небольшой, честно - отформатируй красиво текст своей программы, чтобы было понятно, а то оч. сложно ошибки искать - всё сливается воедино :)

А насчёт сохранения - я рекомендую созранять БД не как текстовый файл, а как двоичный, используй функцию 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


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное