Zapis: różne od, to: != no i chyba lepiej użyć w tym przypadku AND (&&)
} while (zmienna<!3 || zmienna2<!5);
na
} while (zmienna != 3 && zmienna2 != 5);
Staraj się nie "deklarować" zmiennych poza główną funkcją main() (Difference between Local and Global Variable)
. . .
int main()
{
int zmienna, zmienna2;
float m, V, E;
do
{
. . .
} while (zmienna != 3 && zmienna2 != 5);
return(0);
}
wtedy
. . .
void zapisD(float E)
{
. . .
else {
cout << "Blad zapisu wyniku \n";
system("pause");
}
zapis.close();
}
int main()
{
int zmienna, zmienna2;
float m, V, E;
do
{
. . .
zapisD(E);
. . .
} while (zmienna != 3 && zmienna2 != 5);
return(0);
}
no i tu dopisać dla 3 i 5 bo pokazuje "zły wybór" np.
. . .
void zapisD(float E)
{
. . .
}
int main()
{
int zmienna, zmienna2;
float m, V, E;
do
{
. . .
zapisD(E);
. . .
switch (zmienna)
{
. . .
switch (zmienna2)
{
. . .
case 5:
cout << "[5] Wyjscie. \n";
break;
default:
cout << "Zly wybor.\n";
break;
}
break;
case 3:
cout << "[3] Wyjscie. \n";
break;
default:
cout << "Zly wybor.\n";
break;
}
} while (zmienna != 3 && zmienna2 != 5);
return(0);
}
Moja propozycja skrócenia kodu dla: switch (zmienna2)
...
case 2:
cout << "Masy do wyboru: \n";
cout << "[1] 5.56x45mm 61 grain \n";
cout << "[2] 7.62x51mm 140 grain \n";
cout << "[3] 12,7x99 mm 1790 grain \n";
cout << "[4] .308 150 grain \n";
cout << "[5] Wyjscie. \n";
cout << "Wybieram: ";
cin >> zmienna2;
m = 0;
switch (zmienna2)
{
case 1:
cout << "5.56x45mm";
m = 61;
break;
case 2:
cout << "7.62x51mm";
m = 140;
break;
case 3:
cout << "12,7x99mm";
m = 1790;
break;
case 4:
cout << ".308";
m = 150;
break;
case 5:
cout << "[5] Wyjscie. \n";
break;
default:
cout << "Zly wybor.\n";
break;
}
if (m != 0)
{
cout << " " << m << " grain \n";
cout << "Podaj predkosc pocisku w [m/s]: ";
cin >> V;
E = static_cast<float>((m * pow(V, 2)) / 2);
cout << "Wartosc energii pocisku: " << E << " J" << '\n';
zapisD(E);
}
break;
...