La verdad no se programar, al menos no como yo quisiera, ni siquiera programo visual , todo "arcaico" para linea de comandos.
Quiero que me den su opinion de si por lo menos tengo una buena logica de programacion. El siguiente programa trata de lo siguiente: Se ingresaran datos de peso y talla de alumnos de 10 facultades y se tiene que obtener una tabla con el promedio de peso y talla por facultad (ya se que esta bien chafa pero mi profra. tambien lo es
![Golpeado](http://static.forosdelweb.com/fdwtheme/images/smilies/pelea.png)
)
Código:
#include <stdio.h>
#include <conio.h>
int idFac[20], datosTalla[20], datosPeso[20], NoRegistro;
void promediar()
{
int acumulaTalla=0, acumulaPeso=0, facultad=1, contador=0;
for(facultad=1;facultad<=10;facultad++)
{
acumulaTalla=0;
acumulaPeso=0;
for(contador=0;contador<=NoRegistro;contador++)
{
if(idFac[contador]==facultad)
{
acumulaTalla=datosTalla[contador];
acumulaPeso=datosPeso[contador];
}
}
if(acumulaTalla==0&&acumulaPeso==0)
printf("\nNo existen datos para la facultad %d", facultad);
else
{
acumulaTalla=acumulaTalla/NoRegistro;
acumulaPeso=acumulaPeso/NoRegistro;
printf("El promedio de Peso en la Facultad %d es %d y de Talla es %d\n", facultad, acumulaPeso, acumulaTalla);
}
}
}
void crearRegistro()
{
do
{
printf("¿A que facultad pertences?\n\n 1(FCA) 2(FI) 3(FD) 4(FQ) 5(FFyL) 6(FC) 7(FCPyS) 8(FE) 9(FA) 10(FM) " );
scanf("%d", &idFac[NoRegistro]);
if(idFac[NoRegistro]<1||idFac[NoRegistro]>10)
{
printf("\nLa facultad no existe");
getch();
clrscr();
}
}
while(idFac[NoRegistro]<1||idFac[NoRegistro]>10);
printf("\nEscribe la talla en cm: ");
scanf("%d", &datosTalla[NoRegistro]);
printf("\nEscribe el peso en Kg: ");
scanf("%d", &datosPeso[NoRegistro]);
NoRegistro++;
}
void main()
{
int opcion;
do
{
printf("Menu\n\n 1. Registro\n 2. Promediar\n 3. Salir\n\n");
do
{
scanf("%d", &opcion);
switch(opcion)
{
case 1:
clrscr();
if (NoRegistro>=20)
printf("\nLos registros se han completado");
else
crearRegistro();
break;
case 2: clrscr(); promediar(); break;
case 3: clrscr(); printf("Ha decidido terminar la aplicación, presione cualquier tecla para salir.\n"); break;
default: clrscr(); printf("Opcion no valida\n");
}
}
while(opcion<1||opcion>3);
getch();
clrscr();
}
while(opcion!=3);
}