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

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


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

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

Выпуск № 880
от 18.10.2007, 08:05

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


Вопрос № 105161: Добрий день есть задача на с написать прогру для вывода значений фаренгейт - цельсий в столбик от 0 до 300 с шагом 10 используя формулу с=5/9*(fahr - 32) тока условие что подщет должен происнодить в ф-ии celsius вот что у меня вышло....
Вопрос № 105211: Доброго времени суток, уважаемые эксперты: Подскажите хорошие книжки по среде Borland C++, a по синтаксису С и С++...
Вопрос № 105265: Помогите написать програсмму на С++: В данном предложении заменить каждое слово child словом children. Спасибо!!!...
Вопрос № 105266: Помогите написать программу на С++ Дан файл F, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файл F содержит столько же отрицательных чисел, сколько положительных. Используя вспомогательный файл H, п...
Вопрос № 105271: Здравтсвуйте, многоуважаемые эксперты интересует такой вопрос -> как получить список файлов определенной папки в VisualC++ (без MFC)?...

Вопрос № 105.161
Добрий день
есть задача на с
написать прогру для вывода значений фаренгейт - цельсий в столбик от 0 до 300 с шагом 10 используя формулу с=5/9*(fahr - 32)
тока условие что подщет должен происнодить в ф-ии celsius
вот что у меня вышло....
тока просьба не писать новой програмы а сказать где я ошибся (мне важен не результат а процес)

Приложение:

Отправлен: 12.10.2007, 11:42
Вопрос задал: Сергей Богданович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Delph
Здравствуйте, Сергей Богданович!

Функцию celsius нужно сделать от одной переменной:

int celsius(int fahr)
{
return (5.0/9.0)*(fahr-32);
}

Цикл нужно организавать не в celsius, а в main, и поместить вывод в цикл:

void main
{
for (fahr = 0; fahr <= 300; fahr += 10)
printf ("fahr=:%d celsius=:%d ", celsius(fahr));
}

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

Это всё явные ошибки. Вылавливанием мелочей и шлифовкой программы займусь, если только у Вы сами об этом попросите. Только имейте ввиду, что для тестов я использую Visual C++ 6, и если у Вас другая среда, то могут найтись незначительные расхождения. По поводу любых уточнений пишите в минифорум вопроса или в мою личную почту на РусФаге.
---------
Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.
Ответ отправил: Delph (статус: Студент)
Ответ отправлен: 12.10.2007, 12:07
Оценка за ответ: 5
Комментарий оценки:
большое спасибо я понял свои ошибки , больше ничего делать не нуна

Отвечает: Архипов Александр Леонидович
Здравствуйте, Сергей Богданович!
Ошибка здесь есть: на печать выводиться только одна строка, причем последняя. Ведь в функции celsius сначала идёт весь цикл, а за тем ОДИН раз (последний) значения передаются на печать.
Я решил эту задачу (практически не меняя ни чего) следующим образом: цикл перенёс перед печатью, а функция celsius передаёт только результат расчёта (как и требуют того условия задачи). См. приложение.

P.S. Что бы цикл хоть что-то делал не надо ставить двоеточие сразу за ним...
(for (fahr = 0; fahr <= 300; fahr = fahr + 10);)

Приложение:

Ответ отправил: Архипов Александр Леонидович (статус: 6-ой класс)
Ответ отправлен: 13.10.2007, 09:55

Отвечает: Попов А.С.
Здравствуйте, Сергей Богданович!
В приложении исправленный листинг (исправлена функция celsius + цикл вывода значений перенесен в main)

Приложение:

Ответ отправил: Попов А.С. (статус: 2-ой класс)
Ответ отправлен: 13.10.2007, 14:18


Вопрос № 105.211
Доброго времени суток, уважаемые эксперты:
Подскажите хорошие книжки по среде Borland C++, a по синтаксису С и С++
Отправлен: 12.10.2007, 16:48
Вопрос задал: Bubu (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Гальцов Андрей Михаилович
Здравствуйте, Bubu!

Здесь есть всё - http://www.softholm.com/books/books.html

---------
Да здравтствует С++!!!...;)
Ответ отправил: Гальцов Андрей Михаилович (статус: 6-ой класс)
Ответ отправлен: 12.10.2007, 17:24

Отвечает: Olegzp
Здравствуйте, Bubu!
Могу подсказать сайт http://wmate.ru/
и раздел на нем по C/C++ http://wmate.ru/ebooks/cat5/
Ответ отправил: Olegzp (статус: 3-ий класс)
Ответ отправлен: 13.10.2007, 11:33


Вопрос № 105.265
Помогите написать програсмму на С++:

В данном предложении заменить каждое слово child словом children.

Спасибо!!!
Отправлен: 13.10.2007, 00:28
Вопрос задал: Предеин Денис Дмитроевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Гальцов Андрей Михаилович
Здравствуйте, Предеин Денис Дмитроевич!

Ну тут как и говорил, есть глюки...но чисто по алгоритму думаю сойдёт, если препод нормальный - примет...

Приложение:

---------
Да здравтствует С++!!!...;)

Ответ отправил: Гальцов Андрей Михаилович (статус: 6-ой класс)
Ответ отправлен: 13.10.2007, 01:28
Оценка за ответ: 5
Комментарий оценки:
СПАСИБО!!! РАБОТАЕТ!!!

