buenas tardes, estoy elaborando un programa que tiene varias opciones, una de ellas ejecuta un examen que el usuario debe responder correctamente cada pregunta añade +1 a acumulador y si equivoca se le sumara +1 a error, asi al final del examen se hace la operación acumulador=acumulador-errores asi te daria la calificacion.
Mi problema es que siempre me da 0, no suma ni resta y se salta preguntas y lo he revisado muchas veces y no encuentro el error, les anexo una parte del codigo
int juego (char a, char b,char c,char r,int error,int acum)
{
acum=0;
error=0;
clrscr();
gotoxy(1,10);cprintf("1)cual es el comando que nos permite acceder al modo privilegiado?");
gotoxy(15,12);cprintf("a)router#config terminal b)router>enable");
scanf("%c",&r);
if((r!=b))
{
error=error+1;
}
acum=acum+1;
clrscr();
gotoxy(1,10);cprintf("2)el comando config terminal es para entrar al modo configuracion ?");
gotoxy(15,12);cprintf("a)verdadero b)falso ");
scanf("%c",&r);
if((r!=a))
{
error=error+1;
}
acum=acum+1;
clrscr();
gotoxy(1,10);cprintf("3)cual es el comando para ver la configuracion actual del router ");
gotoxy(15,12);cprintf("a)show running-config b) show interface brief c)show ip route");
scanf("%c",&r);
if((r!=a))
{
error=error+1;
(...)
acum=acum-error;
if((acum>=6))
{
clrscr();
cprintf("tu total del examen es %f",acum);
gotoxy(1,10);cprintf("FELICIDADES!!! APROBASTE EL EXAMEN!!! AHORA LITTLE MAC PODRA SEGUIR SU CAMINO COMO INGENIERO");
gotoxy(15,12);cprintf("PRESIONA ENTER PARA VOLVER AL MENU ");
}
else
clrscr();
cprintf("tu total del examen es %f",acum);
gotoxy(3,10);cprintf("BUENO... SIEMPRE SE PUEDE INTENTAR EL SIGUIENTE SEMESTRE, ");
gotoxy(15,12);cprintf("PRESIONA ENTER PARA VOLVER AL MENU ");
getch();
getch();