Funkcja dodaj, odejmij...

0

Witam

Mam problem, mam napisać program, dokładnie funkcje która po wpisaniu + doda mi dwie liczby tak samo z minusem...
Mam coś takiego i koniec, nie wiem co dalej :/

#include <iostream>

using namespace std;

int kalkulator(int d)
{
int a,b;     
char c;    

if (c='+')  (d=a+b);
             else (d=a-b);
             
return d;
}    
       
int main(){
   int a,b,d;
   char c;
   
   cin>>a;
   cin>>c;
   cin>>b;
   kalkulator(a,c,b);
   
   

getchar();
getchar();
          }
0

Proponuje zacząć od przeczytania dowolnego kursu języka w którym chcesz pisać...

#include <iostream>
 
using namespace std;
 
int kalkulator(int a,char dzialanie, int b)
{
  if (dzialanie=='+'){  
    return a+b;
  }else{
    return a-b;
  }
}    
 
int main(){
   int a,b;
   char c;
   cin>>a>>c>>b;
   cout<< kalkulator(a,c,b);
   cin.ignore();
   cin.get();
   return 0;
}
0

nie zbytnio Ci to coś kompilowało :) poprawiłem i działa

#include <iostream>
 
using namespace std;
 
int kalkulator(int a,char c, int b)
{
  if (c=='+'){  
    return a+b;}
  if (c=='-'){
    return a-b;}
  
}    
 
int main(){
   int a,b;
   char c;
   cin>>a>>c>>b;
   cout<< kalkulator(a,c,b);
   
   getchar();
   getchar();
}
 

ale i tak dzięki :)

0

Sam się nie kompilujesz.
http://ideone.com/Q9s6X
A te dwa ify to lekka przesada. Mogłeś dać tam chociaż else-if

0

Widzę, że Shalom był szybszy, ale widzę, że jesteś początkujący, poprawiłem ci również kod i wykomentowałem ważne rzeczy na które powinieneś zwrócić uwagę. Przeanalizuj ten kod:

#include <iostream>

using namespace std;

int kalkulator(char znak, int a, int b)
{
	int wynik;
	// nie musisz deklarować zmiennych, działasz na tych z parametrów     
 
	if (znak == '+')  // przy porównywaniu stosujesz ==
		wynik = a + b; // nawiasy nie potrzebne i możesz zastąpić takim czymś też:
	// return a + b;
	else if (znak == '-') // dla pewności sprawdzenie czy -, bo możesz wpisać * i też ci odejmie..
		wynik = a - b;
	// to samo tu, po prostu od razu zwróci ci wynik i nie musisz deklarować niepotrzebnej zmiennej
	// return a - b;
 
	return wynik; // tego nie musisz już dawać jeżeli wykorzystasz samo: return a + b przy if'ie
}  

int main()
{
	int a, b;
	char znak;
 
	// stosuj spacje po operatorach, przecinkach itd. - kod jest wtedy czytelniejszy
	cout << "Wpisz znak dzialania [- odejmowanie, + dodawanie]" << "\n"; // \n to znak końca linii, przechodzi do następnej
	cin >> znak;
	cout << "Wpisz skladnik 'a' dzialania" << "\n";
	cin >> a;
	cout << "Wpisz skladnik 'b' dzialania" << "\n";
	cin >> b;
	cout << kalkulator(znak, a, b); // dodając 'cout << ' wsadzasz wynik funkcji do strumienia wyjścia, czyli wypisujesz na ekran

	// aby nie stosować 2x 'getchar()', przed tym wpisz instrukcję: 'cin.ignore();'
	cin.ignore();
	getchar();
        return 0;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1