seergiomv

Struct dentro de struct

Jan 3rd, 2020
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.51 KB | None | 0 0
  1. #include <stdio.h>
  2. //Estructuras dentro de estructuras
  3.  
  4. //estructura de la fecha
  5. typedef struct fecha{
  6.     int dia;
  7.     int mes;
  8.     int anio;
  9. }fecha_t;
  10.  
  11.  
  12. //estructura del contacto
  13. typedef struct contacto{
  14.     char nombre[80];
  15.     long tel;
  16.     //fecha_nacimiento tambien es un struct
  17.     fecha_t fecha_nacimiento;
  18. }contacto_t;
  19.  
  20.  
  21. //funcion para crear una fecha
  22. fecha_t crear_fecha(){
  23.     //creo una fecha en blanco
  24.     fecha_t nueva_fecha;
  25.  
  26.     //asigno dia
  27.     printf("\ningrese el dia:");
  28.     fflush(stdin);
  29.     scanf(" %d",&nueva_fecha.dia);
  30.  
  31.     //asigno mes
  32.     printf("\ningrese el mes:");
  33.     fflush(stdin);
  34.     scanf(" %d",&nueva_fecha.mes);
  35.  
  36.     //asigno anio
  37.     printf("\ningrese el anio:");
  38.     fflush(stdin);
  39.     scanf(" %d",&nueva_fecha.anio);
  40.  
  41.     //devuelvo la fecha
  42.     return nueva_fecha;
  43. }
  44.  
  45. //funcion para crear un contacto
  46. contacto_t crear_contacto(){
  47.     //creo un contacto en blanco
  48.     contacto_t nuevo_contacto;
  49.  
  50.     //asigno el nombre
  51.     printf("ingrese el nombre");
  52.     fflush(stdin);
  53.     gets(nuevo_contacto.nombre);
  54.  
  55.     //asignar el tel
  56.     printf("ingrese el tel");
  57.     fflush(stdin);
  58.     scanf(" %d",&nuevo_contacto.tel);
  59.  
  60.     //asignar la fecha de nacimiento
  61.     nuevo_contacto.fecha_nacimiento = crear_fecha();
  62.  
  63.     //devuelvo el contacto listo
  64.     return nuevo_contacto;
  65. }
  66.  
  67.  
  68.  
  69. int main(void){
  70.     //creo un contacto esto es lo mismo q poner: contacto_t c1 = crear_contacto();
  71.     contacto_t c1;
  72.     c1 = crear_contacto();
  73.  
  74.     return 0;
  75. }
Advertisement
Add Comment
Please, Sign In to add comment