Amigos cual es el error

Iniciado por Alejandro1195, 19 Junio 2015, 16:00 PM

0 Miembros y 1 Visitante están viendo este tema.

Alejandro1195

Código (cpp) [Seleccionar]
case 4:
        do
            {

            system("cls");
            cout<<      "\n================================================================================";
            cout<<      "                                EJERCICIOS TERCER PARCIAL     ";
            cout<<      "\n================================================================================";
            cout<<"\n     1.- Operaciones Basicas                      2.- Regresar menu anterior";
            cout<<endl;
            cout<<endl;
            cout<<"\n     0.- Salir                          ";
            cout<<endl;
            cout<<endl;
            cout<<"Elija una opcion:\n";
            cin>>opcion4;
            switch(opcion4)
            {
            case 1:
                {
                    int men;
                        float sumar=0,restar=0,multiplicar=1,promedio=1,contar,n,numeros;
                  do{
                        system("cls");
                   cout<<"***************************"<<endl;
                   cout<<"\t\tOperaciones matematicas basicas\n";
                   cout<<"\t 1.- Sumar\n\t 2.- Restar\n\t 3.- Multiplicar\n\t 4.- Promedio\n\t 5.- Salir\n";
                   cout<<"***************************"<<endl;
                   cout<<endl;
                   cout<<"¿Que quieres hacer?:\t";
                   cin>>men;
                   system("Cls"); //limpiar pantalla
                   switch(men){
                   case 1:
                       {system("cls");
                       cout<<"\t\tOperacion sumar\n";
                       cout<<"cuantos numeros quieres sumar:\t";
                       cin>>n;
                       for(contar=1;contar<=n;contar++){
                        cout<<"ingrese numero:"<<contar<<":\t"<<endl;
                        cin>>numeros;
                        sumar+=numeros;
                       }
                   cout<<"la suma es:\t"<<sumar<<"\n";
                   system("PAUSE"); //Pausar el programa
                   break;
                       }
                   case 2:
                       {system("cls");
                    cout<<"\t\tOperacion restar\n";
                       cout<<"cuantos numeros quieres restar:\t";
                       cin>>n;
                       for(contar=1;contar<=n;contar++){
                        cout<<"ingrese numero:"<<contar<<":\t"<<endl;
                        cin>>numeros;
                       if(contar>1)
                        numeros*=-1;
                        restar+=numeros;
                       }
                   cout<<"la resta es:\t"<<restar<<"\n";
                   system("PAUSE"); //Pausar el programa
                   break;
                       }

                   case 3:
                       {system("cls");
                    cout<<"\t\tOperacion multiplicar\n";
                       cout<<"cuantos numeros quieres multiplicar:\t";
                       cin>>n;
                       for(contar=1;contar<=n;contar++){
                        cout<<"ingrese numero:"<<contar<<":\t"<<endl;
                        cin>>numeros;
                        multiplicar*=numeros;
                       }
                   cout<<"la multiplicacion es:\t"<<multiplicar<<"\n";
                   system("PAUSE"); //Pausar el programa
                   break;}

                   case 4:
                       {system("cls");
                    cout<<"\t\tOperacion promedio\n";
                       cout<<"cuantos numeros quieres promediar:\t";
                       cin>>n;
                       for(contar=1;contar<=n;contar++){
                        cout<<"ingrese numero:"<<contar<<":\t"<<endl;
                        cin>>numeros;
                        sumar+=numeros;
                        promedio=sumar/n;
                       }
                   cout<<"la promedio es:\t"<<promedio<<"\n";
                   system("PAUSE"); //Pausar el programa
                   break;
                       }
                   case 5:
                    {

                    }

                    default:
                    {
                        cout<<"Opcion No Valida";
                        system("pause");
                        break;
                    }




   }
    //cierre ciclo programa
  }while(men!=5 );
  }

  //cierre case 1

   case 2:
    {
        goto menu;
    }

   case 0:
    {if(opcion!=0 || opcion4!=0)
    {
        cout<<"Salir del programa";
        return 0;
    }

   default:
    {
        cout<<"\nOpcion No Valida ";
        system("pause");
        break;
    }
    }



            }//cierre swith opcion 4
            }

            while(opcion!=2);


Lo que necesito que una vez ejecutado el case 1, me mande al menu anterior y no encuentro la forma para realizarlo :(





muchas gracias amigos

Stakewinner00

Para empezar evita el uso de "goto". Y no pongas tanto code dentro de los case porque queda bastante ilegible. Los case en un switch case tendrían que tener poco código. También hay gente que no recomienda usar do-while...

Alejandro1195

Cita de: Stakewinner00 en 19 Junio 2015, 16:18 PM
Para empezar evita el uso de "goto". Y no pongas tanto code dentro de los case porque queda bastante ilegible. Los case en un switch case tendrían que tener poco código. También hay gente que no recomienda usar do-while...

Como me recomienda hacerlo? Soy nuevo en esto y en vez de goto que puedo utilziar?

DarK_FirefoX

Como bien dice Stakewinner00, evita usar los goto.

Léete esto (Traducción al español del artículo original por Edsger W. Dijkstra):
http://bioinfo.uib.es/~joemiro/teach/material/escritura/GoToEsp.pdf