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