Autor
|
Tema: Ayuda codigo C++ (Agenda) (Leído 20,804 veces)
|
L0R0
Desconectado
Mensajes: 18
|
Gracias a Akai y a mauriciodelos por su ayuda!!! Bueno hic lo del menu con el boleano y me sigue dando el miso error, no pude solucionarlo con eso..... Por otro lado lo del uso del strcpy me ayudo muchiisimo auqnue no es lo que buscaba para la opcion borrar ya que busco algo que lo borre definitivo, de esta forma borra el contenido pero sigue ocupando ese espacio del arreglo creo q mas bien en vez de borrarlo lo sustituyo el valor por un espacio (Y lo que busko es que lo anule por completo), pero para ordenar me resulto perfecto.... Y aki de verdad no entendi mucho de lo que me hablaste pero ya toi investigando sobre eso....... Aki esta como va el codigo ya modificado: #include <cstdlib> #include <iostream>
using namespace std;
struct Persona { char Nombre[65]; char apellido[65]; char numcel[65];
}plantilla[100];
int main(int argc, char *argv[]) { int opc; /// variables opcion nuevo contacto: int r; int cont=0; /// sirve tambien para opcion 2 y 3. /// variable opcion lista de contactos: int a; int tr; //// variable opcion de salida: int s; //// variables opcion buscador: char buscont[65]; int bus1; int bus2; int vrf=0; //// Variables opcion Opciones: int op; int rep; ///variable opciones 1 modificar int g; int val; int va; int mod; int op1; // variables opciones 2 borrar int del; int delm; int h; int rsp2; int copiar; int a1; do { system("CLS"); cout<< "Selecione Su Opcion: "; cout<< endl; cout<< "1. Agregar un nuevo Contacto. "; cout<<endl; cout<< "2. Ver la lista de Contactos agregados. "; cout<<endl; cout<< "3. Buscar contacto por nombre. "; cout<<endl; cout<< "4. Opciones. "; cout<<endl; cout<< "5. Salir. "; cout<<endl; cout<< "Opcion: "; cin>> opc; cout<<endl; rep=0; system("CLS"); switch (opc) { //Comienza agregar contactos. case 1:
r=cont++; cout<< "Agregue el nombre del nuevo contacto: "; cin>> plantilla[r].Nombre; cout<<endl; cout<< "Agregue el apellido del nuevo contacto: "; cin>> plantilla[r].apellido; cout<<endl; cout<< "Agregue el numero movil del nuevo contacto: "; cin>> plantilla[r].numcel; cout<<endl; system("CLS"); break; //termina agregar contactos.
case 2: //comienza lista de contactos. cout<< "Lista de Contactos: "; cout<< endl; if (cont==0) { cout<< "Lista de contactos vacia."; cout<<endl; system ("PAUSE"); system("CLS"); break; } else { for(a=0;a<r+1;a++) { tr=a; cout<< tr+1<< ". "; cout<< plantilla[a].Nombre; cout<<endl; } system("PAUSE"); system("CLS"); break; } //termina lista de contactos. case 3: //comienza buscar contactos. cout<< "Igrese el nombre que desea buscar: "; cin>> buscont; cout<<endl; if (cont==0) { cout<< "Lista de contactos vacia."; cout<<endl; system ("PAUSE"); system("CLS"); break; } for(bus1=0;bus1<r+1;bus1++) { if (strcmp(plantilla[bus1].Nombre,buscont)==0) { cout<<"Resulatdo Encontrado: "<<endl; cout<<"Nombre: "<<plantilla[bus1].Nombre<<endl; cout<<"Apellido: "<<plantilla[bus1].apellido<<endl; cout<<"Numero Movil: "<<plantilla[bus1].numcel<<endl; vrf=1; cout<<endl; } } if (vrf==0) { cout<<"Resultado No Encontrado....."<<endl; } system ("PAUSE"); vrf=0; break; //termina buscar contactos. case 4: //comienza opciones. do { system ("CLS"); cout<<"Eliga su nueva opcioc: "<<endl; cout<<"1.Modificar contacto."<<endl; cout<<"2.Borrar contacto. "<<endl; cout<<"3.Menu principal. "<<endl; cout<<"Opcion: "; cin>>op; system ("CLS"); switch(op) { case 1: //modificar contactos: //lista contactos: cout<< "Lista de Contactos: "; cout<< endl; if (cont==0) { cout<< "Lista de contactos vacia."; cout<<endl; system ("PAUSE"); system("CLS"); break; } else { for(a=0;a<r+1;a++) { tr=a; cout<< tr+1<< ". "; cout<< plantilla[a].Nombre; cout<<endl; } } //fin lista contactos. //pregunta 1: cout<<"Seleccione el numero del contacto que desea modificar: "; cin>>val; mod=val-1; g=r+1; if (val<=g) { //opcion modificar contacto: do { system ("CLS"); cout<<"Contacto:"<<endl; cout<<"1. Nombre: "<<plantilla[mod].Nombre<<endl; cout<<"2. Apellido: "<<plantilla[mod].apellido<<endl; cout<<"3. Numero Movil: "<<plantilla[mod].numcel<<endl; cout<<"4. Menu anterior."<<endl; cout<<"Seleccione la opcion que desea modificar: "; cin>>op1; switch (op1) { case 1: cout<< "Modifique el nombre del contacto: "; cin>> plantilla[mod].Nombre; cout<<endl; break; case 2: cout<< "Modifique el apellido del contacto: "; cin>> plantilla[mod].apellido; cout<<endl; break; case 3: cout<< "Modifique el numero de movil del contacto: "; cin>> plantilla[mod].numcel; cout<<endl; break; case 4: rep=1; break; } }while (rep==0);//fin modificar contacto. }else {cout<<"El contacto no existe."<<endl; system ("PAUSE");} rep=0; //fin pregunta 1. break; //fin modificar contactos. case 2: //borrar contactos. //lista contactos: cout<< "Lista de Contactos: "; cout<< endl; if (cont==0) { cout<< "Lista de contactos vacia."; cout<<endl; system ("PAUSE"); system("CLS"); break; } else { for(a=0;a<r+1;a++) { tr=a; cout<< tr+1<< ". "; cout<< plantilla[a].Nombre; cout<<endl; } } //fin lista contactos. //pregunta 2: cout<<"Seleccione el numero del contacto que desea eliminar: "; cin>>del; delm=del-1; h=r+1; if (del<=h) { system("CLS"); cout<< "Estas seguro que deseas borar el contacto selecionado?"<<endl; cout<< "Nombre: "<<plantilla[delm].Nombre<<endl; cout<< "Apellido: "<<plantilla[delm].apellido<<endl; cout<< "Numero Movil: "<<plantilla[delm].numcel<<endl; cout<< "1.Si 2.No"<<endl; cin>>rsp2; cout<<endl; if (rsp2==1) { strcpy(plantilla[delm].Nombre,"\0"); strcpy(plantilla[delm].apellido,"\0"); strcpy(plantilla[delm].numcel,"\0"); system ("PAUSE"); copiar=delm; for (a1=delm;a1<r+1;a1++) { strcpy(plantilla[copiar].Nombre,plantilla[copiar+1].Nombre); strcpy(plantilla[copiar].apellido,plantilla[copiar+1].apellido); strcpy(plantilla[copiar].numcel,plantilla[copiar+1].numcel); copiar++; } r=cont-2; break; } else {break;} }else {cout<<"El contacto no existe."<<endl; system ("PAUSE"); } //fin regunta 2. break; //fin borrar contactos. case 3: rep=1; break; } }while (rep==0);
break;
//termina opciones case 5: //comienza salida. cout<< "De Verdad Desea Salir?"; cout<< endl; cout<< "1.Si. 2.No."; cout<<endl; cout<< "opcion: "; cin>>s; if (s==1) { return EXIT_SUCCESS; } else { break; }
} } while (1<opc || 5>opc); //termina salida. }
|
|
|
En línea
|
“Es preferible estar expuesto a los inconvenientes que surgen de un exceso de libertad que a los que provienen de una falta de ella.”-Thomas Jefferson
Twitter: @loro11
|
|
|
L0R0
Desconectado
Mensajes: 18
|
Bueno ya el codigo esta casi listo, ya esta terminada la opcion de borrado, aunque el programa sigue presentando el mismo problema con el menu .... Pero tengo otra duda, he estado investigando sobre como hacer para que el programa guarde los contactos en un archivo y asi no tener q copiar los contactos cada vez q se corra el programa...... El resultado de mi investigacion han sido mas interrogantes q soluciones, por eso cualquier sugerencia que tengan seria muy buena!!!! Aki les dejo el codigo de la agenda ya corregido: #include <cstdlib> #include <iostream>
using namespace std;
struct Persona { char Nombre[65]; char apellido[65]; char numcel[65];
}plantilla[100];
int main(int argc, char *argv[]) { int opc; /// variables opcion nuevo contacto: int r; int cont=0; /// sirve tambien para opcion 2 y 3. int camb=0; int f; /// variable opcion lista de contactos: int a; int tr; //// variable opcion de salida: int s; //// variables opcion buscador: char buscont[65]; int bus1; int bus2; int vrf=0; //// Variables opcion Opciones: int op; int rep; ///variable opciones 1 modificar int g; int val; int va; int mod; int op1; // variables opciones 2 borrar int del; int delm; int h; int rsp2; int copiar; int a1; do { system("CLS"); cout<< "Selecione Su Opcion: "; cout<< endl; cout<< "1. Agregar un nuevo Contacto. "; cout<<endl; cout<< "2. Ver la lista de Contactos agregados. "; cout<<endl; cout<< "3. Buscar contacto por nombre. "; cout<<endl; cout<< "4. Opciones. "; cout<<endl; cout<< "5. Salir. "; cout<<endl; cout<< "Opcion: "; cin>> opc; cout<<endl; rep=0; system("CLS"); switch (opc) { //Comienza agregar contactos. case 1:
r=cont++; if (camb==1) { r--; f=r+1; cout<< "Agregue el nombre del nuevo contacto: "; cin>> plantilla[f].Nombre; cout<<endl; cout<< "Agregue el apellido del nuevo contacto: "; cin>> plantilla[f].apellido; cout<<endl; cout<< "Agregue el numero movil del nuevo contacto: "; cin>> plantilla[f].numcel; cout<<endl; system("CLS"); strcpy(plantilla[r].Nombre,plantilla[f].Nombre); strcpy(plantilla[r].apellido,plantilla[f].apellido); strcpy(plantilla[r].numcel,plantilla[f].numcel); copiar++; break; } cout<< "Agregue el nombre del nuevo contacto: "; cin>> plantilla[r].Nombre; cout<<endl; cout<< "Agregue el apellido del nuevo contacto: "; cin>> plantilla[r].apellido; cout<<endl; cout<< "Agregue el numero movil del nuevo contacto: "; cin>> plantilla[r].numcel; cout<<endl; system("CLS"); break; //termina agregar contactos.
case 2: //comienza lista de contactos. cout<< "Lista de Contactos: "; cout<< endl; if (cont==0) { cout<< "Lista de contactos vacia."; cout<<endl; system ("PAUSE"); system("CLS"); break; } else { for(a=0;a<r+1;a++) { tr=a; cout<< tr+1<< ". "; cout<< plantilla[a].Nombre; cout<<endl; } system("PAUSE"); system("CLS"); break; } //termina lista de contactos. case 3: //comienza buscar contactos. cout<< "Igrese el nombre que desea buscar: "; cin>> buscont; cout<<endl; if (cont==0) { cout<< "Lista de contactos vacia."; cout<<endl; system ("PAUSE"); system("CLS"); break; } for(bus1=0;bus1<r+1;bus1++) { if (strcmp(plantilla[bus1].Nombre,buscont)==0) { cout<<"Resulatdo Encontrado: "<<endl; cout<<"Nombre: "<<plantilla[bus1].Nombre<<endl; cout<<"Apellido: "<<plantilla[bus1].apellido<<endl; cout<<"Numero Movil: "<<plantilla[bus1].numcel<<endl; vrf=1; cout<<endl; } } if (vrf==0) { cout<<"Resultado No Encontrado....."<<endl; } system ("PAUSE"); vrf=0; break; //termina buscar contactos. case 4: //comienza opciones. do { system ("CLS"); cout<<"Eliga su nueva opcioc: "<<endl; cout<<"1.Modificar contacto."<<endl; cout<<"2.Borrar contacto. "<<endl; cout<<"3.Menu principal. "<<endl; cout<<"Opcion: "; cin>>op; system ("CLS"); switch(op) { case 1: //modificar contactos: //lista contactos: cout<< "Lista de Contactos: "; cout<< endl; if (cont==0) { cout<< "Lista de contactos vacia."; cout<<endl; system ("PAUSE"); system("CLS"); break; } else { for(a=0;a<r+1;a++) { tr=a; cout<< tr+1<< ". "; cout<< plantilla[a].Nombre; cout<<endl; } } //fin lista contactos. //pregunta 1: cout<<"Seleccione el numero del contacto que desea modificar: "; cin>>val; mod=val-1; g=r+1; if (val<=g) { //opcion modificar contacto: do { system ("CLS"); cout<<"Contacto:"<<endl; cout<<"1. Nombre: "<<plantilla[mod].Nombre<<endl; cout<<"2. Apellido: "<<plantilla[mod].apellido<<endl; cout<<"3. Numero Movil: "<<plantilla[mod].numcel<<endl; cout<<"4. Menu anterior."<<endl; cout<<"Seleccione la opcion que desea modificar: "; cin>>op1; switch (op1) { case 1: cout<< "Modifique el nombre del contacto: "; cin>> plantilla[mod].Nombre; cout<<endl; break; case 2: cout<< "Modifique el apellido del contacto: "; cin>> plantilla[mod].apellido; cout<<endl; break; case 3: cout<< "Modifique el numero de movil del contacto: "; cin>> plantilla[mod].numcel; cout<<endl; break; case 4: rep=1; break; } }while (rep==0);//fin modificar contacto. }else {cout<<"El contacto no existe."<<endl; system ("PAUSE");} rep=0; //fin pregunta 1. break; //fin modificar contactos. case 2: //borrar contactos. //lista contactos: cout<< "Lista de Contactos: "; cout<< endl; if (cont==0) { cout<< "Lista de contactos vacia."; cout<<endl; system ("PAUSE"); system("CLS"); break; } else { for(a=0;a<r+1;a++) { tr=a; cout<< tr+1<< ". "; cout<< plantilla[a].Nombre; cout<<endl; } } //fin lista contactos. //pregunta 2: cout<<"Seleccione el numero del contacto que desea eliminar: "; cin>>del; delm=del-1; h=r+1; if (del<=h) { system("CLS"); cout<< "Estas seguro que deseas borar el contacto selecionado?"<<endl; cout<< "Nombre: "<<plantilla[delm].Nombre<<endl; cout<< "Apellido: "<<plantilla[delm].apellido<<endl; cout<< "Numero Movil: "<<plantilla[delm].numcel<<endl; cout<< "1.Si 2.No"<<endl; cin>>rsp2; cout<<endl; if (rsp2==1) { strcpy(plantilla[delm].Nombre,"\0"); strcpy(plantilla[delm].apellido,"\0"); strcpy(plantilla[delm].numcel,"\0"); system ("PAUSE"); copiar=delm; for (a1=delm;a1<r+1;a1++) { strcpy(plantilla[copiar].Nombre,plantilla[copiar+1].Nombre); strcpy(plantilla[copiar].apellido,plantilla[copiar+1].apellido); strcpy(plantilla[copiar].numcel,plantilla[copiar+1].numcel); copiar++; } r=cont-2; camb=1; break; } else {break;} }else {cout<<"El contacto no existe."<<endl; system ("PAUSE"); } //fin regunta 2. break; //fin borrar contactos. case 3: rep=1; break; } }while (rep==0);
break;
//termina opciones case 5: //comienza salida. cout<< "De Verdad Desea Salir?"; cout<< endl; cout<< "1.Si. 2.No."; cout<<endl; cout<< "opcion: "; cin>>s; if (s==1) { return EXIT_SUCCESS; } else { break; }
} } while (1<opc || 5>opc); //termina salida. }
|
|
|
En línea
|
“Es preferible estar expuesto a los inconvenientes que surgen de un exceso de libertad que a los que provienen de una falta de ella.”-Thomas Jefferson
Twitter: @loro11
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda con una agenda
Java
|
fredycruz
|
1
|
3,702
|
23 Abril 2010, 22:34 pm
por Debci
|
|
|
ayuda para eliminar un dato de una agenda, en c
Dudas Generales
|
alexander-pedro
|
1
|
2,394
|
11 Julio 2013, 23:04 pm
por Caster
|
|
|
ayuda para eliminar un dato de una agenda, en c
Programación C/C++
|
alexander-pedro
|
5
|
9,818
|
16 Julio 2013, 11:00 am
por aguml
|
|
|
ayuda a subir foto en mi agenda en php
PHP
|
jelsir
|
1
|
1,883
|
7 Octubre 2013, 00:31 am
por GenR_18
|
|
|
ayuda con búsqueda en agenda y panel de ayuda
Java
|
juan_1
|
1
|
1,830
|
29 Mayo 2020, 12:18 pm
por rub'n
|
|