Cita de: rir3760 en 5 Junio 2014, 04:26 AM
Pues habra que revisar tu codigo fuente actualizado ya que las indicaciones de Drewermerc deben solucionar el problema siempre y cuando las apliques correctamente.
Explicando un poco mas a detalle el problema se genera en los casos de (la sentencia condicional) switch:Código (cpp) [Seleccionar]switch (s) {
case 1: {
int His();
break;
}
case 2: {
int Cien();
break;
}
case 3: {
int Depor();
break;
}
case 4: {
int Geo();
break;
}
}
El detalle ahí es que no estas llamando a las funciones, las estas declarando.
Para solucionarlo se debe cambiar a:Código (cpp) [Seleccionar]// Las funciones no requieren de argumentos
int His();
int Cien();
int Depor();
int Geo();
// ...
switch (s){
case 1:
His();
break;
case 2:
Cien();
break;
case 3:
Depor();
break;
case 4:
Geo();
break;
}
Otras partes que se deben modificar en el programa son:
* Utilizar el nombre correcto de los encabezados en C++: <cstdlib> y <ctime>, el encabezado <stdio.h> no es necesario en el programa y su directiva de inclusión debe eliminarse.
* Evitar el uso de la biblioteca conio de Borland, mas información en la pagina |Lo que no hay que hacer en C/C++. Nivel basico|.
* La llamada a srand hay que colocarla justo al principio de la función main pero fuera del bucle.
* No es necesaria la variable "s" ya que puedes utilizar la expresión "rand() % 4 + 1" directamente para controlar la rama de ejecución en el condicional:Código (cpp) [Seleccionar]switch (rand() % 4 + 1){
// ...
Un saludo
Pero ya solucione el problema lo de la libreria conio.h porque la reemplazaria necesito la pausa en el sistema hasta que se presione una tecla