Witam! Mam problem odnośnie kodu C++. Przy 39 i 67 linijce kodu wyskakuje komunikat: error: a function-definition is not allowed here before '{' . Jak to można naprawić? Miałam za zadanie switcha przerobić na funkcję. Każda pomoc się przyda.
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int liczba(int x, char z)
{
int a;
do
{
cout << "Podaj " << z << " z zakresu od " << -x << " do " << x << ": ";
cin >> a;
} while ((a < -x) || (a > x));
return a;
}
int main()
{
srand(time(NULL));
int a, b, c = 0, znak, x, zakres = 50;
char zn;
bool w = true, koniec = true;
cout << "Witaj uzytkowniku!" << endl;
cout << "Wykonajmy dzialanie! \n";
cout << "0 - wylosuj liczby\n1 - podaj sam liczby\nPodaj wybor: ";
do
{
cin >> x;
} while (x<0 || x>1);
if (x == 0) znak = rand() % 3;
else koniec = false;
while (koniec == false)
{
cout << "Wpisz dzialanie (+, -, *, /): ";
cin >> zn;
koniec = true;
void znak(int zn){
switch(zn){
case '+':
znak = 0;
break;
case '-':
znak = 1;
break;
case '*':
znak = 2;
break;
case '/':
znak = 3;
break;
default:
cout << "Nieprawidlowy znak!\n\n";
koniec = false;
break;
}
}
}
if (x == 0) a = (rand() % ((zakres * 2) + 1)) - zakres;
else a = liczba(zakres, 'a');
if (x == 0) b = (rand() % ((zakres * 2) + 1)) - zakres;
else b = liczba(zakres, 'b');
void rownanie(int znak){
switch(znak)
{
case 0:
c = a + b;
zn = '+';
break;
case 1:
c = a - b;
zn = '-';
break;
case 2:
c = a * b;
zn = '*';
break;
case 3:
c = a / b;
zn = '/';
break;
default:
w = false;
break;
}
}
if (w) cout << a << " " << zn << " " << b << " = " << c << endl << endl;
else cout << "Nieprawidlowy znak dzialania\n";
cout << "Dziekuje za wykonanie dzialania! :D";
return 0;
}