[C con Clase] problemita con columnas

Ferran Ferri ferranferri en gmail.com
Mar Sep 22 09:05:34 CEST 2009


Es preferible usar const int 10 en vez de #define, puesto que C++ hace
comprobacion de tipos en las constantes y no asi en los defines. Esto
hace que tu codigo sea menos propenso a errores, ademas de que el
depurado es mas sencillo.

Lo que dices de que no ocupa memoria tampoco es cierto. Un define 10
ocupa un entero una vez substituido igual que la declaracion de un
integer.
Ferran



2009/9/21 ALEJANDRO ALFARO <aleannsam en hotmail.com>:
> ah ok perfecto
> gracias
> saludos
>
>
>
>
> ________________________________
> From: silviostenta en hotmail.com
> To: cconclase en listas.conclase.net
> Date: Mon, 21 Sep 2009 13:30:38 -0300
> Subject: Re: [C con Clase] problemita con columnas
>
> Es para expresar una especie de constante reemplaza en cada lugar que esta
> el MAX por el 10 en tiempo de compilación, no ocupa memoria en ejecucion
> como una constante, si queres sacala y reeplazalo por el 10 pero por ejemplo
> si queres cargar en vez de 10 cargar 20 lo cambias en max y listo.
> From: ALEJANDRO ALFARO
> Sent: Monday, September 21, 2009 1:26 PM
> To: cconclase en listas.conclase.net
> Subject: Re: [C con Clase] problemita con columnas
> ok este esta mucho mejor
> pero no entiendo lo de #define MAX 10
>
>
> gracias.
>
>
>
>
> ________________________________
> From: silviostenta en hotmail.com
> To: cconclase en listas.conclase.net
> Date: Mon, 21 Sep 2009 12:26:19 -0300
> Subject: Re: [C con Clase] problemita con columnas
>
> Tenes varios errores y algunas cosas que se pueden mejorar, te mando esta
> alternativa no es la unica ni la mejor seguramente pero es para que veas
> como se puede hacer.
> Saludos.
>
>
> #include <stdio.h>
> #include <conio.h>
> #define MAX 10
>
> struct alumno
> {
>        char nom[30];
>        float calif[3];
> };
>
> int main()
> {
>     int conta,i;
>     float prom;
>     alumno ListaAlum[10];
>     for (i=0;i<=MAX;i++)
>     {
>         fflush(stdin);
>         printf("\n\n DAME EL NOMBRE DEL ALUMNO %d: ",i);
>         gets(ListaAlum[i].nom);
>
>         printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:  ");
>         scanf("%f",&ListaAlum[i].calif[0]);
>
>         printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL  ");
>         scanf("%f",&ListaAlum[i].calif[1]);
>         prom=(ListaAlum[i].calif[0]+ListaAlum[i].calif[1])/2;
>         ListaAlum[i].calif[2]=prom;
>     }
>     getchar();
>     printf("\n\nLa lista de calificaciones son: \n");
>
>     for (i=0;i<=MAX;i++)
>     {
>         printf("%-30s \t| %4.1f \t| %4.1f \t| %4.1f \n",
>
> ListaAlum[i].nom,ListaAlum[i].calif[0],ListaAlum[i].calif[1],ListaAlum[i].calif[2]);
>     }
>     return 0;
> }
>
>
>
>
>
> From: ALEJANDRO ALFARO
> Sent: Sunday, September 20, 2009 11:45 PM
> To: cconclase en listas.conclase.net
> Subject: [C con Clase] problemita con columnas
>
>
> hola que tal
> quiero ver si me pueden auxiliar
> tengo un programa donde pide el nombre del alumno
> y el primer parcial asi como el segundo parcial
>
> pero quiero verlos en 4 columnas
> por ejemplo
>
>
> nombre      primer parcial       segundo parcial        promedio
>
> lucia                 8                               9
> 8.5
>
> pero no me salen asi
>
> este es mi codigo se que hay una instruccion por que el profesor nos lo
> comento pero no se como usarla
> es el struc y pues yo lo hice asi
>
> este es mi codigo ademas esta muy grande
> creo que con el struc es mas facil y corto
>
> #include <stdio.h>
> #include <conio.h>
>
> char nom[30];
> float calif[10][3];
> int conta,i;
> float prom;
>
> main()
> {
>
>
>
>         printf("\n\n DAME EL NOMBRE DEL ALUMNO 1:  ");
>         scanf("%s",&nom1);
>
>       printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:  ");
>         scanf("%f",&calif[1][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL  ");
>         scanf("%f",&calif[1][1]);
>         prom=(calif[1][0]+calif[1][1])/2;
>       calif[1][2]=prom;
>
>
>
>       printf("\n\n DAME EL NOMBRE DEL ALUMNO 2:  ");
>         scanf("%s",&nom2);
>
>       printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL: ");
>         scanf("%f",&calif[2][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL: ");
>         scanf("%f",&calif[2][1]);
>       prom=(calif[2][0]+calif[2][1])/2;
>         calif[2][2]=prom;
>
>
>
>       printf("\n\n DAME EL NOMBRE DEL ALUMNO 3:  ");
>         scanf("%s",&nom3);
>
>       printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:");
>         scanf("%f",&calif[3][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL:");
>         scanf("%f",&calif[3][1]);
>       prom=(calif[3][0]+calif[3][1])/2;
>       calif[3][2]=prom;
>
>
>
>       printf("\n\n DAME EL NOMBRE DEL ALUMNO 4:  ");
>         scanf("%s",&nom4);
>
>       printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:  ");
>         scanf("%f",&calif[4][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL  ");
>         scanf("%f",&calif[4][1]);
>         prom=(calif[4][0]+calif[4][1])/2;
>         calif[4][2]=prom;
>
>
>
>
>       printf("\n\n DAME EL NOMBRE DEL ALUMNO 5:  ");
>         scanf("%s",&nom5);
>
>       printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:  ");
>         scanf("%f",&calif[5][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL  ");
>         scanf("%f",&calif[5][1]);
>         prom=(calif[5][0]+calif[5][1])/2;
>         calif[5][2]=prom;
>
>
>
>       printf("\n\n DAME EL NOMBRE DEL ALUMNO 6:  ");
>         scanf("%s",&nom6);
>
>       printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:  ");
>         scanf("%f",&calif[6][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL  ");
>         scanf("%f",&calif[6][1]);
>         prom=(calif[6][0]+calif[6][1])/2;
>         calif[6][2]=prom;
>
>
>
>
>       printf("\n\n DAME EL NOMBRE DEL ALUMNO 7:  ");
>         scanf("%s",&nom7);
>
>         printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:  ");
>         scanf("%f",&calif[7][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL  ");
>         scanf("%f",&calif[7][1]);
>         prom=(calif[7][0]+calif[7][1])/2;
>         calif[7][2]=prom;
>
>
>
>       printf("\n\n DAME EL NOMBRE DEL ALUMNO 8:  ");
>         scanf("%s",&nom8);
>
>       printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:  ");
>         scanf("%f",&calif[8][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL  ");
>         scanf("%f",&calif[8][1]);
>         prom=(calif[8][0]+calif[8][1])/2;
>         calif[8][2]=prom;
>
>
>
>       printf("\n\n DAME EL NOMBRE DEL ALUMNO 9:  ");
>         scanf("%s",&nom9);
>
>       printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:  ");
>         scanf("%f",&calif[9][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL  ");
>         scanf("%f",&calif[9][1]);
>         prom=(calif[9][0]+calif[9][1])/2;
>         calif[9][2]=prom;
>
>
>
>
>
>       printf("\n\n DAME EL NOMBRE DEL ALUMNO 10:  ");
>         scanf("%s",&nom10);
>
>       printf("\n DAME LA CALIFICACION DEL PRIMER PARCIAL:  ");
>         scanf("%f",&calif[10][0]);
>
>       printf("\n DAME LA CALIFICACION DEL SEGUNDO PARCIAL  ");
>         scanf("%f",&calif[10][1]);
>         prom=(calif[10][0]+calif[10][1])/2;
>         calif[10][2]=prom;
>
>
>
>
>          getch();
>          printf("\n\nLa lista de calificaciones son: \n");
>
>
>
>          for (i=0;nom1[i]!='\0';i++)
>
>
>          printf("%c",nom1[i]);
>          printf("\t\t%.2f",calif[1][2]);
>          printf("\n");
>
>
>          for (i=0;nom2[i]!='\0';i++)
>
>          printf("%c",nom2[i]);
>          printf("\t\t%.2f",calif[2][2]);
>          printf("\n");
>
>
>          for (i=0;nom3[i]!='\0';i++)
>
>          printf("%c",nom3[i]);
>          printf("\t\t%.2f",calif[3][2]);
>          printf("\n");
>
>
>          for (i=0;nom4[i]!='\0';i++)
>
>          printf("%c",nom4[i]);
>          printf("\t\t%.2f",calif[4][2]);
>          printf("\n");
>
>
>          for (i=0;nom5[i]!='\0';i++)
>
>          printf("%c",nom5[i]);
>          printf("\t\t%.2f",calif[5][2]);
>          printf("\n");
>
>
>          for (i=0;nom6[i]!='\0';i++)
>
>          printf("%c",nom6[i]);
>          printf("\t\t%.2f",calif[6][2]);
>          printf("\n");
>
>
>          for (i=0;nom7[i]!='\0';i++)
>
>          printf("%c",nom7[i]);
>          printf("\t\t%.2f",calif[7][2]);
>          printf("\n");
>
>
>          for (i=0;nom8[i]!='\0';i++)
>
>          printf("%c",nom8[i]);
>          printf("\t\t%.2f",calif[8][2]);
>          printf("\n");
>
>
>          for (i=0;nom9[i]!='\0';i++)
>
>          printf("%c",nom9[i]);
>          printf("\t\t%.2f",calif[9][2]);
>          printf("\n");
>
>          for (i=0;nom10[i]!='\0';i++)
>
>          printf("%c",nom10[i]);
>          printf("\t\t%.2f",calif[10][2]);
>          printf("\n");
>
>          printf("%-30s | %4.1f | %4.1f | %4.1f\n",
>         nom1[i].Nombre,
>         nom[i].calif[i][0],
>         nom[i].calif[i][1],
>         nom[i].calif[i][2]);
>
>
>    getch();
>    return 0;
> }
>
>
>
>
> si alguien puede ayudarme se los agradeceria
> saludos.
>
>
>
>
>
>
>
>
>
>
>
> Conoce el reto de esta semana y y gana con Perfil de Windows Live
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> ________________________________
> Tu vida, tus amigos y lo que te interesa está en Perfil de Windows Live.
> Actualízalo.
> ________________________________
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> ________________________________
> Tu vida, tus amigos y lo que te interesa está en Perfil de Windows Live.
> Actualízalo.
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>




Más información sobre la lista de distribución Cconclase