Отвечает: CruelHity
Здравствуйте, Предеин Денис Дмитроевич!
Вот еще один способ если вам конечено интересно!
Если надо, то вам не будет трудностей переделать на BC 3.1 или как там версия!
Если что обращайтесь:-)

Приложение:

Ответ отправил: CruelHity (статус: 1-ый класс)
Ответ отправлен: 13.10.2007, 15:54


Вопрос № 105.266
Помогите написать программу на С++

Дан файл F, компоненты которого являются целыми числами. Никакая из компонент файла не равна нулю. Файл F содержит столько же отрицательных чисел, сколько положительных. Используя вспомогательный файл H, переписать компоненты файла F в файл G так, чтобы в файле G не было двух соседних
компонент с одним знаком.

Спасибо!!!
Отправлен: 13.10.2007, 00:31
Вопрос задал: Предеин Денис Дмитроевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Гальцов Андрей Михаилович
Здравствуйте, Предеин Денис Дмитроевич!

Только не забудте создать файлы и написать Ваш путь...

Приложение:

---------
Да здравтствует С++!!!...;)

Ответ отправил: Гальцов Андрей Михаилович (статус: 6-ой класс)
Ответ отправлен: 13.10.2007, 01:27
Оценка за ответ: 5
Комментарий оценки:
СУПЕР!!!


Вопрос № 105.271
Здравтсвуйте, многоуважаемые эксперты интересует такой вопрос -> как получить список файлов определенной папки в VisualC++ (без MFC)?
Отправлен: 13.10.2007, 05:41
Вопрос задал: Жилкин Сергей Анатольевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: CruelHity
Здравствуйте, Жилкин Сергей Анатольевич!
Вот пример(это для windows)
/*****
WIN32_FIND_DATA lpFile;
HANDLE hFile;
hFile=FindFirstFile("*",&lpFile);
do{
m_List.AddString(lpFile.cFileName);
}while(FindNextFile(hFile,&lpFile));
/**********
FindFirstFile Находит первый файл
HANDLE FindFirstFile(LPCTSTR lpFileName, //путь с именем файла(ов) который(е) ищем, можно использовать маску (*,?),Можно просто имя файла,тогда будет искать в текуцей директории(для установки и получения директории SetCurrentDirectory и GetCurrentDirectory)
LPWIN32_FIND_DATA lpFindFileData //структура которая будет содержит информацию о файле);
Если произошла ошибка, то функция вернет значение INVALID_HANDLE_VALUE, иначе handle поиска.
//----
Для продолжения поиска необходима функция FindNextFile:
BOOL FindNextFile( HANDLE hFindFile, //handle поиска
LPWIN32_FIND_DATA lpFindFileData //указатель на структуру с информацией о файле);
Если нет ошибок функция возвращает не нулевое значение.
//---
после завершения надо закрыть хендл поиска. в примере нет но это обязательно
FindClose(hFile);
Ну думаю понятно
FindClose(HANDLE hFile);//handle поиска
Ответ отправил: CruelHity (статус: 1-ый класс)
Ответ отправлен: 13.10.2007, 10:04

Отвечает: Aristos
Здравствуйте, Жилкин Сергей Анатольевич!

Вам помогут предназначенные для поиска функции FindFirstFile, FindNextFile, FindClose.
HANDLE FindFirstFile(LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData);
BOOL FindNextFile(HANDLE hFindFile, LPWIN32_FIND_DATA lpFindFileData);
BOOL FindClose(HANDLE hFindFile);

Первая функция принимает первым агрументом путь с маской для поиска, например "C:\*.*", начинает поиск, возвращает описатель поиска и записывает данные о первом найденном файле в структуру WIN32_FIND_DATA. Вторая продолжает поиск, а третья завершает.

В приложении код, который перечисляет файлы и директории на диске C:. Использованы ANSI версии фукций поиска (и структуры), поэтому в конце названий прибавлена буква A.

Приложение:

---------
нет ничего невозможного

Ответ отправил: Aristos (статус: 8-ой класс)
Ответ отправлен: 13.10.2007, 14:52

Отвечает: Новак Александр Васильевич
Здравствуйте, Жилкин Сергей Анатольевич!
А вот ещё примерчик:

list<string> LFiles;
list<string>::iterator i_LFiles;

LPWIN32_FIND_DATA FD=new WIN32_FIND_DATA;
FillMemory((VOID*)FD,sizeof(WIN32_FIND_DATA),0);
HANDLE hFiles=FindFirstFile("D:\*.BMP",FD);
do{
lstrcpy(S,"D:\");
lstrcat(S,FD->cFileName);
LFiles.insert(LFiles.end(),S);
}while(FindNextFile(hFiles,FD));
i_LFiles=LFiles.begin();
............
---------
ПОЛЬЗУЙТЕСЯ НАШИМИ ПРОГРАММАМИ, ПОДДЕРЖИТЕ РОССИЙСКИХ ПРОГРАММИСТОВ ИНАЧЕ МЫ ВЫМРЕМ КАК МАМОНТЫ. ;-)
Ответ отправил: Новак Александр Васильевич (статус: 2-ой класс)
Ответ отправлен: 13.10.2007, 18:48


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.61.1 от 16.10.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное