Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите разобраться с основами C++  (Прочитано 18713 раз)
0 Пользователей и 1 Гость смотрят эту тему.
nniikkii
Гость
« : 24-04-2008 11:12 » 

здравствуйте УВАЖАЕМЫЕ!
Я начал разбирать с++ и в проге под названием
devcpp4.9.9.2 --набрал вот т. текст
Код:
#include <iostream.h> 

void main(void)

{
cout <<"Изучаем С++";
}
а после компиляции мне говорит --мол нету

iostream---вот  у меня и вопрос--как быть?
чтоб вывести на экр. текстик--Изучаем С++
ЗАРАНЕЕ благодарю--за совет
« Последнее редактирование: 24-04-2008 11:56 от Вад » Записан
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #1 : 24-04-2008 11:18 » 

думается, что нужно что то поставить Улыбаюсь как вы считаете?
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #2 : 24-04-2008 11:36 » 

Я думаю начинать надо с
http://gpwiki.org/index.php/C:How_to_set_up_your_SDL_Build_Environment#Windows:_Dev-C.2B.2B
Раздел

Windows: Dev-C++

1. Download and install DEVCPP4.9.9.2, (note install to recommended directory as some gcc programs don't like spaces in path names)

дальше по тексту...
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 24-04-2008 11:51 » 

Тут ещё подумалось, что в стандарте C++ заголовок именуется iostream, без всяких .h
Ну и cout вызывать без указания неймспейса (std::cout) или, на худой конец, без using namespace std - это авантюра без вариантов Улыбаюсь
« Последнее редактирование: 24-04-2008 11:55 от Вад » Записан
Aveic
Постоялец

ru
Offline Offline
Пол: Мужской
Yellow


« Ответ #4 : 24-04-2008 20:04 » 

Кстати, кто как относится к
Код: (C++)
void main(void)
?
А не
Код: (C++)
int main()
{
  //...
  return /*..*/ 0;
}
Это ведь ошибка по сути?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #5 : 24-04-2008 22:50 » 

Aveic, VC допускает и такой вариант. GCC будет брыкаться.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 25-04-2008 07:11 » 

Finch, не будет. Есть несколько вариантов main() - с разными параметрами и без, с типом int и void. Ругнется только на main() - должно быть main(void) - это чисто требование языка.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #7 : 25-04-2008 07:54 » 

Ром делаю простой пример
Код:
void main(void)
{
}
Компилирую такой строкой  g++ void.cpp -o void
Возрашается ошибка
Цитата
void.cpp:1: error: ‘::main’ must return ‘int’
Версия компилятора
Цитата
g++ (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #8 : 25-04-2008 08:07 » 

Can I write "void main()"?
The definition

   
Код:
void main() { /* ... */ }

is not and never has been C++, nor has it even been C. See the ISO C++ standard 3.6.1[2] or the ISO C standard 5.1.2.2.1. A conforming implementation accepts

   
Код:
int main() { /* ... */ }

and

   
Код:
int main(int argc, char* argv[]) { /* ... */ }

A conforming implementation may provide more versions of main(), but they must all have return type int. The int returned by main() is a way for a program to return a value to "the system" that invokes it. On systems that doesn't provide such a facility the return value is ignored, but that doesn't make "void main()" legal C++ or legal C. Even if your compiler accepts "void main()" avoid it, or risk being considered ignorant by C and C++ programmers.

In C++, main() need not contain an explicit return statement. In that case, the value returned is 0, meaning successful execution. For example:

   
Код:
#include<iostream>

int main()
{
std::cout << "This program returns the integer value 0\n";
}

Note also that neither ISO C++ nor C99 allows you to leave the type out of a declaration. That is, in contrast to C89 and ARM C++ ,"int" is not assumed where a type is missing in a declaration. Consequently:

   
Код:
#include<iostream>

main() { /* ... */ }

is an error because the return type of main() is missing.
Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
McZim
Команда клуба

ru
Offline Offline
Пол: Мужской
Я странный


WWW
« Ответ #9 : 25-04-2008 08:10 » 

Finch, тем не менее конструкцией

Код:
void main(...)

пользоваться можно!

хотя все же правильнее пользоваться int. Думается void пользуется только затем что бы не беспокоиться что нужно возвращать что то в конце функции. тогда можно использовать тот же int и не возвращать ничего, по умолчанию будет return 0.
« Последнее редактирование: 25-04-2008 08:23 от McZim » Записан

The CBO without stats is like a morning without coffee. (c) T.Kyte.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 25-04-2008 08:25 » 

Finch, сорри, я имел в виду C, а не C++...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #11 : 25-04-2008 08:32 » 

ֻׂGCC выдал просто предупреждение
Цитата
void.c:2: warning: return type of 'main' is not `int'
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 25-04-2008 08:36 » 

Finch, укажи ему стандарт c99.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
nniikkii
Гость
« Ответ #13 : 26-04-2008 11:46 » 

ВЗЯЛ В РУКИ УЧЕБНИК И НИЧЕГО НЕ ВЫХОДИТ В БОРЛАНДЕ С++ 5
вот ейный текст который я вижу в учебнике с++ для чайников
в результате опять море ошибок--?

Код:
// Программа для преобразования
// градусов Цельсия в градусы Фаренгейта:
// 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;
}
« Последнее редактирование: 26-04-2008 12:05 от Вад » Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #14 : 26-04-2008 12:09 » 

Потому что писать надо внимательнее.
Код:
cout << "Температура по Фаренгейту:";
найди 2 отличия от твоего варианта Улыбаюсь
И ещё: в упор не вижу, где хотя бы
Код:
using namespace std;
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 27-04-2008 07:12 » 

Цитата: Вад
И ещё: в упор не вижу, где хотя бы
А его может там и не быть - смотри, какие заголовочные файлы. BC++ 5.0, вообще, штука-то древняя. Мне чего-то кажется, что с iostream.h такая программа собралась бы ещё в BC++ 3.1 - там-то пространств имён точно не было, там даже нормальной обработки исключительных ситуаций не было.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #16 : 27-04-2008 08:03 » new

dimka, понятно. Значит, на плюсах я такую древность просто не застал Улыбаюсь
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines