Тут размещают свои топики новички в С/С++.

Тема в разделе "LANGS.C", создана пользователем nitrotoluol, 4 мар 2007.

  1. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    Вот код проги:
    Код (Text):
    1. #include <stdio.h>
    2. #include <iostream.h>
    3.  
    4. int main(int nNumberofArgs, char* pszArgs[])
    5. {
    6.  
    7.     int nNCelsius;
    8.     cout << "Введите темературу по Цельсию: ";
    9.     cin >> nNCelsius;
    10.  
    11.     int nNFactor;
    12.     nNFactor = 212 - 32;
    13.  
    14.     int nNFahrenheit;
    15.     nFahrenheit = nNFactor * nNCelsius/100 + 32;
    16.  
    17.     cout << "Температура по Фаренгейту: ";
    18.     cout << nFahrenheit;
    19. }
    Вот настройки:[​IMG][​IMG]
     
  2. bigredcat

    bigredcat New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    54
    Если ошибку при компиляции выдает такую: "fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory", то попробуй вместо #include <iostream.h> подключить #include <iostream> без "h". И соответственно вместо cout и cin используй std::cout и std::cin

    Заголовочный файл iostream.h используется для старой версии библиотеки классов ввода/вывода, iostream - для новой. В VS2003 файла iostream.h нет.
    В новой стандартной библиотеке необходимо явно указывать спецификатор пространства имен std :
    либо перед каждым объектом cout и cin (std::cout и std::cin);
    либо определив, что данные объекты относятся к стандартному пространству имен (using std::cout и using std::cin);
    либо определив, что в данном контексте используется стандартное пространство имен (using namespace std).
     
  3. bigredcat

    bigredcat New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    54
    Loginanton

    Кроме того у тебя ошибочка в имени переменной:
    Объявляешь: int nNFahrenheit; А используешь nFahrenheit = nNFactor * nNCelsius/100 + 32;
    Да и функция int main(...) должна по-хорошему возвращать значение, например, return 0;
    Еще выкинем не нужную, в данном случае, библиотеку stdio.h и получим следующий работоспособный код:
    Код (Text):
    1. #include <iostream>
    2.  
    3. int main(int nNumberofArgs, char* pszArgs[])
    4. {
    5.     using std::cout;
    6.     using std::cin;
    7.     using std::endl;
    8.  
    9.     int nNCelsius;
    10.     cout << "Введите темературу по Цельсию: ";
    11.     cin >> nNCelsius;
    12.  
    13.     int nNFactor;
    14.     nNFactor = 212 - 32;
    15.  
    16.     int nNFahrenheit;
    17.     nNFahrenheit = nNFactor * nNCelsius/100 + 32;
    18.  
    19.     cout << "Температура по Фаренгейту: ";
    20.     cout << nNFahrenheit << endl;
    21.  
    22.     return 0;
    23. }
     
  4. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    bigredcat написал твой код - всё равно тоже самое :dntknw: Ошибок он никаких не пишет, просто пишет что блаблабла.ехе не найден
     
  5. bigredcat

    bigredcat New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    54
    Заархивируй и выложи проект. Посмотрим.
     
  6. bigredcat

    bigredcat New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    54
    А что компилятор и раньше не выдавал ошибок, когда ты свой код с необъявленной переменной компилировал?
    Это там, где
    int nNFahrenheit;
    nFahrenheit = nNFactor * nNCelsius/100 + 32; // nFahrenheit - не объявлена
    cout << "Температура по Фаренгейту: ";
    cout << nFahrenheit;
     
  7. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    Ну никаких табличек с ошибками небыло, просто жму старт дебагинг/старг виф аут дебагинг и он выдаёт, что такой то экзешник ненайден.
     
  8. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    Loginanton
    может, что-нибудь с путями файлов твоего проекта. никакие директории не указывал?
     
  9. bigredcat

    bigredcat New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    54
    Ну ты проект хоть пытался скомпилировать CRTL+SHIFT+B или в главном меню Build->Build Solution не мог тебе компилятор не выдать сообщения об ошибке, когда у тебя в исходном коде не объявленная переменная находится.

    А никаких табличек может и не быть. По умолчанию сообщения об ошибках компиляции выводятся в нижней части IDE на вкладке TaskList (если конечно ты не менял настройки самой IDE).

    Посмотри мой проект (создан в VC2003).

    Кстати, только сейчас обратил внимание, на скриншоте у тебя подозрительно выглядит значение параметра Configuration Properties->General->Output Directory = "...\MyWork". Похоже ты сам ручками менял пути, возможно в этом и причина.

    Попробуй создать новый проект.
     
  10. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    Да пути я менял: пытался ошибку исправить, и до и после одно и тоже :) Насчёт настроек: я вообще ничего не менял, всё дефолтное.

    Вот что выдаёт на выходе:
    Код (Text):
    1. ========== Build: 0 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
    Тут кое что прояснилось: если выбрать тип проекта - виндос форм апликашион (а до этого я выбирал emptyproj), то он вроде что то компилит, но выводит просто пустую форму.
     
  11. bigredcat

    bigredcat New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    54
    Создавай проект Win32 Console Project - у тебя же консольное приложение. Я так понял, что примеры у тебя чисто Си/Си++. Вот и создавай пустой проект консольного приложения. А не Windows Form Application и .NET для этих примеров тебе тоже не нужен. А потом уже в пустой проект добавляй файлы .cpp записывай туда код примеров из книги. По умолчанию исполняемый файл VS создает в папке ..\Название_Проекта\Debug
     
  12. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Это оно и есть.
    Прокручиваешь вверх окошко и смотришь на свои ошибки.

    Плюс, как уже верно заметил bigredcat, смени тип проекта
     
  13. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    Тип проекта сменил - тоже самое :dntknw: А вот такой вопрос: на С++ можно писать проги без использования API винды? Ну что бы явно не надо было вызывать функции?

    Люди выложите кто нить пожалуйста полный алгоритм действий (включая сам код проги), а то разбираться с какой то прогой третий день - это не норма :)
     
  14. bigredcat

    bigredcat New Member

    Публикаций:
    0
    Регистрация:
    3 сен 2007
    Сообщения:
    54
    Да.
    О каких функция ты говоришь? Если об API-функциях - ДА. Если о функция стандартных библиотек, то что ты напишешь?

    Какой алгоритм? Создания проекта? Код программы в предыдущем постах (#643) вполне рабочий. Файл проекта прикрепить что-то не получается. Могу на mail скинуть, если надо.
     
  15. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    Loginanton
    паставь Dev-C++
     
  16. Loginanton

    Loginanton New Member

    Публикаций:
    0
    Регистрация:
    8 май 2008
    Сообщения:
    74
    тож пишет что найти не может :dntknw: Может он не может найти библиотеку? тоесть то что инклудится?
     
  17. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    Loginanton
    брррр.. что-то ты делаешь не так. создай новый проект в Dev-C++ , при создании укажи консольное приложение. и попробуй его сразу же скомпилировать (сразу должен быть рабочий "скелет" программы с ф-цией main). и нажми кнопку для запуска программы. получается?
     
  18. Zlyden

    Zlyden New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2008
    Сообщения:
    49
    У меня есть проблема: в одной dll не хватает ИИ одного персонажа, и есть исходник этого ИИ на Microsoft Visual C++ 7.00. Моя задача добавить эту функцию. Пробовал открывать длл с помощью IDА, но не смог разобраться. Мне посоветовали скомпилить из сорцов длл, выставляя нужную функцию в экспорт, и вызов этой функции приделать к нужной dll. Идею понял, а как осуществить - не знаю. Заранее спасибо
     
  19. c_ice

    c_ice Максим

    Публикаций:
    0
    Регистрация:
    4 ноя 2007
    Сообщения:
    35
    Адрес:
    Саратов
    Читай книжки по VisualC++, особенно разделы по написанию dll
     
  20. Zlyden

    Zlyden New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2008
    Сообщения:
    49
    Знаю, но это не быстро, а мне с длл-кой желательно не затягивать. И как вызов приделать я до сих пор не знаю