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

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


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

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

Выпуск № 424
от 01.06.2006, 18:35

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


Вопрос № 44328: Здравствуйте эксперты! Помогите найти ошибку в моей задаче когда я нажимаю стрелку вверх или вниз то у меня окно "ломается" и появляется какой-то копирайт типа "Borland C++ 1989" короче шняга какая-то. И еще как сделат...
Вопрос № 44349: Уважаемые эксперты, подскажите пожалуйста, как на Visual C++ создать новый поток, и есть ли ещё какие варианты сделать так, чтобы параллельно прога и выполняла какие-то действия и реагировала на нажатие кнопок и т.д.? Заранее спасибо. ...
Вопрос № 44369: Люди ну скажите пожалуйста почему ф-я "menu();" не выводится после заполнения структуры хотя я ее прописал вроде бы в нужном месте? И еще такой вопрос вот у меня белый цвет фона на нем синий текст; почему после второго запуска про...
Вопрос № 44401: Здравствуйте, дорогие эксперты. Я недавно начал изучать C++ и решил написать базу данных(тел. справочник). В моей программе не работает функция загрузки.(см. приложение) Пожалуйста, помогите найти ошибку! Спасибо!...
Вопрос № 44405: Здраствуйте уважаемые эксперты,помогите студенту чем сможите. Есть задача на С++ ,а чо делать не знаю! "Задана система двусторонних дорог. N - периферией называется множество городов, расстояние от которых до выделенного города(столицы) больше ...

Вопрос № 44.328
Здравствуйте эксперты!
Помогите найти ошибку в моей задаче когда я нажимаю стрелку вверх или вниз то у меня окно "ломается" и появляется какой-то копирайт типа "Borland C++ 1989"
короче шняга какая-то.
И еще как сделать так чтобы после ввода структуры прога не завершалась а опять выводилось меню чтобы можно было дальш еработать со структурой?

Приложение:

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

Отвечает: Vest
Здравствуйте, W4rmonger!
Окно ломается из-за цикла:
for(i = 0; i < 8; i++) // не 8, а 6 == количеству строк menutext
{
gotoxy(2, i + 2);
textcolor((i - pos) ? BLUE : GREEN);
cprintf("%s", menutext[i]); menutext[6 и 7] - не существует
}

далее нужно исправить строку:
if(pos < 6) pos++; // на 5, т.к. иначе будет выделяться следующая за "выходом" строка (а её нет)

ну и для того, чтобы программа не выходила необходимо в строке функции main
while(choice!=27 && choice!=13); убрать второе условие, отвечающее за enter

но необходимо предусмотреть очистку экрана после ввода BD

---------
Халявы не бывает
Ответ отправил: Vest (статус: 2-ой класс)
Ответ отправлен: 26.05.2006, 21:38
Оценка за ответ: 5
Комментарий оценки:
Хочу сказать тебе огромное спасибо! Ошибка исправлена...


Вопрос № 44.349
Уважаемые эксперты, подскажите пожалуйста, как на Visual C++ создать новый поток, и есть ли ещё какие варианты сделать так, чтобы параллельно прога и выполняла какие-то действия и реагировала на нажатие кнопок и т.д.? Заранее спасибо.
Отправлен: 27.05.2006, 01:49
Вопрос задал: CoB (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Zitz
Здравствуйте, CoB!

В приложении кусок кода, он у меня в программе срабатывает по баттонКлик
foo - глобальная функция arg - аргумент этой функции (входящий параметр), когда эта функция выполнится поток завершится. В это время можете как угодно реагировать ;)
К примеру:
void foo(char * atg)

Приложение:

---------
Успех неизбежен

Ответ отправил: Zitz (статус: Студент)
Ответ отправлен: 27.05.2006, 02:23
Оценка за ответ: 4


Вопрос № 44.369
Люди ну скажите пожалуйста почему ф-я "menu();" не выводится после заполнения структуры хотя я ее прописал вроде бы в нужном месте?
И еще такой вопрос вот у меня белый цвет фона на нем синий текст;
почему после второго запуска проги через borland 3.1 становится белым весь экран монитора? и как это предотвратить?

Приложение:

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

Отвечает: Vest
Здравствуйте, W4rmonger!
Я вроде уже говорил, для того, чтобы меню появлялось - убери второе условие в функции main: не
while(choice!=27 && choice!=13);

while(choice!=27);
Просто, когда ты нажимаешь Enter (13), цикл завершается!
А белый фон возникает при вызове функции clrscr; в main. Экран очищается текущим background'ом, поставь перед оператором очистки экрана следующую строку:
textbackground(BLACK);
Тогда всё будет чёрным.
Да, кстати, поменяй все функции exit(1); на что-нибудь другое, типа return -1; а то при невозможности открытия файла программа всегда закрывается без вопросов :) и следуй предупреждениям компилятора - их оч. много в твоей прорамме.
---------
Халявы не бывает
Ответ отправил: Vest (статус: 2-ой класс)
Ответ отправлен: 27.05.2006, 19:11


Вопрос № 44.401
Здравствуйте, дорогие эксперты.
Я недавно начал изучать C++ и решил написать базу данных(тел. справочник).
В моей программе не работает функция загрузки.(см. приложение)
Пожалуйста, помогите найти ошибку!
Спасибо!

Приложение:

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

Отвечает: Vest
Здравствуйте, Вадик!
Если честно, то эта функция больше похожа не на функцию загрузки, а на функцию сохранения данных в поток. Почему? Потому, что ты ВЫВОДИШЬ в файловый поток свой список (fprintf), для считывания ИЗ потока нужно использовать fscanf. Также я заметил, что ты используешь не , а \n\r - это некорректно.
Для загрузки у тебя может возникнуть следующая проблема - тебе необходимо будет "пропускать" шапку таблицы. В случае с базой данных я рекомендую сохранять не в текстовом файле, а в двоичном (бинарном) всю структуру целиком, т.к. перемещаться по данным будет легче, единственная сложность - это нельзя будет в блокноте :) редактировать. Эта функция удобна для отобажения информации, на мой взгляд, а не для использования, т.к. длины строк разные получаются.
Ну и небольшой совет, если ты начал изучать С++ (а не С), то старайся использовать стандартную библиотеку ввода-вывода.
---------
Халявы не бывает
Ответ отправил: Vest (статус: 2-ой класс)
Ответ отправлен: 27.05.2006, 18:52
Оценка за ответ: 5


Вопрос № 44.405
Здраствуйте уважаемые эксперты,помогите студенту чем сможите. Есть задача на С++ ,а чо делать не знаю! "Задана система двусторонних дорог. N - периферией называется множество городов, расстояние от которых до выделенного города(столицы) больше N. Определить N-периферию для заданного N. "
Отправлен: 27.05.2006, 16:07
Вопрос задал: Nikosz (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Vest
Здравствуйте, Nikosz!
Хм... интересно. Похоже здесь идёт речь о множестве всех городов, представленных в виде графа (раз дороги двусторонние, значит граф симметричный, не уверен в терминологии :). И при вводе растояния N необходимо вывести весь список городов, до которых можно "доехать".
Задачу необходимо решить след. образом - заполнить граф, конечно же ввести N, и потом "процтись" по графу в поиске городов - для прохождения графа используй алгоритмы, которые можно найти в Инете.
---------
Халявы не бывает
Ответ отправил: Vest (статус: 2-ой класс)
Ответ отправлен: 27.05.2006, 19:20
Оценка за ответ: 4
Комментарий оценки:
спасибо,но конечно хотелось бы увидеть хотя бы наброски,так как только начал изучать С++ и мало что понимаю =(


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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

В избранное