nombre); printf("Numero de cuenta:\n"); scanf("%i", &(*a).cuenta); // mejor asi: scanf("%i", &a->cuenta); printf("Calificacion:\n"); scanf("%f", &(*a).calif); // mejor asi: scanf("%f", &a->calif); void escribeDatosAlumno(struct Alumno a) { printf("Nombre: %s ", a.nombre); printf("Numero de cuenta: %i ", a.cuenta); printf("Calificacion: %f\n", a.calif); } int main() { struct Alumno a; dameDatosAlumno(&a); escribeDatosAlumno(a); return 0; } int capturaDatosAlumnos(struct Alumno a[]) { int i, n; printf("Numero de alumnos\n"); scanf("%i", &n); for( i = 0; i < n; i++) dameDatosAlumno(&a[i]); return n; } void imprimeDatosAlumnos(struct Alumno a[], int n) { for(int i = 0; i < n; i++) escribeDatosAlumno(a[i]); } int main() { struct Alumno a[50]; int n = capturaDatosAlumnos(a); imprimeDatosAlumnos(a, n); return 0; } Paso de estructuras a funciones"> nombre); printf("Numero de cuenta:\n"); scanf("%i", &(*a).cuenta); // mejor asi: scanf("%i", &a->cuenta); printf("Calificacion:\n"); scanf("%f", &(*a).calif); // mejor asi: scanf("%f", &a->calif); void escribeDatosAlumno(struct Alumno a) { printf("Nombre: %s ", a.nombre); printf("Numero de cuenta: %i ", a.cuenta); printf("Calificacion: %f\n", a.calif); } int main() { struct Alumno a; dameDatosAlumno(&a); escribeDatosAlumno(a); return 0; } int capturaDatosAlumnos(struct Alumno a[]) { int i, n; printf("Numero de alumnos\n"); scanf("%i", &n); for( i = 0; i < n; i++) dameDatosAlumno(&a[i]); return n; } void imprimeDatosAlumnos(struct Alumno a[], int n) { for(int i = 0; i < n; i++) escribeDatosAlumno(a[i]); } int main() { struct Alumno a[50]; int n = capturaDatosAlumnos(a); imprimeDatosAlumnos(a, n); return 0; } Paso de estructuras a funciones">

La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estructuras Una estructura es una colección de datos de diferente tipo. Se construye en dos pasos: 1- Creación del esqueleto de la estructura 2.- Colocación.

Presentaciones similares


Presentación del tema: "Estructuras Una estructura es una colección de datos de diferente tipo. Se construye en dos pasos: 1- Creación del esqueleto de la estructura 2.- Colocación."— Transcripción de la presentación:

1 Estructuras Una estructura es una colección de datos de diferente tipo. Se construye en dos pasos: 1- Creación del esqueleto de la estructura 2.- Colocación de la estructura en memoria struct nombreEstructura // Este es el esqueleto de la estructura { tipoDeDato1 identificador; // miembro 1 tipoDeDato2 identificador; // miembro 2 …. } ; int main() { struct nombreEstructura identificador; // estructura en la memoria return 0; } struct Alumno { char nombre[50]; int cuenta; float calif; } ; struct Alumno a; // estructura global int main() { struct Alumno b; return 0; }

2 Acceso a los miembros de la estructura #include struct Alumno { char nombre[50]; int cuenta; float calif; } a, b, c; // Tres estructuras globales int main() { struct Alumno *ap; // apuntador a una estructura strcpy(a.nombre, "Pedro Martinez"); a.cuenta = 34567; a.calif = 0; ap = &a; // Pon en el apuntador ap la dirección de a printf("Nombre del alumno: %s\n", (*ap).nombre); // acceso al contenido del miembro nombre printf("Nombre del alumno: %s\n", ap->nombre); // esta manera es más fácil return 0; }

3 include struct Alumno { char nombre[50]; int cuenta; float calif; }; void dameDatosAlumno(struct Alumno *a) { printf("Nombre del alumno:\n"); scanf("%s", (*a).nombre); // mejor asi: scanf("%s", a->nombre); printf("Numero de cuenta:\n"); scanf("%i", &(*a).cuenta); // mejor asi: scanf("%i", &a->cuenta); printf("Calificacion:\n"); scanf("%f", &(*a).calif); // mejor asi: scanf("%f", &a->calif); void escribeDatosAlumno(struct Alumno a) { printf("Nombre: %s ", a.nombre); printf("Numero de cuenta: %i ", a.cuenta); printf("Calificacion: %f\n", a.calif); } int main() { struct Alumno a; dameDatosAlumno(&a); escribeDatosAlumno(a); return 0; } int capturaDatosAlumnos(struct Alumno a[]) { int i, n; printf("Numero de alumnos\n"); scanf("%i", &n); for( i = 0; i < n; i++) dameDatosAlumno(&a[i]); return n; } void imprimeDatosAlumnos(struct Alumno a[], int n) { for(int i = 0; i < n; i++) escribeDatosAlumno(a[i]); } int main() { struct Alumno a[50]; int n = capturaDatosAlumnos(a); imprimeDatosAlumnos(a, n); return 0; } Paso de estructuras a funciones

4 1.- Creación de tipo de dato sinónimos: typedef TipoDeDato sinonimo; struct File {.... }; typedef char BYTE; // BYTE es sinónimo de char typedef struct File FILE; int main() { BYTE a, b, c; FILE *af ; // Apuntador a la estructura FILE } 2.- Inicio de un apuntador: Lo siguiente se puede hacer en un paso: int main() { int i; int *a; a = &i; } int main() { int i, *a = &i; } Cabitos sueltos

5 3.- Creación dinámica de arreglos: sizeof(tipoDeDato); // tamaño en bytes del tipo de dato void * malloc(NoDeElemntos * TamañodelTipoDeDato); #include int main() { int *b, a5[] = {3, 4, 5, 6, 7}; b =(int *) malloc(5 * sizeof(int)); // creación del espacio de memoria para 5 enteros for(int i = 0;i< 5;i++) b[i] = a[i]; free(b); // liberación del espacio de memoria } Cabitos sueltos

6 Escritura y lectura de archivos Escritura: 1.- Crear apuntador a FILE 2.- Abrir para escribir y dar nombre al archivo 3.- Escribir al archivo 4.- Cerrar el archivo #include int main() { float vel = 0, dir = 0; FILE *ap; // Crear apuntador a FILE ap = fopen("c:\\vientos.dat", "w"); // Abrir para escribir y dar nombre al archivo for(int i = 0; i< 100; i++) fprintf(ap, "%i %f %f\n", i+1, vel++, dir += 0.1); // Escribir al archivo fclose (ap); // Cerrar el archivo return 0; }

7 Escritura y lectura de archivos Lectura: 1.- Crear apuntador a FILE 2.- Abrir para leer el archivo dando su nombre y ruta 3.- Leer datos del archivo 4.- Cerrar el archivo #include int main() { float vel = 0, dir = 0; FILE *ap; // Crear apuntador a FILE ap = fopen("c:\\vientos.dat", "r"); // Abrir para leer el archivo for(int i = 0; i< 100; i++) { fscanf(ap, "%i %f %f\n",&i, &vel, &dir); // Leerr el archivo printf("%i %f %f\n", i, vel, dir); } fclose (ap); // Cerrar el archivo return 0; }


Descargar ppt "Estructuras Una estructura es una colección de datos de diferente tipo. Se construye en dos pasos: 1- Creación del esqueleto de la estructura 2.- Colocación."

Presentaciones similares


Anuncios Google