[C con Clase] C++

Manuel Prieto killer_world en hotmail.com
Sab Nov 14 01:22:09 CET 2009


Hola mi nombre es Manuel Prieto. Me he hecho socio de esta red para aclarar algunas dudas que seguro
me saldrán durante todo mi curso de grado superior en programación.

El proyecto es un programa que simula un generador de pruebas de calculo (suma resta multiplicacion)

Se elige el tipo de operacion con un menu
se generan diez operacion con numeros al azar 
se va contestando y controla el numero de aciertos y fallos
se genere un mensaje k diga "la calificacion de la prueba es :"

Esto es el proyecto en si. Me funciona todo pero yo quiero que una vez terminada la accion de los numeros
me pregunte que si kiero volver al menu o terminar y que esto ocurra cada vez que termine las operaciones.

opciones(opc); //funcion de Menu con opciones
printf ("Has elegido opcion %d\n\n",opc);

suremu(opc);//funcion que segun que opcion realiza una accion

//para volver al menu
printf ("\n\nQuieres volver al menu?\nElige 1 para si o 2 para no:");

scanf ("%d",&s);
if (s==1)
 {
   opciones(opc);
     suremu(opc);
   }
   else
     exit (0);
   }

yo pense k si hacia esto iba a volver al menu cada vez que terminara la accion.. Pero solo lo hace una vez.. es decir.. aki esta todo lo k es el codigo, pruebalo y dime que puedo hacer.. y otra cosa.. Pork no me salen las caritas en codigo ascii.. tendrian k salir al final de todas las operaciones cuando sale el mensaje tienes un aprobado o suspendido.. Quiero k me salga la alegre en aprobado y triste en suspendido pero no me sale.. 

Gracias por todo.

//Ejercicio de Evaluacion 2
//Manuel Prieto
//

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
#include<conio.h>
#include<time.h>
#define dim 10
int opciones(int &opc);
int suremu (int);
main()
{
int  opc;
clrscr();
randomize();
int s;

opciones(opc);
printf ("Has elegido opcion %d\n\n",opc);

suremu(opc);

//para volver al menu
printf ("\n\nQuieres volver al menu?\nElige 1 para si o 2 para no:");

scanf ("%d",&s);
if (s==1)
 {
   opciones(opc);
     suremu(opc);
   }
   else
     exit (0);
   }


//Con esta funcion se crea el menu y se escoge la opcion (opc)
//entra un numero y regresa el valor elegido a opc

opciones (int &opc)
{

do {
printf ("   ============ Test Maker ===========\n");
printf ("   |                                 |\n");
printf ("   |Elige una opcion                 |\n");
printf ("   |                                 |\n");
printf ("   |Opcion 1 : Suma                  |\n");
printf ("   |Opcion 2 : Resta                 |\n");
printf ("   |Opcion 3 : Multiplicacion        |\n");
printf ("   |                                 |\n");
printf ("   |                        EXIT: 4  |\n");
printf ("   |_________________________________|\n");
scanf ("%d",&opc);
 }
while (opc>4); //Se verifican las opciones
return(opc);
}


//funcion suma resta o multiplicacion
//segun lo que valga opc sera una cosa u otra
suremu (int opc)
{
int f,x,y,c=0,suma,prod,rest,a=0,b=1;
switch (opc)
{
//suma
case 1 :
   for (f=0;f<dim;f++)
   {
   x=random(20)+1;
   y=random(20)+1;

       printf("  %d\n",x);
       printf("+ %d\n",y);
       printf("------\n");
       scanf("  %d",&suma);
      if (suma==x+y)
       {
         c++;  //correctas
         }
      clrscr();
   }
printf ("----------------------------------------------------\n");
printf ("La calificacion de la prueba ha sido de: %d sobre 10\n",c);
printf ("----------------------------------------------------\n");
 if (c>7)
    printf ("Has superado la prueba con un eficiente %c. Felicidades!!",a);
   if (c<5)
    printf ("Has suspendido %c. Esfuerzate mas.",b);
   if (c>=5 && c<=7)
    printf ("No esta mal.");
break;

//resta
case 2 :
   for (f=0;f<dim;f++)
   {
    do
    {
   x=random(20)+1;
       y=random(20)+1;
      }
      while (x<y);
       printf("  %d\n",x);
         printf("- %d\n",y);
         printf("------\n");
       scanf("  %d",&rest);
      if (rest==x-y)
       {
          c++;  //correctas
         }
      clrscr();
   }
printf ("----------------------------------------------------\n");
printf ("La calificacion de la prueba ha sido de: %d sobre 10\n",c);
printf ("----------------------------------------------------\n");
 if (c>7)
    printf ("Has superado la prueba con un eficiente %c. Felicidades!!",a);
   if (c<5)
    printf ("Has suspendido %c. Esfuerzate mas.",b);
   if (c>=5 && c<=7)
    printf ("No esta mal.");
break;

//multiplicacion
case 3 :
   for (f=0;f<dim;f++)
   {
   x=random(20)+1;
   y=random(20)+1;

       printf("  %d\n",x);
       printf("* %d\n",y);
       printf("------\n");
       scanf("  %d",&prod);
      if (prod==x*y)
      {
         c++;  //correctas
      }
      clrscr();
   }
printf ("----------------------------------------------------\n");
printf ("La calificacion de la prueba ha sido de: %d sobre 10\n",c);
printf ("----------------------------------------------------\n");
 if (c>7)
    printf ("Has superado la prueba con un eficiente %c. Felicidades!!",a);
   if (c<5)
    printf ("Has suspendido %c. Esfuerzate mas.",b);
   if (c>=5 && c<=7)
    printf ("No esta mal.");
break;
case 4:
  exit (0);
break;
}
}
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20091114/fd861ee8/attachment.html>


Más información sobre la lista de distribución Cconclase