
26/10/2008, 04:03
|
 | | | Fecha de Ingreso: octubre-2008 Ubicación: Valladolid
Mensajes: 122
Antigüedad: 16 años, 5 meses Puntos: 3 | |
Respuesta: Problema con un bucle en C ya conseguí solucionarlo  , gracias de todas formas! cuelgo el codigo nuevo por si alguien le habia estado dando vueltas a ver donde podía estar el error!
Código:
#include <stdio.h>
int main()
{
int opcion, accion;
int cont=0;
int counter=0;
printf("\n\n\t0.\tCancelar operacion");
printf("\n\n\t1.\tUsuario");
printf("\n\n\t2.\tPuntos de interes");
printf("\n\n\t3.\tParadas");
printf("\n\n\t4.\tTransbordos");
printf("\n\n\t5.\tLineas");
printf("\n\n\n\tIntroduzca el numero de la accion que desea realizar: ");
scanf("%d", &opcion);
if(opcion>5)
{
printf("\n\n\tSe ha producido un error, por favor vuelva a introducir el numero de la accion que desea realizar: ");
scanf("%d", &opcion);
}
else
while(opcion<=5 && opcion!=0 && counter<1)
{
switch(opcion)
{
case 1: printf("\n\n\t0.\tVolver");
printf("\n\t1.\tAnadir usuario");
printf("\n\t2.\tMostrar datos del usuario");
printf("\n\t3.\tModificar datos del usuario");
printf("\n\n\tElija una opcion: ");
scanf("%d", &accion);
counter++;
if(accion>3)
{
printf("\n\tSe ha producido un error, por favor vuelva a elegir una opcion: ");
scanf("%d", &accion);
}
else
switch(accion)
{
case 0: printf("\n\n\t0.\tCancelar operacion");
printf("\n\n\t1.\tUsuario");
printf("\n\n\t2.\tPuntos de interes");
printf("\n\n\t3.\tParadas");
printf("\n\n\t4.\tTransbordos");
printf("\n\n\t5.\tLineas");
printf("\n\n\n\tIntroduzca el numero de la accion que desea realizar: ");
scanf("%d", &opcion);
counter--;
break;
case 1: printf("\n\tHa elegido \"ANADIR USUARIO\"\n\n");
break;
case 2: printf("\n\tHa elegido \"MOSTRAR DATOS DEL USUARIO\"\n\n");
break;
case 3: printf("\n\tHa elegido \"MODIFICAR DATOS DEL USUARIO\"\n\n");
break;
}
break;
case 2: printf("\n\n\t0.\tVolver");
printf("\n\t1.\tAnadir puntos de interes");
printf("\n\t2.\tMostrar datos de los puntos de interes");
printf("\n\t3.\tModificar puntos de interes");
printf("\n\t4.\tEliminar punto de interes");
printf("\n\n\tElija una opcion: ");
scanf("%d", &accion);
counter++;
if(accion>4)
{
printf("\n\tSe ha producido un error, por favor vuelva a elegir una opcion: ");
scanf("%d", &accion);
}
else
switch(accion)
{
case 0: printf("\n\n\t0.\tCancelar operacion");
printf("\n\n\t1.\tUsuario");
printf("\n\n\t2.\tPuntos de interes");
printf("\n\n\t3.\tParadas");
printf("\n\n\t4.\tTransbordos");
printf("\n\n\t5.\tLineas");
printf("\n\n\n\tIntroduzca el numero de la accion que desea realizar: ");
scanf("%d", &opcion);
counter--;
break;
case 1: printf("\n\tHa elegido \"ANADIR PUNTO DE INTERES\"\n\n");
break;
case 2: printf("\n\tHa elegido \"MOSTRAR DATOS DE LOS PUNTOS DE INTERES\"\n\n");
break;
case 3: printf("\n\tHa elegido \"MODIFICAR DATOS DE LOS PUNTOS DE INTERES\"\n\n");
break;
case 4: printf("\n\tHa elegido \"ELIMINAR PUNTO DE INTERES\"\n\n");
break;
}
break;
case 3: printf("\n\n\t0.\tVolver");
printf("\n\t1.\tAnadir parada");
printf("\n\t2.\tMostrar datos de parada");
printf("\n\t3.\tModificar datos de parada");
printf("\n\t4.\tEliminar parada");
printf("\n\n\tElija una opcion: ");
scanf("%d", &accion);
counter++;
if(accion>4)
{
printf("\n\tSe ha producido un error, por favor vuelva a elegir una opcion: ");
scanf("%d", &accion);
}
else
switch(accion)
{
case 0: printf("\n\n\t0.\tCancelar operacion");
printf("\n\n\t1.\tUsuario");
printf("\n\n\t2.\tPuntos de interes");
printf("\n\n\t3.\tParadas");
printf("\n\n\t4.\tTransbordos");
printf("\n\n\t5.\tLineas");
printf("\n\n\n\tIntroduzca el numero de la accion que desea realizar: ");
scanf("%d", &opcion);
counter--;
break;
case 1: printf("\n\tHa elegido \"ANADIR PARADA\"\n\n");
break;
case 2: printf("\n\tHa elegido \"MOSTRAR DATOS DE PARADA\"\n\n");
break;
case 3: printf("\n\tHa elegido \"MODIFICAR DATOS DE PARADA\"\n\n");
break;
case 4: printf("\n\tHa elegido \"ELIMINAR PARADA\"\n\n");
break;
}
break;
case 4: printf("\n\n\t0.\tVolver");
printf("\n\t1.\tAnadir transbordo");
printf("\n\t2.\tMostrar datos de transbordo");
printf("\n\t3.\tModificar datos de transbordo");
printf("\n\t4.\tEliminar transbordo");
printf("\n\n\tElija una opcion: ");
scanf("%d", &accion);
counter++;
if(accion>4)
{
printf("\n\tSe ha producido un error, por favor vuelva a elegir una opcion: ");
scanf("%d", &accion);
}
else
switch(accion)
{
case 0: printf("\n\n\t0.\tCancelar operacion");
printf("\n\n\t1.\tUsuario");
printf("\n\n\t2.\tPuntos de interes");
printf("\n\n\t3.\tParadas");
printf("\n\n\t4.\tTransbordos");
printf("\n\n\t5.\tLineas");
printf("\n\n\n\tIntroduzca el numero de la accion que desea realizar: ");
scanf("%d", &opcion);
counter--;
break;
case 1: printf("\n\tHa elegido \"ANADIR TRANSBORDO\"\n\n");
break;
case 2: printf("\n\tHa elegido \"MOSTRAR DATOS DE TRANSBORDO\"\n\n");
break;
case 3: printf("\n\tHa elegido \"MODIFICAR DATOS DE TRANSBORDO\"\n\n");
break;
case 4: printf("\n\tHa elegido \"ELIMINAR TRANSBORDO\"\n\n");
break;
}
break;
case 5: printf("\n\n\t0.\tVolver");
printf("\n\t1.\tAnadir linea");
printf("\n\t2.\tMostrar datos de linea");
printf("\n\t3.\tModificar datos de linea");
printf("\n\t4.\tEliminar linea");
printf("\n\n\tElija una opcion: ");
scanf("%d", &accion);
counter++;
if(accion>4)
{
printf("\n\tSe ha producido un error, por favor vuelva a elegir una opcion: ");
scanf("%d", &accion);
}
else
switch(accion)
{
case 0: printf("\n\n\t0.\tCancelar operacion");
printf("\n\n\t1.\tUsuario");
printf("\n\n\t2.\tPuntos de interes");
printf("\n\n\t3.\tParadas");
printf("\n\n\t4.\tTransbordos");
printf("\n\n\t5.\tLineas");
printf("\n\n\n\tIntroduzca el numero de la accion que desea realizar: ");
scanf("%d", &opcion);
counter--;
break;
case 1: printf("\n\tHa elegido \"ANADIR LINEA\"\n\n");
break;
case 2: printf("\n\tHa elegido \"MOSTRAR DATOS DE LINEA\"\n\n");
break;
case 3: printf("\n\tHa elegido \"MODIFICAR DATOS DE LINEA\"\n\n");
break;
case 4: printf("\n\tHa elegido \"ELIMINAR LINEA\"\n\n");
break;
}
break;
}
}
if(opcion==0 && cont<1)
{
printf("\n\n\tLa operacion ha sido abortada\n\n");
cont++;
}
}
|