Вы находитесь на странице: 1из 9

INGENIERÍA EN SISTEMAS COMPUTACIONALES

ESTRUCTURA DE DATOS

EJERCICIOS 04

AUTOR: JOSÉ FRANCISCO MORALES ZAPATA SEPTIEMBRE 2020


INSTRUCCIONES

Responde los siguientes planteamientos.

PLANTEAMIENTO 1

Escriba un programa que en una estructura guarde los datos de 5 amigos suyos y los
muestre por pantalla, utilizando para ello un arreglo de estructura, la misma estructura
contendrá (Nombre, Apellido, Edad, Sexo, Dirección, y Teléfono).Al terminar de
capturarlos datos imprímalos de manera presentablees decir utilice secuencias de escape
o formateo para presentar los datos en pantalla.

CÓDIGO FUENTE EN C

// Autor: José Francisco Morales Zapata


#include<conio.h>
struct amigos {
char nom[15],ap[15],sex[15],dir[15];;
int edad[15],tel[15];
}amigo[2];

int main() {
int x=0;
for(x=0; x<2; x++){
printf( "Escriba el nombre del amigo \n");
scanf( "%s", &amigo[x].nom);
printf( "Escriba el apellido del amigo \n");
scanf( "%s", &amigo[x].ap);
printf( "Escriba el numero de telefono del \n");
scanf( "%s", &amigo[x].tel);
printf( "Escriba el sexo del amigo \n");
scanf( "%s", &amigo[x].sex);
printf( "Escriba la direccion del amigo\n");
scanf( "%s", &amigo[x].dir);
printf( "Escriba la edad del amigo\n");
scanf( "%s", &amigo[x].edad);
}

1
for(x=0; x<2; x++){
printf( "Amigo: %s %s es %s, tiene %s a%cos, vive en %s y su numero de telefono es
%s \n",amigo[x].nom, amigo[x].ap, amigo[x].sex,amigo[x].edad, 164,amigo[x].dir, amigo[x].tel);
}
return 0;
}

2
PLANTEAMIENTO 2

Desarrolle un arreglo de estructura para un programa que lea (por teclado)una


lista(10elementos)de alumnos(nombre)y las notas(calificaciones) correspondientes a una
determinada asignatura(estructura de datos); imprima el porcentaje de los alumnos
aprobados y no aprobados.

CÓDIGO FUENTE EN C

// Autor: José Francisco Morales Zapata


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
struct Alumnos{
char Nombre[50];
float Calificacion;
}RegistroAlumnos[3];

int main(int argc, char *argv[]) {


int Aprobados=0, Reprobados=0, x;
for(x=0; x<3;x++){
printf("Ingrese el nombre del alumno: \n");
scanf("%s", &RegistroAlumnos[x].Nombre);
printf("Ingrese la calificacion del alumno \n");
scanf("%f", &RegistroAlumnos[x].Calificacion);
if(RegistroAlumnos[x].Calificacion>=6.0) Aprobados++;
else Reprobados++;
}
float PromedioAprobados = (float)Aprobados/3;
float PromedioReprobados = (float)Reprobados/3;
printf("La asignatura de Estructura de Datos ha finalizado con %.2f porcentaje de
aprobacion: \n", (PromedioAprobados*100));
for (x=0; x<3;x++){

3
if(RegistroAlumnos[x].Calificacion>=6.0){
printf("Alumno: %s Calificacion: %f \n",RegistroAlumnos[x].Nombre,
RegistroAlumnos[x].Calificacion);
}
}
printf("La asignatura de Estructura de Datos ha finalizado con %.2f porcentaje de
reprobacion: \n", (PromedioReprobados*100));
for (x=0; x<3;x++){
if(RegistroAlumnos[x].Calificacion<6.0){
printf("Alumno: %s Calificacion: %f \n",RegistroAlumnos[x].Nombre,
RegistroAlumnos[x].Calificacion);
}
}

return 0;
}

PREGUNTAS PARA EL PROFESOR:


EL PROGRAMA NO PERMITE GUARDAR NOMBRES CON ESPACIOS, LA CONSOLA
SOLO DA LECTURA A LA PRIMER CADENA Y LAS DEMAS OMITE. BUSQUE LA
ALTERNATIVA DEL METODO: SCANF(“%[^\n”, CADENA); PERO ESTO NO RESUELVE
EL PROBLEMA

4
PLANTEAMIENTO 3

Escriba un programa que en una estructura lleve el control de un inventario de cintas de


una tienda de video(máximo 10 cintas), agregar(al iniciar el programa se debe cargarpor
códigopor lo menos trescintas)o eliminar (un id con valor cero indicauna cinta eliminada).
Asegúrese que la estructura incluya el id de la cinta, el título de la cinta, la longitud de la cinta,
el precio de alquiler, la fecha en que se vendió, y la clasificación de la cinta.Imprimaen
pantallael catálogode cintas de video de manera presentable para el usuario. Si se
quiereagregarmas de 10 cintas se debe anunciar al usuario quedebe eliminar una cinta para
almacenar la solicitada.

PREGUNTAS PARA EL PROFESOR:


• EL PROGRAMA NO PERMITE GUARDAR NOMBRES CON ESPACIOS, LA
CONSOLA SOLO DA LECTURA A LA PRIMER CADENA Y LAS DEMAS OMITE.
BUSQUE LA ALTERNATIVA DEL METODO: SCANF(“%[^\n”, CADENA); PERO
ESTO NO RESUELVE EL PROBLEMA
• EL PROGRAMA NO PERMITE INICIALIZAR LAS PRIMERAS POCISIONES DEL
ARREGLO DE ESTRUCTURAS, NINGUNA FUENTE DE CONSULTA ME INDICA
COMO HACERLO POR LO QUE LE SOLICITO DE LA MANERA MAS ATENTA UNA
RETROALIMENTACIÓN.

PLANTEAMIENTO 4

Desarrolle un programa que lleve el control de los nombres, edades, calificaciones y


coeficiente intelectual de 10 estudiantes. Capture los datos desde el teclado utilizando
un ciclo for, imprime los datos en la pantalla de manera presentable cuando se termine
de capturar los mismos. Emplear un Arreglo de Estructuras.

CÓDIGO FUENTE EN C

// Autor: José Francisco Morales Zapata


#include <stdio.h>
#include<conio.h>
struct alumnos {
char nom[15],edad[15],cal[15],iq[15];
}al[3];
int main(){
int x;

5
for(x=0; x<3; x++){
printf( "Escribe el nombre del alumno: \n" );
scanf( "%s", &al[x].nom);
printf( "Escribe la edad del alumno: \n" );
scanf( "%s", &al[x].edad);
printf( "Escribe la calificacion final del alumno: \n" );
scanf( "%s", &al[x].cal);
printf( "Escribe el coeficiente intelectual del alumno: \n" );
scanf( "%s", &al[x].iq);
}
for(x=0; x<3; x++){
printf( "El alumno %s tiene %s a%cos, su calificacion es %s y su coeficiente intelectual
es %s.\n",al[x].nom, al[x].edad, 164,al[x].cal, al[x].iq);
}
return 0;
}

6
PLANTEAMIENTO 5

En una clase, asuma que hay un número de 20 estudiantes. Cada estudiante


esta registrado en los mismos cursos en un semestre. Al final del semestre, el instructor asigna
letras de calificaciones de la A ala E para los seis cursos de cada estudiante. Cada uno de los
seis cursos es de 3 unidades. Asigne las letras a todos de los cursos,estudiantes,y unidades
de manera aleatoria.Imprima de manera presentable el promedio de cada estudiante enletras
y numero para cada uno de los seis cursos. La escala de 10 puntos. Para realizar esto, a
continuación,se presentanlas notas asociadas con cada una de las calificaciones en letras.
Use una estructura para este problema.

7
RECURSOS DE INFORMACIÓN

Schildt, H. (2001). C MANUAL DE REFERENCIA. 4° Edición. Madrid España. Mc-Graw Hill.


Obtenido en Septiembre de 2020. Obtenido en: ENLACE

Вам также может понравиться