Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: padiuwu en 24 Agosto 2018, 03:56 am



Título: Ayuda, tengo un problema en la opcion de salir
Publicado por: padiuwu en 24 Agosto 2018, 03:56 am
Al tiempo de compilar y ejecutarlo cuando ingreso opcion 5 este no se cierra y continua pidiendo de nuevo cuantos atlatas deseo inscribir.
Código:
#include<iostream>
#include<conio.h>
#include<string.h>

using namespace std;

int ind=0;
int num_part=0;

float dorsal[10];
char nombre[10][30];
float marca1[10];
float marca2[10];
float marca3[10];
//declaracion de metodos
void menu();
void inscripcion();
void mostrar();
void records();

int main ()
{
menu();
inscripcion();
mostrar();
records();
return 0;
}

void menu(){
    int opcion;
    do{
        system("cls");
                   cout<<"\n\t BIENVENIDO A LA INSCRIPCION DE SALTO DE LONGITUD..\n";
        cout<<"\n\t-------------------MENU DE OPCIONES-----------------"<<endl;
        cout<<"\t----------------------------------------------------"<<endl;
        cout<<"\n\tInscribir Atletas.................................(1)"<<endl;
        cout<<"\n\tMostrar listado de datos..........................(2)"<<endl;
        cout<<"\n\tMostrar records 2017..............................(3)"<<endl;
        cout<<"\n\tGuardar datos.....................................(4)"<<endl;
        cout<<"\n\tSalir / Exit......................................(5)"<<endl;

        cout<<"\n\tPor favor, eliga la opcion que desea realizar: "; cin>> opcion;

        switch(opcion){

        case 1: inscripcion(); break;

        case 2: mostrar(); break;

        case 3: records(); break;

        case 4: //guaradr
            break;

        case 5: break;
        }

}while (opcion != 5);
}

void inscripcion() { //case 1
int i=1;
cout<<"\n\t Cuantos atletas desea inscribir: "; cin>>num_part;
for( ind=0;ind<num_part;ind++){
system("cls");

cout << "Reguistro numero: " << i++;
        cout << "\n\t Ingresar nombre del participante   : ";      cin >> nombre[ind];
        cout << "\n\t Ingresar la dorsal del participante   : ";   cin >> dorsal[ind];
        cout << "\n\t Ingresar la mejor marca del 2017   : ";      cin >> marca1[ind];
        cout << "\n\t Ingresar la mejor marca del 2016   : ";      cin >> marca2[ind];
        cout << "\n\t Ingresar la mejor marca del 2015   : ";      cin >> marca3[ind];
}
}
void mostrar() { //case 2
system("cls");
cout<<"\n\tLISTADO POR NUMERO DE DORSAL.";
for( ind=0;ind< num_part;ind++){
        cout<<"\n\t Nombre del participante:  " <<nombre[ind];
        cout<<"\n\t Dorsal del participante:  " <<dorsal[ind];
        cout<<"\n\t Mejor marca 2017:  "        <<marca1[ind];
        cout<<"\n\t Mejor marca 2016:  "        <<marca2[ind];
        cout<<"\n\t Mejor marca 2015:  "        <<marca3[ind];
        cout<<"\n *******************************************\n";
}
system("pause");
}
void records() { //case 3
    //metodo de la burbuja para ordenar
for(int ind=0;ind<num_part;ind++){
for(int j=0;j<num_part;j++){
if(marca1[j]<marca1[ind]){
int aux=marca1[j];
marca1[j]=marca1[ind];
marca1[ind]=marca1[j];
marca1[ind]=aux;

}
}
}
cout <<"\n\tMEJORES MARCAS DEL 2017\n";
        for(ind=0; ind<num_part; ind++){
            cout<<"\n\tMejor marca del 2017: "<<marca1[ind];
            cout<<"\n\tNombre del atleta: "<<nombre[ind];
            cout<<"\n\t***************************************\n";
    }
system("pause");
}


Título: Re: Ayuda, tengo un problema en la opcion de salir
Publicado por: CalgaryCorpus en 24 Agosto 2018, 05:54 am
En el main, despues de la invocacion al menu, borra la invocacion que haces a las otras funciones, que tambien llamas al interior del menu. No tiene sentido invocarlas otras vez.