Kalkulator w petli

0

Hej, Mam problem z wynikiem w programie. Chciałbym aby zliczał cyfry dzięki opcjom które znajda się pomiędzy nimi. Wyniki musza być zapisywane do tablicy.
Proszę o pomoc. Z góry dzięki.

#include <iostream>

using namespace std;

int main()

{
	char dzialanie[100];
	float tab[100];
	int n;

	float wynik = tab[0];

	do
	{
		cout << "Podaj ilosc dzialan: ";
		cin >> n;
	} while (n <= 1);


	for (int i = 1; i <= n; i++)

	{
		cout << "Podaj element nr " << i << " : ";
		cin >> tab[i];

	}
	for (int z = 1; z <= n - 1;z++)
	{
		cout << "Wrowadz dzialanie: ";
		cin >> dzialanie[z];

		switch (dzialanie[z])

		{
				case '+':
			{
				wynik = wynik + tab[z];
				break;
			}

				case '-':
			{
				wynik = tab[z] - tab[z + 1];
				break;
			}

				case '*':
			{

				wynik = tab[z] * tab[z + 1];
				break;
			}

				case '/':
			{

				wynik = tab[z] / tab[z + 1];
				break;
			}
		}
	}


	printf("Wynik to %0.2f\n", wynik);
	system("pause");
	return 0;
}
 
1
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <functional>
using namespace std;

double add(double a, double b){
	return a+b;
}
double subtract(double a, double b){
	return a-b;
}
double multiply(double a, double b){
	return a*b;
}
double divide(double a, double b){
	return a/b;
}

int main() {
	vector<double> results;
	map<string, function<double(double, double)>> functions = {
		{"+", add},
		{"-", subtract},
		{"*", multiply},
		{"/", divide}
	};
	string in_function;
	double a, b;
	while(cin>>a>>in_function>>b)
		results.push_back(functions[in_function](a, b));
	
	for(auto result : results)
		cout << result << " ";
	return 0;
}

http://ideone.com/kh50wt
lub
http://ideone.com/w95BlV
lub
http://ideone.com/PoelWf
lub
http://ideone.com/Rbvkr8

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