Ayuda urgente por favor!!

Eugenio19
24 de Agosto del 2009
Buenas, necesito de su ayuda si es posible, resulta que en la unirversidad me encargaron una proyecto, bueno, en realidad dos, que dicen asi:

1-Las computadoras están jugando un papel creciente en la educación. Escriba un programa que ayudaría a un alumno de escuela primaria a aprender a multiplicar. Utilice rand para producir dos enteros positivos de un dígito. A continuación debería escribir una pregunta como la siguiente: Cuanto es 6 veces 7?
A continuacion el alumno escribe la respuesta. Su programa verifica la respuesta del alumno. Si es correcta, imprime "Muy bien!", y a continuación solicita otra multiplicación. Si la respuesta es incorrecta, imprimirá: "No, por favor intente de nuevo", y a continuación permitirá que el alumno vuelva a intentar la misma pregunta en forma repetida, hasta que al final la conteste correctamente.

Adjunto el código del programa que he hecho hasta el momento, pero el problema que tengo es que como hago para que verifique si la operacion esta correcta, y que si esta mala que lo vuelva a intentar.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

int multiplicar( int x, int y );

int main()
{
int numero1;
int numero2;
int total;
int solucion;

srand( time( NULL ) );

numero1 = 1 + ( rand() % 9 );
numero2 = 1 + ( rand() % 9 );

printf( "Cuanto es %d ", numero1 );
printf( "por %dn", numero2 );

scanf( "%d", &solucion );

multiplicar( numero1, numero2 );


for(numero1; numero2; solucion = total){

printf( "Muy bien!nn" );

numero1 = 1 + ( rand() % 9 );
numero2 = 1 + ( rand() % 9 );

printf( "Cuanto es %d ", numero1 );
printf( "por %dn", numero2 );

scanf( "%d", &solucion );

multiplicar( numero1, numero2 );

}

for(numero1; numero2; solucion != total){
printf( "No, intentelo de nuevo por favor" );

printf( "Cuanto es %d ", numero1 );
printf( "por %dn", numero2 );

scanf( "%d", &solucion );

multiplicar( numero1, numero2 );

}

return 0;
}
int multiplicar( int x, int y )
{
int total;
int numero1;
int numero2;


total = numero1 * numero2;

return x * y;

}


Por favor, les pido q me ayuden, necesito los puntos para pasar.
Gracias

god2710
24 de Agosto del 2009
Solo arregle un poco el codigo que ya tenias, y no se si necesitas alguna marca para salir del programa o algo, no lo puse porque no sabia si lo necesitabas..Saludos.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int multiplicar( int x, int y );

int main()
{
int numero1;
int numero2;
int respDada;
int solucion;
int ban=1;

while (ban) {
srand(time(NULL));
numero1 = 1 + ( rand() % 9 );
numero2 = 1 + ( rand() % 9 );
printf("Cuanto es %d por %d??n", numero1, numero2);
scanf("%d", &respDada);
solucion = numero1 * numero2;
while (solucion != respDada) {
printf("No, intentelo de nuevo por favornn");
printf("Cuanto es %d por %d??n", numero1, numero2);
scanf("%d", &respDada);
}
printf("Muy bien!nn");
}
}