Sei sulla pagina 1di 4

1

CERTAMEN 1 COMPUTACIN 2: CORRECCIN

Desarrolle un programa en C que permita simular el funcionamiento de un reloj,


presentando en pantalla la hora y los minutos con el siguiente formato: H:M. El
programa debe permitir la salida del programa al finalizar cada hora, preguntndole
al usuario si este desea salir del programa o mantenerse en el.
#include<stdio.h>
#include<stdlib.h>
int main()
{
int H=0,M=0, opc=1;
do{
if(H<24)
{
if(M<60)
{
printf("%d:%d\n", H,M);
M++;
}
else
{
printf("desea seguir? Ingrese a continuacin 1:SI 0:NO? =");
scanf("%d", &opc);
if (opc==1)
{
H++;
M=0;
}
else
{
printf("Ha elegido salir\n");
break;
}
}
}
else
H=0;
}while(M<=60);
system("PAUSE");
}

Desarrolle un programa en C que utilice una funcin del tipo void, la que debe ser capaz
de determinar la suma de una serie de nmeros ingresados por teclado, la funcin
recibe como uno de los argumentos: la cantidad total de nmeros, el (o los) otro(s)
argumentos que reciba los determina usted. Luego, en el MAIN, se pide determinar el
promedio de esa serie de nmeros. Puede usar punteros o valores por referencia.

#include<stdio.h>
#include<stdlib.h>
void F(int *, int);
int main()
{
int N=0,CN;
printf("ingrese la cantidad de nmeros a sumar:");
scanf("%d",&CN);
F(&N,CN); //en N que lo pasamos por referencia, guardaremos la suma.
printf("La suma es: %d\n", N);
system("PAUSE");
}
void F(int *X, int Y)
{
int i=0, m;
do{
scanf("%d",&m);
*X=*X+m;
i++;
}while(i<Y);
}

Desarrolle un programa que utilice estructuras en C para almacenar los siguientes


datos: nombre, apellido, RUT, nota1, nota2, nota3, promedio.
Se solicita almacenar los registros de los ramos de algebra (25 alumnos) y de
matemticas (30 alumnos).
Se solicita obtener el promedio de cada alumno en cada ramo y el promedio general del
ramo.
Se solicita buscar a un alumno para mostrar por pantalla los promedios que obtuvo en
ambos ramos, para ello se debe ingresar el RUT por teclado y presentar en pantalla su
nombre, apellido y promedio segn el ramo correspondiente.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>//usaremos esta librera para la funcion strcmp() para
// comparar arreglos de caracteres
//usaremos las siguientes constantes para los arreglos.
#define d1 2 //ALGEBRA: debiera ser 25
#define d2 2 //MATEMATICAS: debiera ser 30
struct data{
char N[10], A[10];
char RUT[9]; //el rut lo guardaremos como un arreglo de caracteres.
//ojo que no se considera el guin antes del DV.
float n1,n2,n3,p;
} alg[d1], mate[d2]; //aca van los ramos.
int main()
{
int i, a=1,m=100; //a y m se usaran para la bsqueda del RUT
//a = para guardar el resultado de la comparacin de strcmp
// a puede tomar: 0 = que son iguales 1(u otro valor)= no son iguales
// m es para guardar la posicin, de momento le pondremos 100 que
// sabemos que es una posicin que no existe en ninguno de los arreglos.
float sa=0, sm=0, pa=0, pm=0; //sumas y promedios para algebra y mate
char CRUT[9]; //rut que se ingresa despus por teclado para buscar
for(i=0;i<d1;i++)
{//llenamos el curso de algebra.
printf("Ingrese nombre y apellido:");
scanf("%s %s",alg[i].N,alg[i].A);
printf("Ingrese RUT, con el DV, sin incluir el guion:");
scanf("%s",alg[i].RUT);
printf("Ingrese nota 1:");
scanf("%f",&alg[i].n1);
printf("Ingrese nota 2:");
scanf("%f",&alg[i].n2);
printf("Ingrese nota 1:");
scanf("%f",&alg[i].n3);
alg[i].p=(alg[i].n1+alg[i].n2+alg[i].n3)/3;
printf("El promedio de %s %s es:%.1f\n",alg[i].N,alg[i].A,alg[i].p);
sa=sa+alg[i].p; //sumatoria para el promedio del curso
}
pa=sa/d1; //luego se divide y se obtiene el promedio general
printf("El promedio general de Algebra es:%.1f\n",pa);

for(i=0;i<d2;i++)
{ //lo mismo para matematicas
printf("Ingrese nombre y apellido:");
scanf("%s %s",mate[i].N,mate[i].A);
printf("Ingrese RUT, con el DV, sin incluir el guion:");
scanf("%s",mate[i].RUT);
printf("Ingrese nota 1:");
scanf("%f",&mate[i].n1);
printf("Ingrese nota 2:");
scanf("%f",&mate[i].n2);
printf("Ingrese nota 1:");
scanf("%f",&mate[i].n3);
mate[i].p=(mate[i].n1+mate[i].n2+mate[i].n3)/3;
printf("El promedio de %s %s es:%.1f\n",mate[i].N,mate[i].A,mate[i].p);
sm=sa+mate[i].p;
}
pm=sm/d2;
printf("El promedio general de Matematicas es:%.1f\n",pm);
//busqueda por RUT
printf("Ingrese RUT, con el DV, sin incluir el guion:");
scanf("%s",CRUT);
for(i=0;i<d1;i++)
{
a=strcmp(CRUT, alg[i].RUT); //si encuentra que el rut es igual al que
//busco, debiera guardar un 0.
if(a==0) //y si es 0 entonces guardo la posicin del arreglo en m
{ m=i;
break; //luego salimos del ciclo porque ya lo encontramos.
}
}
if(m!=100) //si m deja de ser 100 (ya que guardo la posicin)
//imprime el nombre y su promedio en esa posicin.
printf("El promedio de %s %s en Algebra es:%.1f\n",alg[m].N,alg[m].A,alg[m].p);
else
printf("El RUT %s No curso el ramo de Algebra\n",CRUT);
m=100; //volvemos a 100 para reutilizar la misma variable

for(i=0;i<d2;i++)
//lo mismo para matematicas.
a=strcmp(CRUT, alg[i].RUT);
if(a==0)
{ m=i;
break;
}

}
if(m!=100)
printf("y su promedio en Matematicas es:%.1f\n",mate[m].N,mate[m].A,mate[m].p);
else
printf("y no curso el ramo de Matematicas\n");
system("PAUSE");
}

Potrebbero piacerti anche