Autor
|
Tema: Menú con funciones en C++ (Leído 9,398 veces)
|
DonCuervo
Desconectado
Mensajes: 3
|
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: #include <iostream> #include <stdlib.h> #include <windows.h> using namespace std; int guardar(int tam, string arr[]){ cout << "Al guardar se perderan los datos anteriores, desea continuar s/n" << endl; char res; cin>>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]; } } } system("cls"); menu(tam,arr); } int 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; } } menu(tam,arr); } int borrar(int tam,string arr[]){ cout << "Que numero de entrada desea borrar"<< endl; for(int i=0;i<tam;i++){ cout<<i<<" "<<arr[i]<<endl; } int del; cin>>del; if(arr[del]==""){ cout<<"Registro vacio"<<endl; }else{ arr[del]=""; cout<<"Registro Borrado"<<endl; } menu(tam,arr); } int buscar(int tam,string arr[]){ cout<<"Introduzca el codigo a buscar"<<endl; string bus; cin>>bus; int inc=0; do{ inc++; } while(arr[inc]==bus); menu(tam,arr); } int menu(int tam, string arr[]){ cout << "Eliga la accion que quiera realizar:" << endl << "A.- Guardar" << endl << "B.- Ver" << endl << "C.- Buscar" << endl << "D.- Borrar" << endl << "E.- Salir" << endl; char ent; cin >> ent; if(ent=='a'||ent=='A'||ent=='b'||ent=='B'||ent=='c'||ent=='C'||ent=='D'||ent=='e'||ent=='E'){ if(ent=='a'||ent=='A'){ system("cls"); guardar(tam,arr); } if(ent=='b'||ent=='B'){ system("cls"); ver(tam,arr); } if(ent=='c'||ent=='C'){ system("cls"); buscar(tam,arr); } if(ent=='d'||ent=='D'){ system("cls"); borrar(tam,arr); } if(ent== 'e' || 'E'){ exit(0); } }else{ cout << "Entrada no valida" << endl << "Intente de nuevo" << endl; Sleep(2000); system("cls"); menu(tam,arr); } } int main(){ int tam=15; string arr[tam]; menu(tam,arr); }
|
|
« Última modificación: 10 Marzo 2017, 18:05 pm por DonCuervo »
|
En línea
|
|
|
|
engel lex
|
para eso se usan los prototipos de funcion int funcion1(int parametro); void funcion2(); int main(){ //algo } int funcion1(int parametro){ funcion2(); } void funcion2(){ //algo }
|
|
|
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
Mensajes: 3
|
Gracias! Con eso resolví.
|
|
|
En línea
|
|
|
|
aguml
Desconectado
Mensajes: 378
|
Tiene bastantes problemas estructurales. Te paso el codigo con algunas correcciones: #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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
en borland c++ crear programa metros a pies y pulgadas con menu y funciones
Programación C/C++
|
poroto_q
|
1
|
15,187
|
25 Julio 2012, 11:02 am
por BlackZeroX
|
|
|
Problema con funciones desde menu
Programación C/C++
|
Luckim
|
0
|
1,911
|
30 Julio 2012, 23:18 pm
por Luckim
|
|
|
Menú con funciones, no se si lo esta haciendo bien.
Programación C/C++
|
ivanel93
|
2
|
2,319
|
10 Marzo 2013, 19:43 pm
por ivanel93
|
|
|
[PYTHON] Menu opciones ¿Con funciones es lo correcto?
« 1 2 »
Scripting
|
Yidu
|
14
|
31,676
|
3 Abril 2013, 02:56 am
por 0x5d
|
|
|
(Ayuda) Diferencias entre crear un Menu con un resource y con funciones
Programación C/C++
|
Seyro97
|
2
|
2,051
|
30 Septiembre 2014, 22:42 pm
por Seyro97
|
|