StrusDoggyDogg Temat założony przez niniejszego użytkownika  | 
error: jump to case label » 2008-07-12 19:54:02 Witam! Jestem nowy, programowania w C++ ucze sie od 3-4dni. Chcialem zrobic jakis maly program jako podsumowanie tego co dotychczas sie nauczylem. Niestety podczas kompilacji wyskakuje mi blad ktorego wogole nie rozumiem: http://www.fotosik.pl/pokaz_obrazek/7e169e5fa2db1e93.htmlProsze o pomoc bo naprawde zalezy mi by ten program zadzialal!  | 
 | 
lynx  | 
» 2008-07-12 20:57:23 A czy mógłbyś zamieścić cały kod programu, bo tak to nie zabardzo co widać.
  Aha spytam jeszcze czy masz tam gdzieś funkcję switch(),  i czy zadeklarowałeś zmeinną esc (  esc=getch();  )
   | 
 | 
StrusDoggyDogg Temat założony przez niniejszego użytkownika  | 
» 2008-07-12 21:01:39 Oto caly kod programu: #include <iostream> #include <conio.h> #include "console.ddt" using namespace ddt::console; using namespace std; int main() {     unsigned char esc;          do     {         cout << "Co chcesz zrobic:" << endl;         cout << "[1]Policzyc srednia" << endl;         cout << "[2]Wykonac jakies dzialanie na dwoch liczbach" << endl;         cout << "[3]Policzyc ilosc znakow w danym wyrazie/zdaniu" << endl;         int wybor;         cout << "Wybieram: ";         cin >> wybor;         clrscr();         switch( wybor )         {         case 1:             cout << "OK" << endl;             cout << "Aby zakonczyc wprowadzanie liczb i obliczyc srednia w miejscu liczby wpisz 0." << endl;             int ilosc = 0;             float ocena;             float srednia = 0;             do             {                 cout << "Podaj liczbe nr. " << ilosc + 1 << " (lub 0 by zakonczyc wprowadzanie): ";                 cin >> ocena;                 if( ocena > 0 )                 {                     ilosc += 1;                     srednia += ocena;                 }             } while( ocena != 0 );                          if( ilosc > 0 ) srednia /= ilosc;                          cout << "Srednia tych " << ilosc << " liczb to: " << srednia << endl;             getch();             cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;             getch();             esc = getch();             break;         case 2:             cout << "OK" << endl;             float a;             float b;             cout << "Wprowadz pierwsza liczbe: ";             cin >> a;             cout << "Wprowadz druga liczbe: ";             cin >> b;             cout << "Co chcesz zrobic:" << endl             cout << "[1]Dodac liczby do siebie" << endl;             cout << "[2]Odjac liczby od siebie" << endl;             cout << "[3]Pomnozyc te liczby" << endl;             cout << "[4]Podzielic te liczby" << endl;             cout << "[5]Dodac do siebie liczby podniesione do kwadratu" << endl;             int wyb;             cout << "Wybieram: ";             cin >> wyb;             switch( wyb )             {             case 1:                 cout << "Wynik: " << a + b << endl;                 getch();                 break;             case 2:                 cout << "Wynik: " << a - b << endl;                 getch();                 break;             case 3:                 cout << "Wynik: " << a * b << endl;                 getch();                 break;             case 4:                 cout << "Wynik: " << a / b << endl;                 getch();                 break;             case 5:                 cout << "Wynik: " <<( a * a ) +( b * b ) << endl;                 getch();                 break;             }             cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;             getch();             esc = getch();             break;         case 3:             cout << "OK" << endl;             cout << "Aby zakonczyc wprowadzanie wyrazow wpisz 'koniec'." << endl;             char wyraz[ 200 ];             do             {                 cout << "Wprowadz wyraz lub zdanie: ";                 cin >> wyraz;                 int dlugosc = strlen( wyraz )                 cout << "Wprowadzony wyraz/zdanie ma " << dlugosc << " znakow" << endl;             } while( wyraz != koniec )                  cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;                          getch();             esc = getch();             break;             default: cout << "Mozliwosc nie istnieje." << endl;             cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;             getch();             esc = getch();         } while( esc != 27 );                  return( 0 );     }  | 
 | 
lynx  | 
xD » 2008-07-12 21:13:16 Liczby(litery też) w case musisz podać w ''. Czyli, np.   switch( znak ) {      case '1':          break;      case '2':          break; }
 
 
 Zamień i powiedz czy jest już ok.  | 
 | 
