elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Menú con funciones en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Menú con funciones en C++  (Leído 9,393 veces)
DonCuervo

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Menú con funciones en C++
« en: 10 Marzo 2017, 16:33 pm »

Buen dia compañeros, me encuentro con el problema de querer llamar a la funcion menu, pero como aun no se declara no es posible, que acomodo tendria que darle o que solucion seria la mas eficaz?

Aca el codigo:

Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4.  
  5. using namespace std;
  6.  
  7. int guardar(int tam, string arr[]){
  8. cout << "Al guardar se perderan los datos anteriores, desea continuar s/n" << endl;
  9.            char res;
  10.            cin>>res;
  11.            if(res=='s'){
  12.            for(int i=0;i<tam; i++){
  13.                if(arr[i]==""){
  14.                cout<<"Ingrese valor para la posicion " << i << " del arreglo"<< endl;
  15.                cin>>arr[i];
  16.            }
  17.            }
  18.            }
  19.            system("cls");
  20.            menu(tam,arr);
  21. }
  22. int ver(int tam, string arr[]){
  23. for(int i=0; i<tam;i++){
  24.                if(arr[i]!=""){
  25.                    cout<<i<<" "<< arr[i] << endl;
  26.                }else{
  27.                cout<<i<<" vacio"<<endl;
  28.                }
  29.            }
  30.            menu(tam,arr);
  31. }
  32. int borrar(int tam,string arr[]){
  33. cout << "Que numero de entrada desea borrar"<< endl;
  34.        for(int i=0;i<tam;i++){
  35.            cout<<i<<" "<<arr[i]<<endl;
  36.        }
  37.            int del;
  38.            cin>>del;
  39.            if(arr[del]==""){
  40.            cout<<"Registro vacio"<<endl;
  41.            }else{
  42.            arr[del]="";
  43.            cout<<"Registro Borrado"<<endl;
  44.            }
  45.            menu(tam,arr);
  46.  
  47. }
  48. int buscar(int tam,string arr[]){
  49. cout<<"Introduzca el codigo a buscar"<<endl;
  50. string bus;
  51. cin>>bus;
  52. int inc=0;
  53. do{
  54. inc++;
  55. }
  56. while(arr[inc]==bus);
  57. menu(tam,arr);
  58. }
  59. int menu(int tam, string arr[]){
  60. cout << "Eliga la accion que quiera realizar:" << endl << "A.- Guardar" << endl << "B.- Ver" << endl << "C.- Buscar" << endl << "D.- Borrar" << endl << "E.- Salir" << endl;
  61.    char ent;
  62.    cin >> ent;
  63.    if(ent=='a'||ent=='A'||ent=='b'||ent=='B'||ent=='c'||ent=='C'||ent=='D'||ent=='e'||ent=='E'){
  64.        if(ent=='a'||ent=='A'){
  65.            system("cls");
  66.            guardar(tam,arr);
  67.        }
  68.        if(ent=='b'||ent=='B'){
  69.            system("cls");
  70.            ver(tam,arr);
  71.        }
  72.        if(ent=='c'||ent=='C'){
  73.            system("cls");
  74.            buscar(tam,arr);
  75.        }
  76.        if(ent=='d'||ent=='D'){
  77.            system("cls");
  78.            borrar(tam,arr);
  79.            }
  80.        if(ent== 'e' || 'E'){
  81.            exit(0);
  82.        }
  83.    }else{
  84.    cout << "Entrada no valida" << endl << "Intente de nuevo" << endl;
  85.    Sleep(2000);
  86.    system("cls");
  87.    menu(tam,arr);
  88.    }
  89. }
  90. int main(){
  91.    int tam=15;
  92.    string arr[tam];
  93.    menu(tam,arr);
  94. }
  95.  
  96.  



« Última modificación: 10 Marzo 2017, 18:05 pm por DonCuervo » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Menú con funciones en C++
« Respuesta #1 en: 10 Marzo 2017, 17:42 pm »

para eso se usan los prototipos de funcion

