ďťż

Ładny brzuch

A, wiec pisze maly programik, ktorego zadaniem bedzie obliczanie skanowanie itp.. Otoz mam maly problem z jednym casem, jak ponizej mozna zauwazyc, w opcjach kalkulatora, chce, aby pojawialy sie opcje, az do nacisniecia przycisku (5) jednak celowo umiescilem while na dole, aby pokazywaly sie opcje , jednak nie chce mi to dzialac i wyskakuje blad...

P.S Zeby nie zakladac kolejnego topicu chcialbym wziasc sie za nauke obslugi C++ zwiazanych z internetem/polaczeniami, czy zna ktos jakis tutorial od podstaw na ten temat ? NAJLEPIEJ NIE OBIEKTOWO
Pozdrawiam
#include <iostream> #include <conio.h> #include <math.h> #include <stdio.h> using namespace std; int main() { int nOpcja; int kalkulator; do { cout<<"Wybierz opcję: "<<endl; cout<<"----------------------"<<endl; cout<<"1.Radio RMF FM"<<endl; cout<<"2.IP Skaner"<<endl; cout<<"3.IP Location info"<<endl; cout<<"4.Prosty Kalkulator"<<endl; cout<<"5.Stworz dokument .txt"<<endl; cout<<"6.Wyjdz"<<endl; cin>>nOpcja; switch (nOpcja) { case 1: //no available for now break; case 2: //no available for now break; case 3: //no available for now case 4: do { cout<<"1. Dodawanie"; cout<<"2. Odejmowanie"; cout<<"3. Dzielenie"; cout<<"4. Mnożenie"; cout<<"5. Wyjdz"; cin>>kalkulator; switch (kalkulator) { int Liczba1, Liczba2; case 1 : cout<<Liczba1<<"+"<<Liczba2<<"="<<Liczba1 + Liczba2; case 2 : cout<<"Niedokonczone"; break; case 3: // not available break; case 4: //not available break; default : cout<<"Nieznana opcja"; break; }while (kalkulator != 5); }while (nOpcja != 6); }



a jaki blad wywala ?

A jak myslisz o nauce C++ NIE OBIEKTOWO - to lepiej juz przestan zajmowac sie tematem programowania.
Użytkownik helios128 edytował ten post 28 sierpień 2007, 09:27
Bo bałagan w zamknięciach nawiasów klamrowych masz. Jakbyś mniej bałaganił z wcięciami to byś widział od razu ;)

