Другие языки программирования и технологии

Это код из книги С++ для чайников.Вроде все прилежно переписал но не работает ни черта,что не так?

// программа для преобразования // градусов Цельсия в градусы Фаренгейта // Fahrenheit = NCelsius * (212-32)/100 + 32 // #include <stdio.h> #include <iostream.h> int main(int nNumberofArgs, char* pszArgs[ ]) { int nNCelsius; cout << " Введите температуру по Цельсию: "; cin >> nNCelsius; int nNFactor; nNFactor = 212 - 32; int nFahrenheit ; nFahrenheit = nNFactor * nNCelsius/100 + 32; cout<< "Температура по Фаренгейту: "; cout<< nFahrenheit; return 0; }
Во-первых, данный код не соответсвует стандарту С++. Скорей всего вы его извлекли из старого учебника. Поэтому при использовании нового компилятора код не будет компилироваться.
Я не знаю, каким вы пользуетесь компилятором, и насколько он совместим со стандартом С++, поэтому я буду просто перечислять недостатки кода, а вы уж сами проверяйте, что ваш компилятор проглатывает, а что нет.

Во-первых, все стандартные заголовки в С++ используются без расширения .h. Заголовки, перешедшие из С в С++ пишутся с доабвлением буквы 'c' перед именем заголовка С.

Итак должно быть

#include <iostream>

Заголовок <stdio.h>, который правильно писать в С++ как <cstdio> в вашей программе совершенно не нужен, так как ни одно объявление из него не используется.

Имена cin и cout находятся в пространстве имен std, поэтому перед ними нужно писать префикс, например

std::cin
std::cout

Или вы говорите компилятору, что будете использовать пространство имен std с помощью директивы

using std;
которую можно поместить перед main() либо после нее. Тогда префикс std писать не надо.

Если это исправите, то должно компилироваться. Либо сообщайте сообщение об ошибке компилятора, чтобы знать, что у вас не компилируется!

Кстати сказать, книга у вас крайне ПЛОХАЯ. Не используйте ее. Лучше купите книгу Дж. Либерти "Изучи С++ самостоятельно за 21 день".
Сапаргали Курбанов
Сапаргали Курбанов
79 586
Лучший ответ
Сергей Солдатов DEV C++ использую.За совет про книжку спасибо
Прогнал сейчас твой текст на Dev-C++. Все прекрасно работает.
Мое предположение - не умеешь работать со средой. Поставь перед return 0;
cтрочку getchar(); getchar();
Возможно, поможет.
ЮО
Юра Орлович
32 266
имхо, код замудрен чуток)) ) много переменных, которые можно обойти и описаны по пути обработки) ДОС частенько ругается на это)) ) попробуй вычислять перед выводом. . и вообще так не проще?

#include <stdio.h>
#include <iostream.h>

void main()
{
int nNCelsius,nNFactor,nFahrenheit;

cout << " Введите температуру по Цельсию: ";
cin >> nNCelsius;

nNFactor = 212 - 32;
nFahrenheit = nNFactor * nNCelsius/100 + 32;

cout<< "Температура по Фаренгейту: ";
cout<< nFahrenheit;

return 0;
}

либо я чет не понял?
#include <conio.h>
#include <iostream>
using namespace std;
int main()
{
int nNCelsius;
cout << " Введите температуру по Цельсию: ";
cin >> nNCelsius;
cout<< "Температура по Фаренгейту: " << 1.8 * nNCelsius + 32;
_getch();
return 0;
}

что не понятново? ?
собирайте отладочную версию (debug)
Сергей Солдатов ))))))))))) Ну мне все непонятно,я по книжке писал)).Но спасибо