


















Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
La conceptación de estructuras de datos en C, su sintaxis y cómo definir, declarar y acceder a sus miembros. Además, se presentan conceptos relacionados como typedef, estructuras anidadas, memoria dinámica y arreglos de estructuras.
Tipo: Guías, Proyectos, Investigaciones
1 / 26
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



















struct alumno { int edad; char nombre[30]; struct alumno persona; // error de
struct alumno *ptrE; //puntero };
malloc sirve para solicitar un bloque de memoria del tamaño
(^) El tamaño se especifica en bytes. El problema de malloc es conocer cuántos bytes se requieren reservar. Si se quiere reservar una zona para diez enteros, habrá que multiplicar diez por el tamaño de un entero. (^) El tamaño de char siempre es 1.
int* dato_simple; dato_simple = (int) malloc(3sizeof(int)); Conversor explícito (opcional)
Tamaño Tipo
{ char nombre_empleado[50]; char direccion[25]; char ciudad[20]; char provincia[20]; long int cod_postal; double salario; }; struct cliente { char nombre_cliente[50]; char direccion[25]; char ciudad[20]; char provincia[20]; long int cod_postal; double saldo; }; struct info_dir { char direccion[25]; char ciudad[20]; char provincia[20]; long int cod_postal; }; struct empleado { char nombre_empleado[50]; struct info_dir direccion_empleado; double salario; }; struct cliente { char nombre_cliente[50]; struct info_dir direccion_cliente; double saldo; };
#include <stdio.h> #include <time.h> struct fecha { unsigned int mes, dia, anyo; }; struct tiempo { unsigned int horas, minutos; }; enum tipo_operacion {deposito, retirada, aldia, estado}; typedef struct fecha Fecha; typedef struct tiempo Tiempo; typedef enum tipo_operacion TipOperacion; struct registro_operacion { long int numero_cuenta; float cantidad; TipOperacion operacion; Fecha f; Tiempo t; }; Programa que diseña una estructura con información de operaciones financieras
RegistrOperacion entrada(void) { int x, y, z; RegistrOperacion una; printf("\n Numero de cuenta: "); scanf("%ld",&una.numero_cuenta); puts("\tTipo de operacion: "); puts("Deposito(0)"); puts("Retirada de Fondos(1)"); puts("puesta al dia(2)"); puts("Estado de la cuenta(3)"); scanf("%d",&una.operacion); printf("\n Fecha (dia mes año"); scanf("%d %d %d",&una.f.dia,&una.f.mes,&una.f.anyo); printf("Hora de la operacion (hora minuto)"); scanf("%d %d", &una.t.horas,&una.t.minutos); return una; }
/Ejemplo de punteros a estructuras/** #include <stdio.h> struct fecha { unsigned int dd; unsigned int mm; unsigned int aa; }; void escribir(struct fecha *f); main() { struct fecha *hoy; hoy = (struct fecha *)malloc(sizeof(struct fecha)); printf("Introduzca la fecha (dd-mm-aa): "); scanf("%u -%u -%u",&hoy->dd,&hoy->mm, &hoy->aa); system("CLS"); escribir(hoy); system("PAUSE"); } void escribir (struct fecha *f) { printf("Dia %u del mes %u del anyo 20%u\n", f->dd,f->mm,f-
aa); }
/entrada de datos/ system("CLS"); printf("Finalizar la entrada de datos con ^Z\n\n"); printf("Nombre "); fin = gets(alumnos[n].nombre); while(n<NA && fin !=NULL) { printf("\nCalificacion: "); scanf("%f",&alumnos[n++].calificacion); fflush(stdin); system("CLS"); printf("Nombre "); fin= gets(alumnos[n].nombre); }
/Escribe resultados/ system("CLS"); for(i=0;i<n;i++) { if(alumnos[i].calificacion>=70) aprobados++; else reprobados++; } printf("\n la cantidad de aprobados es %d %\n", aprobados); printf("\n la cantidad de reprobados es %d %\n\n\n", reprobados); system("PAUSE"); }