Strona 1 z 1
[SOLVED]NetBeans początkowe kompilacje C++
: 15 lis 2010, 01:09
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:
Odp: NetBeans początkowe kompilacje C++
: 15 lis 2010, 07:24
autor: kabanek
zapomniałeś o średniku na przykład tutaj:
Odp: NetBeans początkowe kompilacje C++
: 15 lis 2010, 07:28
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

Odp: NetBeans początkowe kompilacje C++
: 15 lis 2010, 11:25
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
Odp: NetBeans początkowe kompilacje C++
: 15 lis 2010, 11:43
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";
Odp: NetBeans początkowe kompilacje C++
: 15 lis 2010, 11:47
autor: holkov
Hmm też na to wpadłem ,lecz troche niżej zrobiło sie trochę czerwono

:
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
Odp: NetBeans początkowe kompilacje C++
: 15 lis 2010, 11:58
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.
Odp: NetBeans początkowe kompilacje C++
: 15 lis 2010, 12:03
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
