Está en la página 1de 2

1

CERTAMEN 3 COMPUTACIN 1: CORRECCIN



Implemente un programa utilizando estructuras, que sea capaz de almacenar los datos
de un almacn que posee 4 sucursales. Los datos a ingresar por teclado corresponden a:
direccin de la sucursal, ingresos, gastos y ganancias. Las ganancias por cada sucursal
se deben obtener a partir de restar los gastos a los ingresos. Logrando lo anterior, se
solicita:
- Obtener la suma total de las ganancias del almacn.
- Indicar la direccin del almacn con mayores ganancias.
#include<stdio.h>
#include<conio.h>

struct ficha
{
char dir[50];
int ing, gasto, ganancia;
}almacen[4];

int main()
{
int i, GT=0, max=0, pos;
for(i=0;i<4;i++)
{
printf("Escriba la direccin de la sucursal %d:", i+1);
scanf("%s",almacen[i].dir);
printf("Escriba el ingreso de la sucursal %d:", i+1);
scanf("%d",&almacen[i].ing);
printf("Escriba el gasto de la sucursal %d:", i+1);
scanf("%d",&almacen[i].gas);
//en el peor de los casos se podra haber ledo la ganancia por teclado, pero no era la idea.
almacen[i].ganancia = almacen[i].ing - almacen[i].gasto;
GT = GT + almacen[i].ganancia;
}

printf("La ganancia total es: %d \n", GT);

for (i=0; i<3; i++)
if( (almacen[i].ganancia > almacen[i+1].ganancia) && (max<almacen[i].ganancia) )
{
max= almacen[i].ganancia;
pos = i;
}
printf("La direccin de la mayor ganacia es: %s \n",almacen[pos].dir );

getch();
}




2
Desarrolle una funcin que permita obtener el promedio de un arreglo de nmeros
enteros.
float promedio(int A[ ], int Dim)
{
float R, sum=0;
int i;
for (i=0; i<Dim; i++)
sum= sum + A[i];
R=sum/Dim;
return R;
}

Indique, lnea a lnea, qu hace el siguiente cdigo:
#include<stdio.h> // Se declara librera estndar de entrada y salida para el printf()
#include<conio.h> // Se declara librera C tambin de entrada y salida para el getch()

int main() //se define la funcin principal MAIN
{ //inicio del main
int a[5]={10,20,30,40,50}; //se declara un arreglo del tipo entero, inicializndolo con los valores
//que aparecen luego del =
int *p, i, s=0; //se declara un puntero p de tipo entero y dos variables enteras, s asignado en 0
p=&a[0]; // p apunta a la primera posicin del arreglo, en este caso: 10
*p=*p+5; // el valor de 10 es reemplazado por un 15
s=*p+10; // s toma el valor de donde apunta p +10, osea 25
*(p+1)=s; //en la siguiente posicin del arreglo (pos:1) se guarda el 25. A[1]=25
s=s+100;// s= 125
*(p+2)=s; //dos posiciones despus de p, se guarda el 125. A[2]=125
s=s+1000; // s= 1125
*(p+3)=s; //tres posiciones despus de p, se guarda el 125. A[3]=1125
*(p+4)=*p+4; //cuatro posiciones despus de p, se guarda el 15+5. A[4]=19
for(i=0;i<5;i++) //se recorre el arreglo completo
printf("[%d]: %d\n", i, a[i]); //se imprime la posicin y el valor asociado. Osea:
// [0]=15
// [1]=25
// [2]=125
// [3]=1125
// [4]=19
getch(); // lee un carcter por teclado
} //fin del main

También podría gustarte