Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/11/2005, 15:52
Avatar de Shion
Shion
 
Fecha de Ingreso: noviembre-2004
Mensajes: 100
Antigüedad: 20 años, 3 meses
Puntos: 0
¿Mi programacion es "chafa"?

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 )

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);
}