Witam.
Próbowałem zrobić prosty kalkulator ze wskaźnikami, ale jeszcze nie za bardzo ogarnąłem temat. Program się włącza ale nie przelicza wszystkiego jak powinien. Prawdopodbnie błędy są w voidach ale nie potrafię ich poprawić :(
#include <iostream>
using namespace std;
void dodawanie(int *tab, int &ile){
float suma=0;
for(int i=0;i<ile;i++)
{
suma+=*tab;
tab++;
}
cout<<"Suma wynosi: "<<suma;
}
void odejmowanie(int *tab, int &ile){
float odejm=0;
for(int i=0;i<ile;i++)
{
odejm=odejm-*tab;
tab++;
}
cout<<"Odejmowanie wynosi: "<<odejm;
}
void mnozenie(int *tab, int &ile){
float mnoz=0;
for(int i=0;i<ile;i++)
{
mnoz=mnoz * *tab;
tab++;
}
cout<<"Mnozenie wynosi: "<<mnoz;
}
void dzielenie(int *tab, int &ile){
float dziel=0;
for(int i=0;i<ile;i++)
{
dziel=dziel / *tab;
tab++;
}
cout<<"Dzielenie wynosi: "<<dziel;
}
int main()
{
int ile,wybor;
cout<<"------------------"<<endl;
cout<<"------------------"<<endl;
cout<<"-------MENU-------"<<endl;
cout<<"---1.Dodawanie----"<<endl;
cout<<"---2.Odejmowanie--"<<endl;
cout<<"---3.Mnozenie-----"<<endl;
cout<<"---4.Dzielenie----"<<endl;
cout<<"------------------"<<endl;
cout<<"------------------"<<endl;
cout<<"Podaj dowolna ilosc liczb: ";
cin>>ile;
int *tablica;
tablica=new int [ile];
for(int i=0;i<ile;i++)
{
cout<<"Podaj liczbe nr "<<i+1<<": ";
cin>>tablica[i];
}
cout<<"Podaj numer operacji, ktora chcesz wykonac: ";
cin>>wybor;
switch(wybor){
case 1:
dodawanie(tablica,ile);
break;
case 2:
odejmowanie(tablica,ile);
break;
case 3:
mnozenie(tablica,ile);
break;
case 4:
dzielenie(tablica,ile);
break;
default:
return wybor;
break;
}
delete [] tablica;
return 0;
}