@up:
$ g++ calc.cpp -ocalc.exe calc.cpp:2:19: conio.h: No such file or directory calc.cpp:70:2: warning: no newline at end of file calc.cpp: In function `int main()': calc.cpp:70: error: expected `}' at end of input calc.cpp:70: error: expected `while' at end of input calc.cpp:70: error: expected `(' at end of input calc.cpp:70: error: expected primary-expression at end of input calc.cpp:70: error: expected `)' at end of input calc.cpp:70: error: expected `;' at end of input calc.cpp:70: error: expected `}' at end of input
Użytkownik bryn edytował ten post 28 sierpień 2007, 09:27
Hello bryn, moglbys mi pokazac, gdzie tego nawiasu nie mam ? Chyba jestem slepy, aha btwjak wedlug Ciebie powinienem rozmiescic ten kod ?

P.S Przypominam o jakims kursie od podstaw programowania w C++ jezeli chodzi o strone internetu, typu polaczenia, clienty-socety itp.. Od podstaw prosze :)

Dziekuje, i pozdrawiam



zainstaluj sobie visual studio, nawet jak nie bedziesz umial sie nim poslugiwac to sam edytor jest tak wygodny ze warto :) odnalezienie tego typu bledow w nim to kwestia sekund
#include <iostream> #include <conio.h> #include <math.h> #include <stdio.h> using namespace std; int nOpcja; int kalkulator; int main() { do { cout<<"Wybierz opcję: "<<endl; cout<<"----------------------"<<endl; cout<<"1.Radio RMF FM"<<endl; cout<<"2.IP Skaner"<<endl; cout<<"3.IP Location info"<<endl; cout<<"4.Prosty Kalkulator"<<endl; cout<<"5.Stworz dokument .txt"<<endl; cout<<"6.Wyjdz"<<endl; cin>>nOpcja; switch (nOpcja) { case 1: //no available for now break; case 2: //no available for now break; case 3: //no available for now case 4: do { cout<<"1. Dodawanie"; cout<<"2. Odejmowanie"; cout<<"3. Dzielenie"; cout<<"4. Mnożenie"; cout<<"5. Wyjdz"; cin>>kalkulator; switch (kalkulator) { int Liczba1, Liczba2; case 1 : cout<<Liczba1<<"+"<<Liczba2<<"="<<Liczba1 + Liczba2; case 2 : cout<<"Niedokonczone"; break; case 3: // not available break; case 4: //not available break; default : cout<<"Nieznana opcja"; break; } while (kalkulator != 5); } /!!!!! }while (nOpcja != 6); } /!!!!! }

nie probowalem nawet kompilowac, ale nawiasy sie juz zgadzaja ;)
Użytkownik Deadeye edytował ten post 28 sierpień 2007, 23:47

Hello bryn, moglbys mi pokazac, gdzie tego nawiasu nie mam ? Chyba jestem slepy, aha btwjak wedlug Ciebie powinienem rozmiescic ten kod ?

P.S Przypominam o jakims kursie od podstaw programowania w C++ jezeli chodzi o strone internetu, typu polaczenia, clienty-socety itp.. Od podstaw prosze :)

Dziekuje, i pozdrawiam

No to przemyj oczy, prześpij się i sprawdź jeszcze raz. Jak nie widzisz, to klamra po klamrze paruj! Błąd jest bardzo widoczny. A jeżeli chodzi o układ kodu, to jest on bardzo nie czytelny. Ja preferuję:
int main () { int i; i = 10; if (i == 5) { coś tam } else { lolo! }; return 0; };
Połączenia, kurs? Ja tam uwielbiam zabawę socketami :P. Także tutaj polecę man socket (może przydało by się sprecyzować platformę? :> Więc dla windy na google bo mana nie ma (albo na msdn) :P).
// literówka

// @Down: Ha, widze że nie tylko ja się do tabów przekonałem ;).
Użytkownik Ali240 edytował ten post 29 sierpień 2007, 09:56

Hello bryn, moglbys mi pokazac, gdzie tego nawiasu nie mam ? Chyba jestem slepy, aha btwjak wedlug Ciebie powinienem rozmiescic ten kod ?

Dziekuje, i pozdrawiam

Każdy szanujący się kompilator poda Ci linijkę w której zrobiłeśÂ błąd, i powie dokładnie jaki: 
calc.cpp: In function `int main()': (calc.cpp: W funkcji `int main()':)
calc.cpp:70: error: expected `}' at end of input (calc.cpp:70: błąd: oczekiwano `}' na końcu wejścia)

Teraz wystarczy Ci porządny edytor, który ma numerowanie linii - Deadeye polecałÂ Visuala, ja do prostych zadań wolę Notepad++. Przy okazji, takie edytory mają  ten przydatny bajer, że kiedy kursorem najedziesz na nawias, to on od razu na czerwono podświetla jego parę:
http://imagebox.pl/i...20070006par.jpg
dzięki temu pogubienie się w nawiasach jest naprawdę trudne ;P

Jeśli chodzi o graficzne rozmieszczenie kodu, to musisz sobie narzucić kilka zasad i absolutnie się ich trzymać - ja na przykład:
- wszystkie wcięcia robię Tabem (spacja to złoooo! :devil: )
- każda para nawiasów klamrowych oznacza jeden tab więcej
- każdy nawias klamrowy zajmuje całą linię (nigdy "for(int i=0;i<n;++i {")
- sekcje kodu odpowiedzialne za różne zadania oddzielam od siebie pojedynczą wolną linią

