Witam, czy można w prosty sposób pozbyć się wielu if'ów.
Program ma za zadanie wyświetlać zmienną gdzie każdą z jej części czyli jedności, dziesiątki i setki można edytować oddzielnie z tym, że przekroczenie którejś wartości powoduje dodanie lub odjęcie 1 od wartości po lewej stronie.
Podkreślnik wskazuje wartość aktualnie edytowną.
#include <iostream>
using namespace std;
int main()
{
unsigned int x=0,y=0,z=0,r=0;
char znak;
while(1){
cin >> znak;
if (znak == 'r') r++;
if (r > 2) r = 0;
switch (r){
case 0:
cout <<"_ "<<endl;
if (znak == 'q') x++;
if (znak == 'z') x--;
if (x == 25) {x = 24;}
if (x > 25) {x = 0;}
break;
case 1:
cout <<" _ "<<endl;
if (znak == 'q') y++;
if (znak == 'z') y--;
if (y == 10) {y = 0; x++;}
if (y > 10) {y = 9; x--;}
break;
case 2:
cout <<" _"<<endl;
if (znak == 'q') z++;
if (znak == 'z') z--;
if (z == 10) {z = 0; y++;}
if (z > 10) {z = 9; y--;}
break;
}
cout << x << y << z << endl;
}// loop
}// main