Código
  1. int funcion1(int parametro);
  2. void funcion2();
  3.  
  4. int main(){
  5.  
  6. //algo
  7.  
  8. }
  9.  
  10. int funcion1(int parametro){
  11.  
  12. funcion2();
  13.  
  14. }
  15.  
  16. void funcion2(){
  17.  
  18. //algo
  19.  
  20. }
  21.  


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
DonCuervo

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Menú con funciones en C++
« Respuesta #2 en: 10 Marzo 2017, 18:06 pm »

Gracias! Con eso resolví.
En línea

aguml


Desconectado Desconectado

Mensajes: 378



Ver Perfil
Re: Menú con funciones en C++
« Respuesta #3 en: 10 Marzo 2017, 18:10 pm »

Tiene bastantes problemas estructurales. Te paso el codigo con algunas correcciones:
Código:
#include <iostream>
#include <stdlib.h>
#include <windows.h>
 
using namespace std;
 
void guardar(int tam, string arr[]){
    char res;
    cout << "Al guardar se perderan los datos anteriores, desea continuar s/n: " << endl;
    cin>>res;
    res=toupper(res);

    if(res=='S'){
        for(int i=0;i<tam; i++){
            if(arr[i]==""){
                cout<<"Ingrese valor para la posicion " << i << " del arreglo"<< endl;
                cin>>arr[i];
            }
        }
    }
}

void ver(int tam, string arr[]){
    for(int i=0; i<tam;i++){
        if(arr[i]!=""){
            cout<<i<<" "<< arr[i] << endl;
        }else{
            cout<<i<<" vacio"<<endl;
        }
    }
}

//Esto es porque si pides un numero y se introduce por ejemplo una letra...
//Pruebalo sin esto y veras que gracioso
int GetIndex(int tam){
    bool error;
    int del;
    string aux;

    do{
        cin>>aux;
        error=false;
        for(int i=0;i<aux.length();i++){
            if(!isdigit(aux[i])){
                error=true;
                break;
            }
        }
        if(!error){
            del=atoi(aux.c_str());
            if(del > tam || del < 0){
                error=true;
             }
        }
        if(error)
            cout<<"Numero incorrecto."<<endl<<"Vuelve a intentarlo: ";
    }while(error);

    return del;
}

void borrar(int tam,string arr[]){
    int del;

    for(int i=0;i<tam;i++){
        cout<<i<<" "<<arr[i]<<endl;
    }
    cout << "Que numero de entrada desea borrar: "<< endl;

    del=GetIndex(tam);

    if(arr[del]==""){
        cout<<"Registro vacio"<<endl;
    }else{
        arr[del]="";
        cout<<"Registro Borrado"<<endl;
    }
}

void buscar(int tam,string arr[]){
    string bus;
    bool encontrado=false;

    cout<<"Introduzca el codigo a buscar: ";
    cin>>bus;

    for(int i=0;i<tam;i++){
        if(arr[i]==bus){
            cout<<arr[i] << " encontrado en la posicion " << i << endl;
            encontrado=true;
        }
    }
    if(!encontrado)
        cout<<"Codigo no encontrado"<<endl;
}

int menu(int tam, string arr[]){
    char ent;
    cout << "Eliga la accion que quiera realizar:" << endl << "A.- Guardar" << endl << "B.- Ver" << endl << "C.- Buscar" << endl << "D.- Borrar" << endl << "E.- Salir" << endl;
    cout<<"Introduzca una opcion: ";
    do{
        cin >> ent;
        ent=toupper(ent);
        if(ent<'A' || ent>'E')
            cout << "Entrada no valida" << endl << "Intente de nuevo: ";
    }while(ent<'A' || ent>'E');

    switch(ent){
        case 'A':
            system("cls");
            guardar(tam,arr);
            system("pause");
            break;
        case 'B':
            system("cls");
            ver(tam,arr);
            system("pause");
            break;
        case 'C':
            system("cls");
            buscar(tam,arr);
            system("pause");
            break;
        case 'D':
            system("cls");
            borrar(tam,arr);
            system("pause");
            break;
        case 'E':
            break;
    }
    system("cls");
    return ent;
}

int main(){
    const int tam=15;
    int op;
    string arr[tam];

    for(int i=0;i<tam;i++)
        arr[i]="";
    do{
        op=menu(tam,arr);
    }while(op!='E');
}
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines