Cześć, to pytanie będzie spore, zacznę od pierwszej kwestii. Rozbudowałem swój prostu programik w c++, kompilator zwraca błąd jump to case lebel, szczerze nie rozumiem co ma na myśli, żadna zmiana się raczej nie powtarza. Proszę nie bić za krzaczki zamiast polskich znaków. :P
Błąd wystepuję w case 4, bez niego wszystko działa, natomiast gdy dodam opcję default:{...}break; program też się wysypuję.
#include <cstdlib>
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
int a,b,c,i,j,k;
char liczba;
double delta, x0, x1, x2;
cout<<"Podaj liczbe: ";
cin>>liczba;
switch(liczba){
case '1':
cout<<"Podaj A"<<endl;
cin>>a;
cout<<"Podaj B"<<endl;
cin>>b;
cout<<"Podaj C"<<endl;
cin>>c;
delta=b*b-4*a*c;
if(delta<0){
cout<<"Delta mniejsza ni� 0 - "<<delta<<endl;}
else if(delta==0){
x0=-b/2*a;
cout<<"Delta r�wna 0 - x0="<<x0<<endl;}
if(delta>0){
x1=-b-sqrt(delta)/2*a;
x2=-b+sqrt(delta)/2*a;
cout<<"x1="<<x1<<" x2="<<x2<<endl;
cout<<delta<<endl;
}
break;
case '2':
cout<<"Wpisz 1 aby zacz��: "<<endl;
cin>>j;
if(j==1){
for(k=0;i>=j;k++){
cout<<k+k+k+k+k+k+k*k<<endl; }
}
else{
cout<<"b��d";
}
break;
case '3':
int q=247;
cout<<"q = "<<q<<endl;
cout<<"Konwersja system�w liczbowych:"<<endl;
cout<<"szesnatstkowy = "<<hex<<q<<endl;
cout<<"dziesi�tny = "<<dec<<q<<endl;
cout<<"szesnastkowy = "<<setfill('0')<<setw(6)<<hex<<q<<endl;
cout<<"�smekowy = "<<setfill('*')<<setw(10)<<oct<<q<<endl;
break;
case '4':
double x=22.111111111, y=3.5555555555555, w, z;
cout<<"Podaj liczb� rzeczywist�: ";
cin>>w;
cout<<"\nx = "<<setw(10)<<x<<endl;
cout<<"\ny = "<<setfill('0')<<setw(12)<<y<<endl;
cout<<"\ny = "<<setprecision(8)<<setfill('0')<<setw(12)<<y<<endl;
cout<<"\nw = "<<setfill('*')<<setw(15)<<w<<endl;
cout<<"\nx + y + w = "<<setprecision(9)<<x+y+w<<endl;
cout<<"\nx * y = "<<setprecision(8)<<x*y<<endl;
break;
}
system("PAUSE");
return 0;
}
Drugie zagadnienie dotyczy samej teorii c++, za tydzień mam kartkówkę z funkcji poniższych. W tabelce brakuję mi paru pól, ale bardziej mnie dręczy pytanie... Można to jakoś przetłumaczyć na język polski? Zależy mi na nauce c++, sporo w nim grzebie, jednakże po prostu nie rozumiem poniższych definicji, a w sieci nie potrafię znaleźć prostego przełożenia.
Funkcja
|
Opis funkcji
|
Przykładowe zastosowanie funkcji
|
Znaczenie
|
Int get(void)
|
Pobiera następny znak ze strumienia
|
Char a;
A = cin.get()
|
Wczytywanie z klawiatury wartości zmiennej a, równoważne: cin>>a;
|
Get(char &z)
|
Pobiera ze strumienia znak i przypisuje go zmiennej z.
|
Char a;
Cin.get(a);
|
Wczytywanie z klawiatury wartości zmiennej a, równoważne: cin>>a
|
Cin.get();
|
Wymuszenie naciśnięcia klawisza Enter;
|
Get(char *tekst, int dl, char k=’\n’)
|
Odczytuję znaki ze strumienia do zmiennej tekst do momentu osiągnięcia znaku k ( znak ten nie jest odczytywany ), odczytania dl-1 znaków lub odczytania wszystkich znaków
|
Char s[50];
Cin.get(s.sizeof(s)),’a);
|
Wczytywanie z klawiatury do zmiennej s znaków, aż do pojawienia się znaku “a”, odczytyania 49 znaków lub odczytania wszystkich znaków.
|
Cin.get(s,24);
|
Wczytywanie z klawiatury do zmiennej s znaków aż do pojawienia się znaku specjalnego ‘\n’ ( domyślnie )
|
Getline(char *tekst, int dl, char k=’\n’)
|
Odczytuję znaki ze strumienia ( również spacje ) do zmiennej tekst do momentu osiągnięcia znaku k * znak ten jest pobierany ze strumienia, ale nie jest dopisywany do zmiennej tekst), odczytania dl-1 znaków lub odczytania wszystkich znaków.
|
Char s[50];
Cin.getline(s,40,’c’);
|
Wczytywanie z klawiatury zmiennej s znaków, aż do pojawienia się znaku “c” lub odzytania 39 znaków.
|
Cin.getline(s, sizeof(s))
|
Wczytywanie z klawiatury do zmiennej s wszystkich znaków ( maksymalna długość łańcucha wynosi 256 znaków )
|
Cin.getline(s,50)
|
Wczytywanie z klawiatury do zmiennej s znaków, aż do odczytania 49 znaków
|
String s1; getline(cin, s1);
|
Wczytywanie z klawiatury do zmiennej s1 wszystkich znaków ( maksymalan długośc łauńcucha wynosi 256 znaków)
|
Ignore()
|
Powoduję pominięcie znaków
|
Cin.ignore();
|
Znaków znajdujące się w strumieniu wejściowym zostają zignorowane.
|
Put(char &z)
|
Wstawia do strumienia znak z
|
Char a=’p’;
Cout.put(a);
|
Wypisanie na ekranie wartości zmiennej a, równoważne cout<<a;
|