Muszę zrobić kalkulator za pomocą funkcji main. Początek ma wyglądać tak na początku.
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
void dodawanie();
int odejmowanie();
void mnozenie(int a,int b);
int dzielenie (char,double);
Nie wiem za bardzo czy to dobry sposób, więc jeśli coś jest nie tak to inne propozycje także mogą być.
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
jak już chcesz tak to dajmy wszysktie parametrowe i podaje się 2 parametry do funkcji
Aha i pisałeś to od tak, nie zastanawiając się nad tym jak VOID może pobierać INT ?
jak INT może pobierać dzielenie ?
Poprawnie będzie tak :
float dodawanie (float a,float b); // bo ktoś może chcieć dodać np 2.3 + 2
itd wszystkkie przez float a w parametrze mogą mieć int liczbę albo float .
Rozwiązanie:
#include <iostream>
#include <conio.h>
using namespace std;
float dodawanie(float a,float b) {
return a+b;
}
float odejmowanie (float a,float b){
return a-b;
}
float mnozenie (float a,float b){
return a*b;
}
float dzielenie (float a,float b){
return a/b;
}
int main(){
float a,b;
cout << "Podaj a: "; cin >> a;
cout << "\nPodaj b: "; cin >> b;
cout << "\nWynik dodawania: " << dodawanie(a,b); // wywołanie funkcji
cout << "\nWynik odejmowania: " << odejmowanie(a,b);
cout << "\nWynik mnozenia: " << mnozenie(a,b);
cout << "\nWynik dzielenia: " << dzielenie(a,b);
getch();
return 0;
}
//Zrobiłem trochę inaczej, sprawdzałem i działa
// Wpisujesz całe działanie, np. "6+2", czy "7/5"
#include<iostream>
#include<sstream>
using namespace std;
int main(){
string x;
cout << "Wpisz dzialnie..." << endl;
getline(cin, x);
string as = "", bs = "", d;
int l = x.size();
int i = 0;
for(; i < l; i++){
if(x[i] == ' '){
continue;
}
if(x[i] == '*'){
i++;
if(x[i+1] == ' '){
i++;
}
d='*';
break;
}
if(x[i] == '/'){
i++;
if(x[i+1] == ' '){
i++;
}
d='/';
break;
}
if(x[i] == '+'){
i++;
if(x[i+1] == ' '){
i++;
}
d='+';
break;
}
if(x[i] == '-'){
i++;
if(x[i+1] == ' '){
i++;
}
d='-';
break;
}
as += x[i];
}
for(; i < l; i++){
if(x[i] == ' '){
break;
}
if(x[i] == '='){
break;
}
bs+=x[i];
}
double a, b;
stringstream s1, s2;
s1 << as;
s2 << bs;
s1 >> a;
s2 >> b;
if(d == "+"){
cout << a << "+" << b << "= " << a+b << endl;
}
else{
if(d == "-"){
cout << a << "-" << b << "= " << a-b << endl;
}
else{
if(d == "*"){
cout << a << "*" << b << "= " << a*b << endl;
}
else{
if(d == "/"){
cout << a << "/" << b << "= " << a/b << endl;
}
else{
cout << "Error occured :(" << endl;
}
}
}
}
}