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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  AYUDA CON UN PROGRAMA
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA CON UN PROGRAMA  (Leído 1,583 veces)
mantequita

Desconectado Desconectado

Mensajes: 2


Ver Perfil
AYUDA CON UN PROGRAMA
« en: 10 Octubre 2019, 02:12 am »

Hola a todos, como se encuentran
tengo que realizar un programa que haga uso de apuntadores, sin embargo tengo algunas dudas sobre como "agrupar" datos
resulta que el programa solicita informacion de 10 personas, como ciudad, barrio, direccion,nombre y apellido.
y mediante un menu, la opcion 1 deberia ser agrupar a las 10 personas por ciudades, es decir, si 3 personas escogieron Barcelona, estas 3 personas deberian aparecer en la misma ciudad, agrupadas, ahi entra mi duda, como puedo hacerlo
ademas de esto, el segundo menu debe agrupar a las personas por barrio, ademas de ciudad, mediante el ingreso de una ciudad, el programa enseña los barrios que tiene esta ciudad y las personas que pertenecen a estos barrios. 
Anexo el codigo que me encuentro manejando, por favor, cualquier ayuda me serviria mucho.
gracias!!!

//-----------------// :huh:
#include <iostream>
using namespace std;

struct persona{
char nombre[30];
char apellido[30];
char ciudad[30];
char barrio[30];
char direccion[30];
}datos[10];

void ingresar(struct persona *datos);
void menu(struct persona *datos);
int main(){
ingresar(datos);
menu(datos);
return 0;
}

void ingresar(struct persona *datos)
{
for(int i=0;i<10;i++){
cout<<"---------------Datos de la persona "<<i+1<<"---------------"<<endl;
cout<<"Ingrese nombre de la persona: ";
cin>>datos.nombre;
cout<<"Ingrese apellido de la persona: ";
cin>>datos.apellido;
cout<<"Ingrese ciudad de la persona: ";
cin>>datos.ciudad;
cout<<"Ingrese barrio de la persona: ";
cin>>datos.barrio;
cout<<"Ingrese direccion de la persona: ";
cin>>datos.direccion;
}
}

void ciudad(struct persona *datos);
void barrio(struct persona *datos);
void cambiar(struct persona *datos);
void menu(struct persona *datos){
short opcion;
while(opcion!=4){
cout<<"-----------------------Menu-----------------------"<<endl;
cout<<"1. Mostrar personas que viven en la misma ciudad"<<endl;
cout<<"2. Mostrar personas que viven en el mismo barrio"<<endl;
cout<<"3. Reemplazar letras"<<endl;
cout<<"4. Salir"<<endl;
cin>>opcion;
switch(opcion){
case 1:
ciudad(datos);
break;
case 2:
barrio(datos);
break;
case 3:
cambiar(datos);
break;
case 4:
cout<<"*********************************"<<endl;
cout<<"Vuelva Pronto..."<<endl;
system("exit");
break;
default:
cout<<"*********************************"<<endl;
cout<<"Opcion incorrecta"<<endl;
cout<<"*********************************"<<endl;
break;


}
}
}

void ciudad(struct persona *datos)
{
for(int i=0;i<10;i++){
if(datos.ciudad==datos.ciudad){
cout<<"--------------------------------"<<endl;
cout<<"Ciudad: "<<datos.ciudad<<endl;
cout<<"--------------------------------"<<endl;
cout<<"Nombre: "<<datos.nombre<<endl;
cout<<"Apellido: "<<datos.apellido<<endl;
cout<<"Barrio: "<<datos.barrio<<endl;
cout<<"Direccion: "<<datos.direccion<<endl;
}else{
   if(datos.ciudad!=datos.ciudad){
      
   }
}
}
}
void barrio(struct persona *datos)
{
for(int i=0;i<10;i++){
if(datos.ciudad==datos.ciudad){
cout<<"--------------------------------"<<endl;
cout<<"Barrio: "<<datos.barrio<<endl;
}else{
if(datos.barrio!=datos.barrio){
   
}
}
}
}
void cambiar(struct persona *datos)
{
for(int i=0;i<10;i++){
//if(nota=nota){
cout<<"--------------------------------"<<endl;
cout<<"Direccion: "<<datos.direccion<<endl;
cout<<"Nombre: "<<datos.nombre<<endl;
cout<<"Apellido: "<<datos.apellido<<endl;
//}else{
cout<<"--------------------------------"<<endl;
}
}



En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: AYUDA CON UN PROGRAMA
« Respuesta #1 en: 10 Octubre 2019, 02:56 am »

Eso de "agrupar" es muy ambiguo. No sé qué es lo que te están pidiendo exactamente... :rolleyes:


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
mantequita

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: AYUDA CON UN PROGRAMA
« Respuesta #2 en: 10 Octubre 2019, 03:02 am »

Eso de "agrupar" es muy ambiguo. No sé qué es lo que te están pidiendo exactamente... :rolleyes:
Gracias por responder
en este caso "agrupar" es imprimir todos los datos pertenecientes a una ciudad, es decir
si tengo una persona 1.
nombre: a
ciudad: Barcelona
edad: 14
una persona 2.
nombre: b
ciudad: Malaga
edad: 20
y una persona 3.
nombre: c
ciudad: Barcelona
edad: 20

el programa deberia imprimirme las personas de barcelona "agrupadas"
algo como:
ciudad BARCELONA:
nombre: a
edad: 14

nombre: c
edad: 20
En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: AYUDA CON UN PROGRAMA
« Respuesta #3 en: 10 Octubre 2019, 04:49 am »

Recorre el arreglo obteniendo todas las ciudades distintas. Mete esas ciudades distintas en un arreglo de strings.

Luego recorre el arreglo de strings y por cada uno de las ciudades, recorres el arreglo y escribes los datos de las personas que sean de esa ciudad.
En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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