Twój kalkulator wg moich zasad wyglądałby tak:

#include <iostream> #include <conio.h> #include <math.h> #include <stdio.h> using namespace std; int nOpcja; int kalkulator; int main() { do { cout << "Wybierz opcję: " << endl; cout << "----------------------" << endl; cout << "1.Radio RMF FM" << endl; cout << "2.IP Skaner" << endl; cout << "3.IP Location info" << endl; cout << "4.Prosty Kalkulator" << endl; cout << "5.Stworz dokument .txt" << endl; cout << "6.Wyjdz" << endl; cin >> nOpcja; switch (nOpcja) { case 1: //no available for now break; case 2: //no available for now break; case 3: //no available for now case 4: do { cout << "1. Dodawanie"; cout << "2. Odejmowanie"; cout << "3. Dzielenie"; cout << "4. Mnożenie"; cout << "5. Wyjdz"; cin >> kalkulator; switch (kalkulator) { int Liczba1, Liczba2; case 1 : cout << Liczba1 << "+" << Liczba2 << "=" << Liczba1+Liczba2; break; //czemu tu tego nie było, tak BTW? ;P case 2 : cout<<"Niedokonczone"; break; case 3: // not available break; case 4: //not available break; default : cout << "Nieznana opcja"; break; } } while (kalkulator != 5); } } while (nOpcja != 6); }
Użytkownik bryn edytował ten post 29 sierpień 2007, 08:19
co to za kompilator ??

g++, działa pod linuksem albo w cygwinie

imo najlepszy kompilator na windows to Visual Studio :)
Użytkownik Jackoi_ edytował ten post 30 sierpień 2007, 12:07

Najlepszy kompilator na windows to Visual Studio
Na końcu dopisuj "moim zdaniem", ok? Bo inaczej kolejna wojna się zrobi :P.
Ja tam używałem djgpp (krótko bo c/c++ nie znam za dobrze jak na razie) i nie widziałem w nim żadnych uchybień...
Użytkownik Ali240 edytował ten post 30 sierpień 2007, 12:07
no ok Panowie, a jak to skompilwoac pod linuxem ? Mam cos takiego jak "KDevelop C/C++" w srodku sie pisze kod bomba wlasnie odgradza ladnie kod itp..., ale szukajac w opcjach nie ma takich opcji jak kompiluj/uruchom ? Moze sie myle.. Jezeli jednak tak jest jak skompilowac i odpalic program w terminalu najlepiej z czystego ekranu ?

W katalogu z plikiem źródłowym wpisz:
g++ plik.cpp -o nazwa
A uruchamiaj jak Ci się już podoba... Choćby
clear && ./nazwa

root@darkstar:~/Desktop/projekt# dir Untitled1.cpp console.cbp console.exe main.cpp Untitled1.exe console.depend console.layout root@darkstar:~/Desktop/projekt# g++ Untitled1.cpp -o Untitled Untitled1.cpp:2:19: conio.h: No such file or directory root@darkstar:~/Desktop/projekt# dir Untitled1.cpp console.cbp console.exe main.cpp Untitled1.exe console.depend console.layout root@darkstar:~/Desktop/projekt# clear&& >; -bash: syntax error near unexpected token `;' root@darkstar:~/Desktop/projekt# ./Untitled -bash: ./Untitled: No such file or directory root@darkstar:~/Desktop/projekt# ./Untitled.cpp -bash: ./Untitled.cpp: No such file or directory root@darkstar:~/Desktop/projekt#

Usuń z pliku #include <conio.h>. Na linuksie nie ma tego pliku nagłówkowego (na siłę, można poszukać na sourceforge.net), ponieważ został on zrobiony dla systemów MS.
Użytkownik neosnooze edytował ten post 31 sierpień 2007, 08:59
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •