Проблема с Msvs

Тема в разделе "MS Visual C++", создана пользователем Elkaz, 7 сен 2007.

Статус темы:
Закрыта.
  1. Elkaz

    Elkaz Гость

    Здравствуйте. Доброго времени суток!
    Давече решил заняться изучением языка Visual C++. На данный момент стоит задача максимально быстро и хорошо освоить этот язык, в связи с олимпиадой по информатике. Из языков программирования знаком лишь с PHP (говорят, что он и С++ похожи), мельком с Java. Основная проблема на данный момент - я чего-то не допонимаю в создание проекта.
    Мои действия
    File -> New -> Project -> Win32 App -> Empty project
    File -> New -> File -> CPP
    Пишу элементарный текст программы
    Код (Text):
    #include <iostream>
    using namespace std;
    int main() {
    cout << "Hello world!\n";
    return 0;
    }
    При попытке комплилирования/дебага вылезает ошибка о несуществование .exe файла.

    ScreenShot: http://server.az/photos/cpp.JPG
    Заранее всем огромное спасибо за помощь в разрешение проблемы.

    С ув.

    P.S
    Microsoft Visual Studio 5.0
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Судя по всему ты говоришь Debug\Run, а сначала надо сказать Build.
    И это VS 2005, а не 5.0.
     
  3. Elkaz

    Elkaz Гость

    Да я сначала build project_name делаю:
    ========== Build: 0 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
    Да, извините.
     
  4. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    Хм, ну в таком случае все собралось как надо и должно работать. Посмотри в настройки проекта - может отлаживается модуль не потому пути? Хотя если ты туда не лазил, то проблем быть не должно.
     
  5. hihi

    hihi Гость

    так создавай не win32 app, а win32 console app
     
  6. shisik

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    Или добавить
    Код (Text):
    #pragma comment(linker, "/ENTRY:main")
    #pragma comment(linker, "/SUBSYSTEM:console")
     
  7. Maxx

    Maxx Гость

    сдается мне ошибка в том что ты просто создаешь файл
    а его надо еще добавить в проект project->add new item или project->add existing item
     
  8. Elkaz

    Elkaz Гость

    Да, все оказалось верно :( Огромное спасибо!
    Далее делаем Build:

    'elkaz.exe': Loaded 'C:\projects\elkaz\debug\elkaz.exe', Symbols loaded.
    'elkaz.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
    'elkaz.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
    'elkaz.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcp80d.dll', Symbols loaded.
    'elkaz.exe': Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_f75eb16c\msvcr80d.dll', Symbols loaded.
    'elkaz.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
    The program '[2744] elkaz.exe: Native' has exited with code 0 (0x0).

    Консоль открывается и сразу закрывается.
    Так и должно быть? Из-за return 0?
    Всем спасибо за ответы!
     
  9. shisik

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    <!--QuoteBegin-Elkaz+7:09:2007, 17:28 -->
    <span class="vbquote">(Elkaz @ 7:09:2007, 17:28 )</span><!--QuoteEBegin-->Консоль открывается и сразу закрывается.[/quote]
    Консоль можно задержать функцией
    Код (Text):
    cin.get();
    <!--QuoteBegin-Elkaz+7:09:2007, 17:28 -->
    <span class="vbquote">(Elkaz @ 7:09:2007, 17:28 )</span><!--QuoteEBegin-->Так и должно быть? Из-за return 0?[/quote]
    Да
     
  10. Elkaz

    Elkaz Гость

    Огромное спасибо Вам.
    На этом вопросы о компиляторе исчезли :(
    Тему можно удалять/в архив/закрывать
    Куда лучше вопросы о синтаксисе задавать, когда возникнут?
     
  11. Elkaz

    Elkaz Гость

    Написал простенький калькулятор :( (не хватило терпения :-D)
    Код (Text):
    #include <iostream>
    using namespace std;
    int calculator (int n1, int n2, int act){
    int res;
    if (act == 0){ res = n1+n2; }
    if (act == 1){ res = n1-n2; }
    if (act == 2){ res = n1*n2; }
    if (act == 3){ res = n1/n2; }
    return res;
    }
    int main() {
    // Lesson 9 (by myself)
    int one,two,a,x;
    cout << "HELP of CALCULATOR v1.0 by Elkaz\n";
    cout << "0 = to pile\n";
    cout << "1 = to subtract\n";
    cout << "2 = to multiply\n";
    cout << "3 = to divide\n\n";
    cout << "Enter number\n";
    cin >> one;
    cout << "Enter another number\n";
    cin >> two;
    cout << "Enter action between them\n";
    cin >> a;
    cout << "Result of your actions is " << calculator (one,two,a);
    }
    На данный момент вопрос только как реализовать что бы программа могла получать "+", "-" ... вместо 0,1 :)
    Делал так:
    Код (Text):
    int calculator (int n1, int n2, char* act){
    int res;
    if (act == "+"){ res = n1+n2; }
    if (act == "-"){ res = n1-n2; }
    if (act == "*"){ res = n1*n2; }
    if (act == "/"){ res = n1/n2; }
    return res;
    }
    Но где-то не то :(
     
  12. shisik

    shisik Well-Known Member

    Регистрация:
    26 авг 2007
    Сообщения:
    154
    Симпатии:
    0
    Нельзя использовать
    Код (Text):
    char *a;
    cin >> a;
    Можно сделать так
    Код (Text):
    char a[2];
    cin >> a;
    Но это ещё не всё. if (act == "+") никогда не будет true. Для сравнения строк следует использовать специальную функцию !strcmp(act, "+") из string.h Перед ней следует ставить ! т.к. она возвращает false в случае совпадения и true, если строки разные.

    Код (Text):
    #include <iostream>
    #include <string>
    using namespace std;

    int calculator(int n1, int n2, char *act){
    int res = 0;
    if (!strcmp(act, "+"))
    res = n1 + n2;
    if (!strcmp(act, "-"))
    res = n1 - n2;
    if (!strcmp(act, "*"))
    res = n1 * n2;
    if (!strcmp(act, "/"))
    res = n1 / n2;
    return res;
    }

    int main()
    {
    int one, two;
    char a[2];
    cout << "HELP of CALCULATOR v1.0 by Elkaz\n";
    cout << "0 = to pile\n";
    cout << "1 = to subtract\n";
    cout << "2 = to multiply\n";
    cout << "3 = to divide\n\n";
    cout << "Enter number\n";
    cin >> one;
    cout << "Enter another number\n";
    cin >> two;
    cout << "Enter action between them\n";
    cin >> a;
    cout << "Result of your actions is " << calculator(one, two, a) << endl;
    return 0;
    }
    Кроме того, в данном случае можно вместо строки char[] использовать просто символ char. Тогда с ним можно работать как с простым числом (сравнивать через ==).

    Код (Text):
    #include <iostream>
    using namespace std;

    int calculator (int n1, int n2, char act)
    {
    int res = 0;
    if (act == '+')
    res = n1 + n2;
    if (act == '-')
    res = n1 - n2;
    if (act == '*')
    res = n1 * n2;
    if (act == '/')
    res = n1 / n2;
    return res;
    }

    int main()
    {
    int one, two;
    char a;
    cout << "HELP of CALCULATOR v1.0 by Elkaz\n";
    cout << "0 = to pile\n";
    cout << "1 = to subtract\n";
    cout << "2 = to multiply\n";
    cout << "3 = to divide\n\n";
    cout << "Enter number\n";
    cin >> one;
    cout << "Enter another number\n";
    cin >> two;
    cout << "Enter action between them\n";
    cin >> a;
    cout << "Result of your actions is " << calculator(one, two, a) << endl;
    return 0;
    }
     
  13. Elkaz

    Elkaz Гость

    Всем еще раз здравствуйте.
    Задача: нарисовать прямоугольник :) и что бы после вывода консоль не закрылась.
    Код (Text):
    #include <iostream>
    using namespace std;
    void drawRectangle (int width, int height){
    for (int i=0; i<height; i++){
    for (int j=0; j<width; j++){
    cout << "*";
    }
    cout << "\r\n";
    }

    }
    int main() {
    int inputW, inputH;
    cout << "DRAW_RECTANGLE: v1.0";
    cout << "\r\nEnter width: ";
    cin >> inputW;
    cout << "Now enter height: ";
    cin >> inputH;
    cout << "RESULT\r\n";
    drawRectangle(inputW,inputH);
    cin.get(); 
    }
    Где ошибаюсь? :)
     
Загрузка...
Похожие Темы - Проблема Msvs
  1. c0de3r
    Ответов:
    4
    Просмотров:
    109
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    130
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    118
  4. Artael
    Ответов:
    1
    Просмотров:
    106
  5. ENSLER
    Ответов:
    0
    Просмотров:
    100
Статус темы:
Закрыта.

Поделиться этой страницей