Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

C++ problem z zabezpieczaniem strumienia wejścia

Ostatnio zmodyfikowano 2011-07-01 21:20
Autor Wiadomość
Dark
Temat założony przez niniejszego użytkownika
» 2011-06-30 15:23:11
To jest raczej oczywiste, mi chodziło raczej o niezwykłe niezwykłości :)
P-35039
Dark
Temat założony przez niniejszego użytkownika
Co robię źle?
» 2011-07-01 20:34:43
Żeby nie tworzyć nowego tematu skorzystam ze starego. Czy może ktoś mi pomóc i wytłumaczyć co robię źle w programie ciągle wyskakuje mi w debugerze komunikat:

1>------ Build started: Project: Projekt Alpha, Configuration: Debug Win32 ------
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>C:\Users\Urszula\documents\visual studio 2010\Projects\Projekt Alpha\Debug\Projekt Alpha.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

A to jest sam kod:
C/C++
#include <iostream>
using namespace std;

double Wprowadz1Liczbe()
{
    double Liczba;
    bool L_stan;
   
    cout << "Wprowadz pierwsza liczbe: ";
    cin >> Liczba;
    L_stan = cin.good();
    cin.clear();
    cin.sync();
    if( L_stan == false )
    {
        do
        {
            cout << "Wpisana liczba jest niepoprawna, wprowadz ponownie: ";
            cin >> Liczba;
            L_stan = cin.good();
            cin.clear();
            cin.sync();
        } while( L_stan == false );
       
    }
    return Liczba;
}

double Wprowadz2Liczbe()
{
    double Liczba;
    bool L_stan;
    do
    {
        cout << "Wprowadz druga liczbe (zero zakonczy program): ";
        cin >> Liczba;
        L_stan = cin.fail();
        cin.clear();
        cin.sync();
    } while( L_stan );
   
    return Liczba;
}

void Wybor( double first, double second, )
{
    int number;
    bool number_stan;
    int wynik;
    cout << "Wybierz dzialanie:" << endl;
    cout << "1. Dodawanie" << endl;
    cout << "2. Odejmowanie" << endl;
    cout << "3. Mnozenie" << endl;
    cout << "4. Dzielenie" << endl;
    cout << "5. Zrezygnuj" << endl;
    do
    {
        cout << "Dzialanie : ";
        cin >> number;
        number_stan = cin.fail();
        cin.clear();
        cin.sync();
    } while( number_stan &&( 1 <= number && number <= 5 ) );
   
    switch( number )
    {
    case 1:
        wynik = first + second;
        cout << first << " + " << second << " = " << wynik << endl;
        break;
    case 2:
        wynik = first - second;
        cout << first << " - " << second << " = " << wynik << endl;
        break;
    case 3:
        wynik = first * second;
        cout << first << " * " << second << " = " << wynik << endl;
        break;
    case 4:
        wynik = first / second;
        cout << first << " / " << second << " = " << wynik << endl;
        break;
    case 5:
        cout << "Koniec" << endl;
        return 0;
        break;
    }
   
    return wynik;
}


int main()
{
    double wynik = 0;
    double first;
    double second;
   
   
   
   
    do
    {
        cout << "Wynik wynosi " << wynik << endl;
        first = Wprowadz1Liczbe();
        if( first != 0 )
        {
            second = Wprowadz2Liczbe();
            if( second != 0 )
            {
                wynik = Wybor( first, second );
            }
            else
                 return 0;
           
        }
        else
             return 0;
       
    } while( first != 0 || second != 0 );
   
}
P-35134
Mrowqa
» 2011-07-01 21:05:12
Coś z linkerem ... ( z funkcją main jak mniemam :D )
Spróbuj przed klamrą zamykającą funkcję main dodać
return 0;
. Wątpię czy to coś da, ale może zadziałać :)

Pozdrawiam,
Mrowqa
P-35137
Dark
Temat założony przez niniejszego użytkownika
» 2011-07-01 21:06:53
Przykro mi ale to nie działa :\ Dalej to samo. Sam też szukam błędu ale bez skutku.

Edit: Tworzyło to przeoczenie niedołączenia pliku do projektu :) Teraz się odpala, pokazuje same warningi, które powoli usuwam :)
P-35138
Mrowqa
» 2011-07-01 21:14:10
Problem jest w projekcie
Błąd oznacza, że ​​nie ma głównego widoczne dla linkera. Ale edytowania plików z głównego lub WinMain w edytorze VS, więc co jest nie tak?

Visual Studio może być używany jako samodzielny edytor daje złudzenie, że rzeczy edycji mogą i powinny być compilable. Tak więc rozwiązanie jest proste nie udało się dodać plik edycji projektu.

Kliknij prawym przyciskiem myszy na rozwiązanie nazwa-> Add-> Existing Item-> plik z głównych
Więcej info -> stąd cytat ( trochę dalej masz opisany problem )
google
Sry, że tak linkami rzucam - nie mam teraz czasu ;/ Mam nadzieję, że uda Ci się to poprawić :)

Pozdrawiam,
Mrowqa
P-35139
Dark
Temat założony przez niniejszego użytkownika
» 2011-07-01 21:20:49
Dzięki za pomoc, zniwelowałem warningi i działa bez błędu :D
P-35140
1 2 « 3 »
Poprzednia strona Strona 3 z 3