Witam, czy mógłby mi ktoś wytłumaczyć ten kod. Chodzi mi przede wszystkim o tablice dwu wymiarowe...
#include <iostream>
using namespace std;
float suma(float a,float b){
return a+b;
}
float roznica(float a,float b){
return a-b;
}
float iloczyn(float a,float b){
return a*b;
}
float iloraz(float a,float b){
return a/b;
}
int main(int argc, char** argv) {
float a=0,b=0;
char c;
int m=0, j=0, k=0;
float liczby[5][2];
char znaki[5];
while(true){
cout<< "Co chcesz wykonac(numer):"<<endl<<"1. Nowe dzialanie"<<endl<<"2. Wyswietl historie dzialan"<<endl;
cin>>m;
switch(m){
case 1:
cout<<"Podaj pierwsza liczbe: ";
cin>> a;
cout<<"Podaj druga liczbe: ";
cin>> b;
cout << "Podaj operacje jaka chcesz wykonac:(+,-,*,/)";
cin>>c;
switch(c){
case '+':
cout<<a<<c<<b<<"="<<suma(a,b)<<endl;
liczby[j][0]=a;
liczby[j][1]=b;
znaki[j]=c;
k+=1;
break;
case '-'
: cout<<a<<c<<b<<"="<<roznica(a,b)<<endl;
liczby[j][0]=a;
liczby[j][1]=b;
znaki[j]=c;
k+=1;
break;
case '*':
cout<<a<<c<<b<<"="<<iloczyn(a,b)<<endl;liczby[j][0]=a;
liczby[j][1]=b;
znaki[j]=c;
k+=1;
break;
case '/':
cout<<a<<c<<b<<"="<<iloraz(a,b)<<endl;
liczby[j][0]=a;
liczby[j][1]=b;
znaki[j]=c;
k+=1;
break;
}
j++;
if(j>5){
j=0;
}
break;
case 2:
if(k>=5){
for(int i=0;i<5;i++){
cout<<i+1<<". "<<liczby[i][0]<<znaki[i]<<liczby[i][1]<<"=";
switch(znaki[i]){
case'+':
cout<<suma(liczby[i][0],liczby[i][1])<<endl;
break;
case'-':
cout<<roznica(liczby[i][0],liczby[i][1])<<endl;
break;
case'*': cout<<iloczyn(liczby[i][0],liczby[i][1])<<endl;
break;
case'/': cout<<iloraz(liczby[i][0],liczby[i][1])<<endl;
break;
}
}
}
if(k<5){
for(int i=0;i<k;i++){
cout<<i+1<<". "<<liczby[i][0]<<znaki[i]<<liczby[i][1]<<"=";
switch(znaki[i]){
case'+':
cout<<suma(liczby[i][0],liczby[i][1])<<endl;
break;
case'-':
cout<<roznica(liczby[i][0],liczby[i][1])<<endl;
break;
case'*':
cout<<iloczyn(liczby[i][0],liczby[i][1])<<endl;
break;
case'/':
cout<<iloraz(liczby[i][0],liczby[i][1])<<endl;
break;
}
}
}
break;
}
m=0;
}
system("pause");
return 0;
}