Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ - Problem z c++ (Visual C++ 2010 express)

xmaksio 25 Wrz 2012 20:24 2058 19
  • #1 25 Wrz 2012 20:24
    xmaksio
    Poziom 10  

    Witam, dopiero się uczę programowania w języku c++ (uczę się z książki "Od zera do gier kodera" - Kuczmarskiego) i wyskakują mi jakieś błędy.
    Mianowicie jednym z nich jest taki:
    C++ - Problem z c++ (Visual C++ 2010 express)

    Nie mam pojęcia co z tym zrobic...

    A drugi z nich to :

    C++ - Problem z c++ (Visual C++ 2010 express)

    Bardzo bym prosił o pomoc i z góry dziękuję:)

    0 19
  • #4 25 Wrz 2012 21:08
    tronics
    Poziom 36  

    @Defice - nie tyle brakuje, co definicja max jest wewnątrz main. Ilość klamr otwierających jest równa zamykającym. Jak się ustawi odpowiedni poziom wyświetlania warningów/errorów to olbrzymią większość błędów, niechlujnego stylu itp. można wyłapać.

    0
  • #5 25 Wrz 2012 21:10
    gaskoin
    Poziom 38  

    No i kod, który napisałeś nie ma zbyt wiele wspólnego z c++ :)

    0
  • #6 26 Wrz 2012 13:46
    xmaksio
    Poziom 10  

    Czyli co mam zrobic z tym 1?

    0
  • #7 26 Wrz 2012 13:53
    gaskoin
    Poziom 38  

    Dżyszla napisał:
    1. Nie można definiować funkcji lokalnych (funkcja w funkcji)


    Wywalić funkcję max przed/za maina.

    0
  • #8 26 Wrz 2012 14:44
    xmaksio
    Poziom 10  

    A mógłby mi ktos napisac cały kod do 2?
    Tzn zeby zaokrąglało funkcją round bo cos zle robie i nie działa;/

    0
  • #9 26 Wrz 2012 18:43
    Defice
    Poziom 25  

    Wystarczy taka funkcja:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Albo to co wcześniej napisałem, to jest bardziej intuicyjne rozwiązanie

    0
  • #10 26 Wrz 2012 19:13
    xmaksio
    Poziom 10  

    to tez pewnie działa ale mi chodzi zeby nie kombinowac i napisac odrazu z funkcji round

    0
  • #11 26 Wrz 2012 19:16
    Defice
    Poziom 25  

    Napisałem już, że w VC++ nie ma tej funkcji. Są 2:

    -ceil(x) - zaokrągla w górę,
    -floor(x) - zaokrągla w dół,

    Trzeba to sobie samemu napisać.

    Książkę którą przerabiasz pisano pewnie pod inny kompilator.

    0
  • #12 26 Wrz 2012 19:20
    xmaksio
    Poziom 10  

    Aha, sorki nie zauważyłem :)
    Własnie o to chodzi ze ten kompilator wziąłem z tej ksiązki...

    A mógłbyś napsać mi od początku ten kod?
    Bo ja jak próbuje go dokonczyc (tzn zeby program prosił o podanie liczby no i pózniej wynik podawał) to mi błąd wyskakuje. Ja juz nie ogarniam tego;/

    0
  • #13 26 Wrz 2012 19:22
    Defice
    Poziom 25  

    Oto cały działający kod:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #14 26 Wrz 2012 19:33
    xmaksio
    Poziom 10  

    Teraz działa ale musiałem usunąc w linijce
    int _tmain(int argc, _TCHAR* argv[]) to wszystko co jest w nawiasach bo _TCHAR był podkreslony i pisało " idetifier "_TCHAR" is undefined"

    a takze #include "stdafx.h" bo mi wyskakiwało "cannot open source file "#include stdafx.h"

    A w którym miejscu mam wstawic getch() zeby mi od razu nie znikało ? bo jakos wszedzie znika...

    0
  • #15 26 Wrz 2012 19:43
    Defice
    Poziom 25  

    Przed return.

    Możesz dać też :

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #16 26 Wrz 2012 19:46
    xmaksio
    Poziom 10  

    a wiesz czemu _TCHAR był podkreslony i pisało " idetifier "_TCHAR" is undefined" ? albo co z tą biblioteką?

    0
  • Pomocny post
    #17 26 Wrz 2012 19:50
    Defice
    Poziom 25  

    Nie jestem dokładnie pewien, bo pracuje na wersji 2008.
    Na dzień dobry po utworzeniu nowego projektu dostajemy:

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Ty z tego co widziałem, funkcję main miałeś jako void. Tak utworzył ją kompilator ? Czy sam pisałeś ją od zera ?

    0
  • #18 26 Wrz 2012 19:53
    xmaksio
    Poziom 10  

    od zera pisałem

    0
  • Pomocny post
    #19 26 Wrz 2012 19:58
    Defice
    Poziom 25  

    No więc masz odpowiedź. Warto zajrzeć do standardowego szablonu i uzupełniać go stopniowo o potrzebne funkcje. W tym wypadku takiej składni maina, możesz użyć dzięki "stdafx.h" jeśli na początku go nie ma, to kompilator wyrzuca błąd, że "is undefined" co oznacza, że brak na początku #include "stdafx.h".

    Innymi słowy, kompilator nie wie co to znaczy i że nie ma skąd pobrać takiej wiedzy.

    0
  • #20 26 Wrz 2012 20:01
    xmaksio
    Poziom 10  

    Aha , dobra
    Dzięki za pomoc :)
    To nie był pierwszy problem i coś mi sie wydaje że nie będzie ostatni więc pewnie jeszcze nieraz będe tu pisał:p

    0