Академический Документы
Профессиональный Документы
Культура Документы
N
N
N
MI RED SOCIAL
______________________________________
1. ENUNCIADO
Hoy en día, las redes sociales se han convertido en una herramienta fundamental
en la vida de las personas, puesto que, además de facilitar la comunicación,
permite entablar amistades, relaciones y conversaciones, del mismo modo han
sido de mucha ayuda en las investigaciones y experimentaciones realizadas en
relación al comportamiento de la sociedad. Con este trabajo se desea simular una
red social, con los datos obtenidos en el aula de clases.
2
______________________________________
2. ESTRUCTURA DE DATOS
- Este programa se requiere una estructura de tipo cliente que contenga la información de cada persona
perteneciente a la red social y una estructura para los amigos de la persona.
- Funciones o procedimientos (void) necesarias para realizar las operaciones requeridas por cada usuario
de la red social
USUARIO ADMINISTRADOR
Usuario: Administrador:
- Nombre - User
- Apellido - Password
- Nickname
- Password
- Mail
- Edad
- Hobbie
- Ciudad
- Sexo
Operaciones: Operaciones:
______________________________________
3. REQUERIMIENTOS FUNCIONALES
3
______________________________________
4. REQUERIMIENTOS INSTRUCCIONALES
Main.cpp
/*
* Autor: Nairovy Huffington Llamas
* Codigo: T00049589
*/
#include <iostream>
#include <fstream>
using namespace std;
while(!f.eof()){
getline(f, linea);
n++;
}
f.close();
}
4
while(!f.eof()){
getline(f, linea);
m++;
}
f.close();
}
}
f.close();
}
void cargarDatos(usuario u[], int n){//funcion para cargar los datos de los usuarios
ifstream f; string linea;
f.open("usuarios.csv");//se abre el archivo
for(int i=0; i<n; i++){
getline(f, linea, ',');
u[i].nickname=linea;
getline(f, linea, ',');
u[i].password=linea;
getline(f, linea, ',');
u[i].apellido=linea;
getline(f, linea, ',');
u[i].nombre=linea;
getline(f, linea, ',');
u[i].mail=linea;
getline(f, linea, ',');
u[i].edad= atof(linea.c_str());
getline(f, linea, ',');
u[i].hobbie=linea;
getline(f, linea, ',');
u[i].ciudad=linea;
getline(f, linea);
u[i].sexo=linea;
}
f.close();
5
cout<<"********************************************"<<endl;
cout<<"Nombre\t\tApellido\tNickname\tContraseña\t\t\tMail\t\tEdad\t\tHobbie\t\tCiu
dad\t\tSexo"<<endl;//se imprimen los titulos
for(int i=0; i<n; i++){
cout<<u[i].nombre<<"\t\t"<<u[i].apellido<<"\t\t"<<u[i].nickname<<"\t\t"<<u[i].passwo
rd<<"\t\t"<<u[i].mail<<"\t\t"<<u[i].edad<<"\t\t"<<u[i].hobbie<<"\t\t"<<u[i].ciudad<<"\
t\t"<<u[i].sexo<<endl;//se imprimen los datos
}
}
void iniciarsesion(usuario u[], int n,amigos a[],int m){//funcion para iniciar sesion el
usuario
string usuario;//se declara la variable del Usuario
string contrasena;//se declara la variable de la Contraseña
cout<<"********************************************"<<endl;
cout<<"Usuario: ";//se pide el usuario
cin>>usuario;//se guarda el ususario
cout<<"Contraseña: ";//se pide la contraselña
cin>>contrasena;//se guarda la Contraseña
cout<<"********************************************"<<endl;
cout<<endl;
6
if (usuario==a[i].nick ){//se realiza la condicion
cout<<"*"<<a[i].amigo<<endl;//se imprimen los amigos
}
}
}
else if(usuario!=u[i].nickname && contrasena==u[i].password){//condicional para
iniciar si el usuario es incorrecto
cout<<"Lo sentimos, el usuario es incorrecto..... Intenta otra vez"<<endl;
cout<<endl;
cout<<"********************************************"<<endl;
cout<<"Usuario: ";//se pide el ususario
cin>>usuario;//se guarda el usuario
cout<<"********************************************"<<endl;
cout<<endl;
}
void iniciarsesionad(administrador admin){//se crea una funcion para que inicie sesion el
admin
do{
ifstream f;string linea;
f.open("usuarios.csv");
7
cout<<"********************************************"<<endl;
cout<<"Usuario: ";//se pide el usuario
cin>>admin.user;//se guarda el usuaario
cout<<"Contraseña: ";//se pide la contraseña
cin>>admin.password;//se guarda la Contraseña
cout<<"********************************************"<<endl;
cout<<endl;
f.close();
}while (admin.user!= "admin" && admin.password!= "admin");//se valida
}
8
if (apelli==u[i].apellido){//se realiza la condicion
cout<<"¡USUARIO ENCONTRADO!"<<endl;
cout<<endl;
cout<<"-*-*-*-*-*-*"<<u[i].nombre<<"\t"<<u[i].apellido<<"-*-
*-*-*-*-*-*"<<endl;
cout<<endl;
cout<<"Nickname: "<<u[i].nickname<<endl;//se imprime el nickname
cout<<"Nombre: "<<u[i].nombre<<endl;//se imprime el nombre
cout<<"Apellido: "<<u[i].apellido<<endl;//se imprime el apellido
cout<<"Mail: "<<u[i].mail<<endl;//se imprime el mail
cout<<"Edad: "<<u[i].edad<<" años"<<endl;//se imprime la edad
cout<<"Hobbie: "<<u[i].hobbie<<endl;//se imprime el hobbie
cout<<"Ciudad: "<<u[i].ciudad<<endl;//se imprime la ciudad
cout<<"Sexo: "<<u[i].sexo<<endl;//se imprime el sexo
cout<<endl;
}
}
}
9
cout<<"********************************************"<<endl;
cout<<" BÚSQUEDA POR CIUDAD "<<endl;
cout<<"********************************************"<<endl;
string city;//se crea el dato
cout<<endl;
cout<<"Ingrese la ciudad que desea buscar: ";//se pide la ciudad
cin>>city;//se guarda la ciudad
cout<<endl;
for (int i=0;i<n;i++){//se inicia el ciclo for
if (city==u[i].ciudad){// se realiza la condicion
cout<<"¡USUARIO ENCONTRADO!"<<endl;
cout<<endl;
cout<<"-*-*-*-*-*-*"<<u[i].nombre<<"\t"<<u[i].apellido<<"-*-
*-*-*-*-*-*"<<endl;
cout<<endl;
cout<<"Nickname: "<<u[i].nickname<<endl;//se imprime el nickname
cout<<"Nombre: "<<u[i].nombre<<endl;//se imprime el nombre
cout<<"Apellido: "<<u[i].apellido<<endl;//se imprime el apellido
cout<<"Mail: "<<u[i].mail<<endl;//se imprime el mail
cout<<"Edad: "<<u[i].edad<<" años"<<endl;//se imprime la edad
cout<<"Hobbie: "<<u[i].hobbie<<endl;//se imprime el hobbie
cout<<"Ciudad: "<<u[i].ciudad<<endl;//se imprime la ciudad
cout<<"Sexo: "<<u[i].sexo<<endl;//se imprime el sexo
cout<<endl;
}
}
}
10
cout<<"Sexo: "<<u[i].sexo<<endl;//se imprime el sexo
cout<<endl;
}
}
}
int main(){
cout<<"********************************************"<<endl;
cout<<"----------------MI RED SOCIAL---------------"<<endl;
cout<<"********************************************"<<endl;
cout<<endl;
int n=0;//se declara n
int m=0;//se declara m
int opcion;//se declara la opcion
obtenerM(m);
obtenerN(n);
cargarDatos(u,n);
cargarAmigo(a,m);
menu(opcion);
if (opcion==1){//si es ususario
iniciarsesion(u,n,a,m);//funcion para iniciar sesion y ver amigos
buscarNick(u,n);//funcion para buscar por nick
}
if (opcion==2){//si es administrador
iniciarsesionad(admin);
cout<<endl;
cout<<"Hola administrador, que bueno tenerte de vuelta";
cout<<endl;
imprimirDatos(u, n);//funcion para imprimir datos
buscarNick(u,n);//funcion para buscar por nick
buscarApellido(u,n);//funcion para buscar por apellido
buscarHobbies(u,n);//funcion para buscar por hobbies
buscarEdad(u,n);//funcion pàra buscar por edad
buscarCiudad(u,n);//funcion para buscar por ciudad
mostrarMujeres(u,n);//funcion para mostrar las mujeres//se inicia el ciclo for
}
11
return 0;
}
Usuarios.csv
Cfaa,abcd,Anillo,Carlos,carlipeanillo@hotmail.com,17,Sopadeletras,Cartagena,M
daenaral,2004,Arrieta,David ,davidarrietaa@gmail.com,17,Ingles,Cartagena,M
ej29,2920,Arrieta,Edgardo,edgardojose.a@hotmail.com,17,Musica,Cartagena,M
Glbr15 ,1503,Brito,Grey,greylb@hotmail.com,18,Bailar,Barrancas,F
ana_cafu,1999,Cabarcas,Ana,anamanuecabarcas@hotmail.com,17,Leer,Tolu,F
ccg,1998,Cabrera,Camilo,camilocabrera70@gmail.com,19,videojuegos,cartagena,M
JaimeJC,2912,Contreras,Jaime,Jaimealbertoc.2000@gmail.com,16,Futbol,Chinu,M
Jannia,1272,Devoz,Jannia,felixdemo@hotmail.com,17,Cantar,Cartagena,F
w.garcia,1515,García,Wilfran,Wilfran1515@gmail.com,21,Dibujar,Cartagena,M
gomvi,1926,Gomez,Victor,victor_e.g.m@hotmail.com,18,Volleyplaya,Cartagena,M
MattGM,4321,Guardo,Matthews,matthewsjgm@hotmail.com,15,Futbol,Arjona,M
Jd210,1210,Hernandez,Jose,josedaniel210@hotmail.com,17,Futbol,Cartagena,M
khr,1997,Hernandez,Kevin,kevinhernandez1997@hotmail.com,20,Futbol,Sincelejo,m
NJHLL,1999,Huffington,Nairovy,nairovy.huffington.ll@gmail.com,18,Cantar,San
Andres,F
lj99,1234,Junco ,Lisseth,lisseth.junco@hotmail.com,18,Dibujar,Cartagena,F
sllb,1245,Llamas,Sergio,sergiollamas19@hotmail.com,21,Leer,Cartagena,M
ll11,1011,Lora,Luis,luchostiffler@hotmail.com,17,Futbol,Cartagena,M
maldY,2204,Maldonado,Yuly,yulipao-0422@hotmail.com,18,Leer,Cartagena,F
Hmm,1999,Marrugo,Haroldo,haroldomarrugomejia@gmailcom,17,BMX,Turbaco,M
BMRR,6266,Montoya,Brayan,brayanmontoya2000@hotmail.com,16,MTB,Cartagena,M
gn24,1020,Nunez,Gabriela,24ganufo@gmail.com,17,Bailar,Arjona,F
Yeniferrr,1234,Renoga,Yenifer,jenniferenoga2@outlook.com,18,Nadar,Cartagena,F
alrm1213,6543,Riobo,Ana ,analuciar13@outlook.es,18,Leer,Cartagena,F
drB11,1122,Rodriguez,Dayana,dayiivane11@gmail.com,17,Leer,Arjona,F
Dsm,1923,Sanchez,Dayana,dayasanchez19@hotmail.com,18,Idiomas,Cartagena,F
CJTR,1234,Tous,Camilo,camilotous@gmail.com,18,Programar,Cartagena,M
krin,1111,Vargas,Karina,vargastamayo02@hotmail.com,17,Leer,Cartagena,F
amigos.csv
alrm1213,BMRR ana_cafu,sllb Cfaa,lj99
alrm1213,daenaral BMRR,alrm1213 Cfaa,maldY
alrm1213,daenaral BMRR,Cfaa Cfaa,MattGM
alrm1213,ej29 BMRR,CJTR Cfaa,NJHLL
alrm1213,gn24 BMRR,daenaral Cfaa,sllb
alrm1213,Jd210 BMRR,khr Cfaa,Yeniferrr
alrm1213,MattGM BMRR,krin CJTR,ana_cafu
alrm1213,w.garcia ccg,ej29 CJTR,BMRR
alrm1213,Yeniferr ccg,gn24 CJTR,Hmm
r ccg,JaimeJC CJTR,Jannia
ana_cafu,CJTR ccg,Jd210 CJTR,NJHLL
ana_cafu,gn24 ccg,maldY CJTR,Yeniferrr
ana_cafu,gomvi ccg,MattGM CJTR,Yeniferrr
ana_cafu,khr ccg,Yeniferrr daenaral,alrm1213
ana_cafu,lj99 Cfaa,BMRR daenaral,alrm1213
ana_cafu,maldY Cfaa,gomvi daenaral,BMRR
ana_cafu,NJHLL Cfaa,Jd210 daenaral,JaimeJC
ana_cafu,sllb Cfaa,Jd210 daenaral,Jannia
12
daenaral,lj99 Hmm,Jannia ll11,krin
daenaral,NJHLL Hmm,sllb ll11,maldY
drB11,Glbr15 JaimeJC,ccg maldY,ana_cafu
drB11,Hmm JaimeJC,daenaral maldY,ccg
drB11,JaimeJC JaimeJC,drB11 maldY,Cfaa
drB11,khr JaimeJC,ej29 maldY,drB11
drB11,lj99 JaimeJC,gomvi maldY,Dsm
drB11,maldY JaimeJC,lj99 maldY,ej29
Dsm,ej29 JaimeJC,w.garcia maldY,Jd210
Dsm,Jd210 Jannia,CJTR maldY,ll11
Dsm,maldY Jannia,daenaral maldY,Yeniferrr
Dsm,maldY Jannia,Glbr15 MattGM,alrm1213
Dsm,MattGM Jannia,gomvi MattGM,ccg
Dsm,sllb Jannia,Hmm MattGM,Cfaa
ej29,alrm1213 Jannia,ll11 MattGM,Dsm
ej29,ccg Jannia,sllb MattGM,NJHLL
ej29,Dsm Jannia,w.garcia MattGM,Yeniferrr
ej29,Glbr15 Jd210,alrm1213 NJHLL,ana_cafu
ej29,gn24 Jd210,ccg NJHLL,Cfaa
ej29,JaimeJC Jd210,Cfaa NJHLL,CJTR
ej29,JaimeJC Jd210,Dsm NJHLL,daenaral
ej29,khr Jd210,Glbr15 NJHLL,gomvi
ej29,maldY Jd210,lj99 NJHLL,khr
ej29,w.garcia Jd210,maldY NJHLL,MattGM
Glbr15,drB11 Jd210,w.garcia NJHLL,Yeniferrr
Glbr15,ej29 khr,ana_cafu sllb,ana_cafu
Glbr15,Hmm khr,BMRR sllb,Cfaa
Glbr15,Jannia khr,drB11 sllb,Dsm
Glbr15,Jannia khr,ej29 sllb,gomvi
Glbr15,Jd210 khr,krin sllb,Hmm
Glbr15,krin khr,lj99 sllb,Jannia
Glbr15,Yeniferrr khr,ll11 w.garcia,alrm1213
gn24,alrm1213 khr,NJHLL w.garcia,ej29
gn24,ana_cafu khr,Yeniferrr w.garcia,JaimeJC
gn24,ccg krin,BMRR w.garcia,Jannia
gn24,ej29 krin,Glbr15 w.garcia,Jd210
gn24,Hmm krin,khr Yeniferrr,alrm121
gn24,Yeniferrr krin,ll11 3
gomvi,ana_cafu lj99,ana_cafu Yeniferrr,ccg
gomvi,Cfaa lj99,Cfaa Yeniferrr,Cfaa
gomvi,JaimeJC lj99,daenaral Yeniferrr,CJTR
gomvi,Jannia lj99,drB11 Yeniferrr,Glbr15
gomvi,ll11 lj99,JaimeJC Yeniferrr,gn24
gomvi,NJHLL lj99,Jd210 Yeniferrr,khr
gomvi,NJHLL lj99,khr Yeniferrr,lj99
gomvi,sllb lj99,Yeniferrr Yeniferrr,maldY
Hmm,CJTR ll11,gomvi Yeniferrr,MattGM
Hmm,drB11 ll11,Jannia Yeniferrr,NJHLL
Hmm,Glbr15 ll11,khr
Hmm,gn24 ll11,krin
13
B. PRUEBAS
14
Paso 4: podrá ver todos sus amigos.
Paso 6: una vez ingresado podrá ver toda la información del nick.
15
Paso 3: podrá ver un listado de todos los usuarios registrados.
Paso 4: para buscar por nick ingrese el nickname correcto y el programa le mostrara la
información.
Paso 5: para buscar por apellido ingrese el correcto y el programa le mostrara la información.
16
Paso 6: para buscar por hobbie ingrese el correcto y el programa le mostrara la información.
Paso 7: para buscar por edad ingrese la correcta y el programa le mostrara la información.
Paso 8: para buscar por ciudad ingrese la correcta y el programa le mostrara la información.
17