void GrafoSocial::aleatorizarGrafo(){ int cant = (rand() % 95 ) + 5; for (int i = 0; i < cant; i++){ Persona * p1 = new Persona(); p1->setID(i); agregarPersona(p1); } for (int i = 0; i < cant; i++){ IPersona * a = getPersonaAleatoria(); IPersona * b = getPersonaAleatoria(); if (a != b && !sonAmigos(a,b)){ establecerAmistad(a, b); } } }
int main ( int argc, char *argv[] ){ srand((int) time(NULL)); printf("Cuantas personas van a ser: "); scanf("%d",&numPersonas); struct Persona* personas = (struct Persona*) malloc (numPersonas * sizeof(struct Persona)); char*** preguntas = (char***) malloc (10 * sizeof(char**)); agregarPersona(personas); agregarPregunta(preguntas); llenarEncuesta(personas, preguntas); histograma(personas, preguntas); histogramaEdades(personas, preguntas); Borrar(personas, preguntas); return 0; }
int main() { EPersona persona[20]; char seguir = 's'; int op = 0, flag = 0, carga = 0; long int auxDni; do{ system("cls"); printf("1- Agregar persona\n"); printf("2- Borrar persona\n"); printf("3- Imprimir lista ordenada por nombre\n"); printf("4- Imprimir grafico de edades\n\n"); printf("5- Salir\n"); scanf("%d",&op); switch(op) { case 1: system("cls"); if(flag == 0){ inicializarEstados(persona, TAM); flag = 1; } agregarPersona(persona, TAM); carga = 1; system("pause"); break; case 2: system("cls"); if (carga == 0) printf("Debe ingresar algun dato primero\n"); else{ auxDni = getLongInt(auxDni, "Ingrese DNI a eliminar: ", "\n\nERROR. El DNI debe ser entre 1000000 y 99999999.\nReingrese: ", 100000, 99999999); borrarPersona(persona, auxDni, TAM); } system("pause"); break; case 3: system("cls"); if (carga == 0) printf("Debe ingresar algun dato primero\n"); else ordenarPersonas(persona, TAM); system("pause"); break; case 4: system("cls"); if (carga == 0) printf("Debe ingresar algun dato primero\n"); else graficoPersonas(persona, TAM); system("pause"); break; case 5: seguir = 'n'; break; default: system("cls"); printf("Opcion invalida. Elija una opcion entre 1 y 5\n"); system("pause"); } }while(seguir=='s'); return 0; }
int main() { Persona *p; int tamP = 0;//tamaño del arreglo dinámico int sharmutta = -1; //la opcion de cases //sección del arreglo dinámico p = (Persona*)malloc(1*sizeof(Persona)); while(sharmutta != 7) { printf("Menu\n 1. Agregar Persona\n 2. Promedio\n 3. Entre edades\n 4. El mas viejo\n 5. EL mas joven\n 6. Listar\n 7. Salir\n"); scanf("%d", &sharmutta); if(sharmutta == 1) { p = (Persona*)realloc(p, (tamP+1) * sizeof(Persona)); agregarPersona(p, tamP); tamP++; } /*sección de promedio de edad, entre edades, el más joven y el más viejo */ else if(sharmutta == 2) { //promedio de edad float promedio; for(i = 0; i < tamP; ++i) //printf("%s %s %d leido correctamente\n", (p+i)->nombre, (p+i)->apellido, (p+i)->edad); promedio += (p+i)->edad; printf("El promedio de edad es %.1f\n", (promedio/i)); } else if(sharmutta == 3) { //entre edades int edad, edad2; printf("Entre el primer numero del rango\n"); scanf("%d", &edad); printf("Entre el segundo numero del rango (debe ser mayor al anterior)\n"); scanf("%d", &edad2); for(i = 0; i < tamP; ++i) { if((p+i)->edad <= edad2 && (p+i)->edad >= edad) printf("%s %s %d\n", (p+i)->nombre, (p+i)->apellido, (p+i)->edad); } } else if(sharmutta == 4) { //el más viejo Persona *res; for (i = 0; i < tamP; ++i) { if(i+1 != tamP+1 && (p+i)->edad < (p+i+1)->edad && tamP != 0) res = (p+i); else res = p; } printf("La persona mas vieja es %s %s %d\n", res->nombre, res->apellido, res->edad); } else if(sharmutta == 5) { //el más joven Persona *res; for (i = 0; i < tamP; ++i) { if(i+1 != tamP+1 && (p+i)->edad > (p+i+1)->edad && tamP != 0) res = (p+i); else res = p; } printf("La persona mas joven es %s %s %d\n", res->nombre, res->apellido, res->edad); } else if(sharmutta == 6) { printf("Las %d personas guardadas son:\n", tamP); for(i = 0; i < tamP; ++i) printf("%s %s %d\n", (p+i)->nombre, (p+i)->apellido, (p+i)->edad); } else if(sharmutta == 7) { printf("BYE!\n"); } else printf("No es opcion ¬¬\n"); } limpiar(p,tamP);//no memory leaks return 0; }