Ho una serie di if e volevo scrivere l'equivalente di tutti gli if con un solo ciclo. Come posso fare?
Ecco gli if:
for (int i=0; i<strlen(pari); i++) {
if (strncmp(&pari[i], "0", 1)==0)
val_pari+=0;
if (strncmp(&pari[i], "1", 1)==0)
val_pari+=1;
if (strncmp(&pari[i], "2", 1)==0)
val_pari+=2;
if (strncmp(&pari[i], "3", 1)==0)
val_pari+=3;
if (strncmp(&pari[i], "4", 1)==0)
val_pari+=4;
if (strncmp(&pari[i], "5", 1)==0)
val_pari+=5;
if (strncmp(&pari[i], "6", 1)==0)
val_pari+=6;
if (strncmp(&pari[i], "7", 1)==0)
val_pari+=7;
if (strncmp(&pari[i], "8", 1)==0)
val_pari+=8;
if (strncmp(&pari[i], "9", 1)==0)
val_pari+=9;
if (strncmp(&pari[i], "a", 1)==0)
val_pari+=0;
if (strncmp(&pari[i], "b", 1)==0)
val_pari+=1;
if (strncmp(&pari[i], "c", 1)==0)
val_pari+=2;
if (strncmp(&pari[i], "d", 1)==0)
val_pari+=3;
if (strncmp(&pari[i], "e", 1)==0)
val_pari+=4;
if (strncmp(&pari[i], "f", 1)==0)
val_pari+=5;
if (strncmp(&pari[i], "g", 1)==0)
val_pari+=6;
if (strncmp(&pari[i], "h", 1)==0)
val_pari+=7;
if (strncmp(&pari[i], "i", 1)==0)
val_pari+=8;
if (strncmp(&pari[i], "j", 1)==0)
val_pari+=9;
if (strncmp(&pari[i], "k", 1)==0)
val_pari+=10;
if (strncmp(&pari[i], "l", 1)==0)
val_pari+=11;
if (strncmp(&pari[i], "m", 1)==0)
val_pari+=12;
if (strncmp(&pari[i], "n", 1)==0)
val_pari+=13;
if (strncmp(&pari[i], "o", 1)==0)
val_pari+=14;
if (strncmp(&pari[i], "p", 1)==0)
val_pari+=15;
if (strncmp(&pari[i], "q", 1)==0)
val_pari+=16;
if (strncmp(&pari[i], "r", 1)==0)
val_pari+=17;
if (strncmp(&pari[i], "s", 1)==0)
val_pari+=18;
if (strncmp(&pari[i], "t", 1)==0)
val_pari+=19;
if (strncmp(&pari[i], "u", 1)==0)
val_pari+=20;
if (strncmp(&pari[i], "v", 1)==0)
val_pari+=21;
if (strncmp(&pari[i], "w", 1)==0)
val_pari+=22;
if (strncmp(&pari[i], "x", 1)==0)
val_pari+=23;
if (strncmp(&pari[i], "y", 1)==0)
val_pari+=24;
if (strncmp(&pari[i], "z", 1)==0)
val_pari+=25;
if (strncmp(&pari[i], "\0", 1)==0)
val_pari+=0;
}
Ho provato a scriverli con questo ciclo ma risulta errato
char num='0', chr='a';
int i3=0;
for (int i=0; i<strlen(pari); i++) {
while (atoi(&num)<=9) {
if (strncmp(&pari[i], &num, 1)==0)
val_pari+=atoi(&num);
num++;
i3++;
}
num='0';
i3=0;
while (i3<=25) {
if (strncmp(&pari[i], &chr, 1)==0)
val_pari+=atoi(&num);
chr++;
i3++;
}
}
Aiutatemi, come posso modificare il codice affinchè risulti corretto? Grazie