[SOLVED]NetBeans początkowe kompilacje C++

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
holkov
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 12 paź 2010, 19:26
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86

[SOLVED]NetBeans początkowe kompilacje C++

Post autor: holkov »

Witam otóż sprawa wygląda tak że jeśli napisze program:

Kod: Zaznacz cały

#include <iostream>
using namespace std;
main()
{
    int
            a = 5,
            b = 5,
            c = 5,
            d = 5;
     cout << "A oto wartość poszczególnych wyrażeń\n"
            "(nie mylić ze zmiennymi)"
         cout << "++a = " << ++a << endl //w tej linijce wywala błąd! Why ?
              << "b++ = " << b++ << endl
              << "--c = " << --c << endl
              << "d-- = " << d-- << endl;
     cout << "po obliczeniu tych wyrażen, same\n"
             "zmienne maja wartosci"
         << "a = " << a << endl
         << "b = " << b << endl
         << "c = " << c << endl
         << "d = " << d << endl;
}
Przy próbie kompilacji pojawia się coś takiego (fragment z istotnych komunikatów):

Kod: Zaznacz cały

newfile.cpp: In function ‘int main()’:
newfile.cpp:12: error: expected ‘;’ before ‘cout’
make[2]: *** [build/Debug/GNU-Linux-x86/newfile.o] Błąd 1
make[1]: *** [.build-conf] Błąd 2
make: *** [.build-impl] Błąd 2

BUILD FAILED (exit value 2, total time: 986ms)
Kombinuje z tym już dosłownie jak "koń pod górę" i mi nie wychodzi ,próbowałem różnych kombinacji lecz nic konkretnego mi już nie przychodzi do głowy, jak się z tym uporać ? Proszę o pomoc w tej sprawie:idea:
Awatar użytkownika
kabanek
Zakręcona Traszka
Zakręcona Traszka
Posty: 592
Rejestracja: 23 cze 2009, 20:34
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Środowisko graficzne: Xfce
Architektura: x86_64
Kontakt:

Odp: NetBeans początkowe kompilacje C++

Post autor: kabanek »

zapomniałeś o średniku na przykład tutaj:

Kod: Zaznacz cały

"(nie mylić ze zmiennymi)";
Awatar użytkownika
ilu2112
Sędziwy Jeż
Sędziwy Jeż
Posty: 35
Rejestracja: 28 lut 2009, 20:31
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Łódź
Kontakt:

Odp: NetBeans początkowe kompilacje C++

Post autor: ilu2112 »

Po pierwsze - int main() zamiast main().
Po drugie - nie używaj endl do łamania wiersza. To jest jedna z najgorszych praktyk. Zamiast tego należy używać "\n".
Po trzecie -

Kod: Zaznacz cały

     cout << "A oto wartość poszczególnych wyrażeń\n"
            "(nie mylić ze zmiennymi)"
Tutaj brakuje średnika. Proponuję czytać dokładnie informacje o błędach. Twój błąd mówi, że przed cout'em w linijce 12 brakuje średnika. I patrz, linijki 10-11 zawierają ten właśnie błąd :)
Awatar użytkownika
holkov
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 12 paź 2010, 19:26
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: NetBeans początkowe kompilacje C++

Post autor: holkov »

Kod: Zaznacz cały

#include <iostream>
using namespace std;
int main()
{
    int
            a = 5,
            b = 5,
            c = 5,
            d = 5;
     cout << "A oto wartość poszczególnych wyrażeń\n";
            "(nie mylić ze zmiennymi)\n";
     cout     << "++a = " << ++a << "\n" //w tej linijce wywala błąd! Why ?
              << "b++ = " << b++ << "\n"
              << "--c = " << --c << "\n"
              << "d-- = " << d-- << "\n";
     cout << "po obliczeniu tych wyrażen, same\n";
             "zmienne maja wartosci\n";
         << "a = " << a << "\n" //error: expected primary-expression before ‘<<’ token
         << "b = " << b << "\n"
         << "c = " << c << "\n"
         << "d = " << d << "\n";
}
Teraz chyba średników nie brakuje ,ale teraz jak widać jest coś nie tak przy linijce 18 ,próbowałem zrobić linijke wyżej nawet bez "\n" ale nie zmienia to nic
Awatar użytkownika
JSokol
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 18 mar 2010, 10:57
Płeć: Mężczyzna
Wersja Ubuntu: 14.04
Środowisko graficzne: Unity
Architektura: x86_64
Lokalizacja: Down under
Kontakt:

Odp: NetBeans początkowe kompilacje C++

Post autor: JSokol »

Teraz musisz dopisać "cout " przed "<< "a = "" w tejże linijce. Nie można tego dołączyć pod "poprzedniego cout'a", bo tamta komenda jest zakończona średnikiem.
Co więcej, linijka wyżej, czyli "zmienne maja wartosci\n"; też nie ma swojego cout'a. Więc tam także dopisz: "cout << "

Ostatecznie cały ten fragment po poprawkach:

Kod: Zaznacz cały

cout << "po obliczeniu tych wyrażen, same\n";
cout << "zmienne maja wartosci\n";
cout << "a = " << a << "\n"
       << "b = " << b << "\n"
       << "c = " << c << "\n"
       << "d = " << d << "\n";
Awatar użytkownika
holkov
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 12 paź 2010, 19:26
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: NetBeans początkowe kompilacje C++

Post autor: holkov »

Hmm też na to wpadłem ,lecz troche niżej zrobiło sie trochę czerwono:cry::

Kod: Zaznacz cały

build/Debug/GNU-Linux-x86/newfile.o: In function `main':
/home/holkov/NetBeansProjects/aplikacja one/newfile.cpp:4: multiple definition of `main'
build/Debug/GNU-Linux-x86/main.o:/home/holkov/NetBeansProjects/aplikacja one/main.cpp:15: first defined here
build/Debug/GNU-Linux-x86/newfile1.o: In function `main':
/home/holkov/NetBeansProjects/aplikacja one/newfile1.cpp:7: multiple definition of `main'
build/Debug/GNU-Linux-x86/main.o:/home/holkov/NetBeansProjects/aplikacja one/main.cpp:15: first defined here
collect2: ld returned 1 exit status
make[2]: *** [dist/Debug/GNU-Linux-x86/aplikacja_one] Błąd 1
make[1]: *** [.build-conf] Błąd 2
make: *** [.build-impl] Błąd 2
Awatar użytkownika
JSokol
Sędziwy Jeż
Sędziwy Jeż
Posty: 67
Rejestracja: 18 mar 2010, 10:57
Płeć: Mężczyzna
Wersja Ubuntu: 14.04
Środowisko graficzne: Unity
Architektura: x86_64
Lokalizacja: Down under
Kontakt:

Odp: NetBeans początkowe kompilacje C++

Post autor: JSokol »

Nie możesz w tym samym projekcie dwa razy definiować funkcji main, nawet jeżeli są w innych plikach.
Rozumiem, że utworzyłeś sobie dodatkowy plik żeby na nim eksperymentować, dlatego albo go usuń z projektu, albo zakomentuj całą jego zawartość tak, żeby w tym projekcie tylko w jednym pliku pojawiała się definicja funkcji main.
Awatar użytkownika
holkov
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 12 paź 2010, 19:26
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: NetBeans początkowe kompilacje C++

Post autor: holkov »

Baaardzo Ci dziekuję ,kompletnie zapomniałem właśnie o tym drugim projekcie i stąd ten ambaras ,teraz dograłem wszystko jak należy i działa super :)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 31 gości