StrusDoggyDogg Temat założony przez niniejszego użytkownika  | 
» 2008-07-13 19:32:35 #include <iostream> #include <conio.h> #include "console.ddt" using namespace ddt::console; using namespace std; int main() {     unsigned char esc;          do     {         cout << "Co chcesz zrobic:" << endl;         cout << "[1]Policzyc srednia" << endl;         cout << "[2]Wykonac jakies dzialanie na dwoch liczbach" << endl;         cout << "[3]Policzyc ilosc znakow w danym wyrazie/zdaniu" << endl;         int wybor;         cout << "Wybieram: ";         cin >> wybor;         clrscr();         switch( wybor )         {         case '1':             cout << "OK" << endl;             cout << "Aby zakonczyc wprowadzanie liczb i obliczyc srednia w miejscu liczby wpisz 0." << endl;             int ilosc = 0;             float ocena;             float srednia = 0;             do             {                 cout << "Podaj liczbe nr. " << ilosc + 1 << " (lub 0 by zakonczyc wprowadzanie): ";                 cin >> ocena;                 if( ocena > 0 )                 {                     ilosc += 1;                     srednia += ocena;                 }             } while( ocena != 0 );                          if( ilosc > 0 ) srednia /= ilosc;                          cout << "Srednia tych " << ilosc << " liczb to: " << srednia << endl;             getch();             cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;             getch();             esc = getch();             break;         case '2':             cout << "OK" << endl;             float a;             float b;             cout << "Wprowadz pierwsza liczbe: ";             cin >> a;             cout << "Wprowadz druga liczbe: ";             cin >> b;             cout << "Co chcesz zrobic:" << endl             cout << "[1]Dodac liczby do siebie" << endl;             cout << "[2]Odjac liczby od siebie" << endl;             cout << "[3]Pomnozyc te liczby" << endl;             cout << "[4]Podzielic te liczby" << endl;             cout << "[5]Dodac do siebie liczby podniesione do kwadratu" << endl;             int wyb;             cout << "Wybieram: ";             cin >> wyb;             switch( wyb )             {             case '1':                 cout << "Wynik: " << a + b << endl;                 getch();                 break;             case '2':                 cout << "Wynik: " << a - b << endl;                 getch();                 break;             case '3':                 cout << "Wynik: " << a * b << endl;                 getch();                 break;             case '4':                 cout << "Wynik: " << a / b << endl;                 getch();                 break;             case '5':                 cout << "Wynik: " <<( a * a ) +( b * b ) << endl;                 getch();                 break;             }             cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;             getch();             esc = getch();             break;         case 3:             cout << "OK" << endl;             cout << "Aby zakonczyc wprowadzanie wyrazow wpisz 'koniec'." << endl;             char wyraz[ 200 ];             do             {                 cout << "Wprowadz wyraz lub zdanie: ";                 cin >> wyraz;                 int dlugosc = strlen( wyraz )                 cout << "Wprowadzony wyraz/zdanie ma " << dlugosc << " znakow" << endl;             } while( wyraz != koniec )                  cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;                          getch();             esc = getch();             break;             default: cout << "Mozliwosc nie istnieje." << endl;             cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;             getch();             esc = getch();         } while( esc != 27 );                  return( 0 );     }          Nadal przy case 2 pojawia sie problem:  jump to case label | 
 | 
DejaVu  | 
» 2008-07-13 20:21:06 Jeśli chcesz deklarować zmienne w case, musisz opakowywać je w bloki - poniżej masz sprawny Twój przykład #include <iostream> #include <conio.h> #include "console.ddt" using namespace ddt::console; using namespace std; int main() {     unsigned char esc;          do     {         cout << "Co chcesz zrobic:" << endl;         cout << "[1]Policzyc srednia" << endl;         cout << "[2]Wykonac jakies dzialanie na dwoch liczbach" << endl;         cout << "[3]Policzyc ilosc znakow w danym wyrazie/zdaniu" << endl;         int wybor;         cout << "Wybieram: ";         cin >> wybor;         clrscr();         switch( wybor )         {         case '1':             {                 cout << "OK" << endl;                 cout << "Aby zakonczyc wprowadzanie liczb i obliczyc srednia w miejscu liczby wpisz 0." << endl;                 int ilosc = 0;                 float ocena;                 float srednia = 0;                 do                 {                     cout << "Podaj liczbe nr. " << ilosc + 1 << " (lub 0 by zakonczyc wprowadzanie): ";                     cin >> ocena;                     if( ocena > 0 )                     {                         ilosc += 1;                         srednia += ocena;                     }                 } while( ocena != 0 );                                  if( ilosc > 0 ) srednia /= ilosc;                                  cout << "Srednia tych " << ilosc << " liczb to: " << srednia << endl;                 getch();                 cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;                 getch();                 esc = getch();             }             break;         case '2':             {                 cout << "OK" << endl;                 float a;                 float b;                 cout << "Wprowadz pierwsza liczbe: ";                 cin >> a;                 cout << "Wprowadz druga liczbe: ";                 cin >> b;                 cout << "Co chcesz zrobic:" << endl;                 cout << "[1]Dodac liczby do siebie" << endl;                 cout << "[2]Odjac liczby od siebie" << endl;                 cout << "[3]Pomnozyc te liczby" << endl;                 cout << "[4]Podzielic te liczby" << endl;                 cout << "[5]Dodac do siebie liczby podniesione do kwadratu" << endl;                 int wyb;                 cout << "Wybieram: ";                 cin >> wyb;                 switch( wyb )                 {                 case '1':                     cout << "Wynik: " << a + b << endl;                     getch();                     break;                 case '2':                     cout << "Wynik: " << a - b << endl;                     getch();                     break;                 case '3':                     cout << "Wynik: " << a * b << endl;                     getch();                     break;                 case '4':                     cout << "Wynik: " << a / b << endl;                     getch();                     break;                 case '5':                     cout << "Wynik: " <<( a * a ) +( b * b ) << endl;                     getch();                     break;                 }                 cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;                 getch();                 esc = getch();             }             break;         case 3:             {                 cout << "OK" << endl;                 cout << "Aby zakonczyc wprowadzanie wyrazow wpisz 'koniec'." << endl;                 char wyraz[ 200 ];                 do                 {                     cout << "Wprowadz wyraz lub zdanie: ";                     cin >> wyraz;                     int dlugosc = strlen( wyraz );                     cout << "Wprowadzony wyraz/zdanie ma " << dlugosc << " znakow" << endl;                 } while( strcmp( wyraz, "koniec" ) != 0 );                                  cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;                 getch();                 esc = getch();             }             break;             default: cout << "Mozliwosc nie istnieje." << endl;             cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;             getch();             esc = getch();         }     } while( esc != 27 );          return( 0 ); }
   | 
 | 
