#include
using namespace std;
int main()
{
float a,b,c;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
cout<<"c=";cin>>c;
if (a>0,b>0,c>0)
cout<<"Suma cuburilor este: ";cout<<(a*a*a)+(b*b*b)+(c*c*c);
cout<
cout<
else
cout<
error else without a previous if
Stie cineva de ce?
Răspunsuri la întrebare
Nu s-a copiat codul cum trebuie, dar incerc sa explic si asa. Codul tau pare sa arate ceva de genul:
if (a>0,b>0,c>0)
cout <<" Suma cuburilor este:";
cout << (a*a*a)+(b*b*b)+(c*c*c);
*aici e posibil sa mai fie un 'cout', nu imi dau seama*
else
cout << " ";
Problema la tine este ca, dupa functia 'if', ai pus mai multe linii de cod, care tu voiai sa fie executate doar daca acea functie era indeplinita, insa nu ai folosit acoladele. In programul tau, daca ar rula acum, conditia functiei 'if', odata indeplinita, ar prelua doar prima linie de cod de sub ea (adica "cout <<" Suma cuburilor este:";), nu si a doua cu afisarea sumei cuburilor in sine. De asta acel 'else' nu poate identifica functia 'if' precedenta, pentru ca el nu o gaseste imediat deasupra sa.
Ca sa rezolvam asta, si sa avem o functie (for, if, while, etc) care sa execute mai multe linii de cod, trebuie sa folosim acolade. Un cod corect ar arata asa:
if (a>0,b>0,c>0)
{
cout <<" Suma cuburilor este:";
cout << (a*a*a)+(b*b*b)+(c*c*c);
}
else
cout << " ";
Daca tu ai avea un al doilea 'cout' sau orice alta linie de cod pe care tu ai vrea sa o legi de acel 'else', ai avea nevoie si acolo de acolade. Asa:
if (a>0,b>0,c>0)
{
cout <<" Suma cuburilor este:";
cout << (a*a*a)+(b*b*b)+(c*c*c);
}
else
{
a = a + 1; (scris si a++)
b = b + 1;
c = c + 1;
}
Mai sus e doar un exemplu ipotetic. Am pus niste cod la nimereala. Dupa cum vezi, avem 3 linii de cod mai sus, pe care vrem sa le legam de 'else', deci folosim acodale. Daca am avea doar una, ar fi ca in primul meu exemplu, fara acolade.
Sper ca ai inteles acum. Sa-mi spui daca merge. Orice alta intrebare, las-o in comentarii!