StrusDoggyDogg Temat założony przez niniejszego użytkownika  | 
» 2008-07-13 20:53:21 Dzieki wszystkim! Poprawilem jeszcze kilka rzeczy i program dziala. Moze nie jest to jakies dzielo sztuki ale w koncu ucze sie programowania dopiero od kilku dni ;-) Oto program: #include <iostream> #include <conio.h> #include "console.ddt" using namespace ddt::console; using namespace std; int main() {     unsigned char esc;          do     {         clrscr();         cout << "Co chcesz zrobic:" << endl;         cout << "[1]Policzyc srednia" << endl;         cout << "[2]Wykonac jakies dzialanie na dwoch liczbach" << endl;         cout << "[3]Policzyc ilosc znakow w danym wyrazie,ciagu liczb lub liter" << endl;         int wybor;         cout << "Wybieram: ";         cin >> wybor;         clrscr();         switch( wybor )         {         case 1:             {                 int kolorTla = 4;                  int kolorTekstu = 10;                  ddt::console::textattr( kolorTla * 16 + kolorTekstu );                 cout << "OK" << endl;                 cout << "Aby zakonczyc wprowadzanie liczb i obliczyc srednia w miejscu liczby wpisz 0." << endl;                 int ilosc = 0;                 float ocena;                 float srednia = 0;                 do                 {                     cout << "Podaj liczbe nr. " << ilosc + 1 << " (lub 0 by zakonczyc wprowadzanie): ";                     cin >> ocena;                     if( ocena > 0 )                     {                         ilosc += 1;                         srednia += ocena;                     }                 } while( ocena != 0 );                                  if( ilosc > 0 ) srednia /= ilosc;                                  cout << "Srednia tych " << ilosc << " liczb to: " << srednia << endl;                 getch();                 cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;                 esc = getch();             }             break;         case 2:             {                 int kolorTla = 2;                  int kolorTekstu = 11;                  ddt::console::textattr( kolorTla * 16 + kolorTekstu );                 cout << "OK" << endl;                 float a;                 float b;                 cout << "Wprowadz pierwsza liczbe: ";                 cin >> a;                 cout << "Wprowadz druga liczbe: ";                 cin >> b;                 cout << "Co chcesz zrobic:" << endl;                 cout << "[1]Dodac liczby do siebie" << endl;                 cout << "[2]Odjac liczby od siebie" << endl;                 cout << "[3]Pomnozyc te liczby" << endl;                 cout << "[4]Podzielic te liczby" << endl;                 cout << "[5]Dodac do siebie liczby podniesione do kwadratu" << endl;                 int wyb;                 cout << "Wybieram: ";                 cin >> wyb;                 switch( wyb )                 {                 case 1:                     cout << "Wynik: " << a + b << endl;                     getch();                     break;                 case 2:                     cout << "Wynik: " << a - b << endl;                     getch();                     break;                 case 3:                     cout << "Wynik: " << a * b << endl;                     getch();                     break;                 case 4:                     cout << "Wynik: " << a / b << endl;                     getch();                     break;                 case 5:                     cout << "Wynik: " <<( a * a ) +( b * b ) << endl;                     getch();                     break;                 }                 cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;                 esc = getch();             }             break;         case 3:             {                 int kolorTla = 6;                  int kolorTekstu = 15;                  ddt::console::textattr( kolorTla * 16 + kolorTekstu );                 cout << "OK" << endl;                 char wyraz[ 200 ];                 cout << "Wprowadz znaki: ";                 cin >> wyraz;                 int dlugosc = strlen( wyraz );                 cout << "Wprowadzono " << dlugosc << " znakow" << endl;                 cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;                 esc = getch();             }             break;             default: cout << "Mozliwosc nie istnieje." << endl;             cout << "Aby wyjsc z programu nacisnij [ESC], aby powtorzyc dowolna operacje nacisnij inny klawisz." << endl;             esc = getch();         }     } while( esc != 27 );          return( 0 ); }  | 
 | 
|  « 1 »  |