[C con Clase] ayuda

Programante programante en gmail.com
Vie Ago 22 00:42:18 CEST 2008


Gabriel Gomez Garnica escribió:
> Esta es una tabla ascii pero no puedo hacer que corra me marca 3 
> errores y un warning cren que me puedan decir en donde esta el error o 
> que es lo que fallo.
> /*PROGRAMA # 1
> Usando el tipo de dato unsigned char,
> desplegar en la pantalla la tabla “ASCII”*/
>
> #include <conio.h>
>   
conio no es estándar. Deberías evitarla siemp`re que puedas
> #include <stdio.h>
>
> void main()
>   
main debe devolver int
> {
> 	unsigned char c;
> 	clrscr();
> 	gotoxy(10,15);
>   
funciones de conio no estándares.
> 	printf ("PROGRAMA 1");
> 	printf("\n\n\n\n Este programa despliega en la pantalla la tabla ASCII");
> 	printf("\ncon el tipo de dato UNSIGNED CHAR, mostrando en una tabla las");
> 	printf("\ncolumnas  CARÁCTER, VALOR DECIMAL Y HEXADECIMAL");
> 	getch();
> 	clrscr();
> 	printf("CARÁCTER\t VALOR DECIMAL\t VALOR HEXADECIMAL");
> 	or (c=0; c <= 254; c++)
>   
no es or, sino for
> 		{
> 			printf ("\n %c\t\t\%d\t\t%x", c,c,c);
> 			if(c==40||c==80||c==120||c==160||c==200||c==240)
> 			{
>   
Muy mala forma de mirar cuándo has escrito una pantalla
Si quieres compribar una serie de números, deberías usar un switch
Como en este caso lo que te interesa es mirar si has escrito 40 líneas,
puedes hacer if (c%40 == 0)
Moviéndolo al principio del bucle, te ahorras las líneas de fuera que 
hacen eso mismo.

> 				getch ();
> 				clrscr();
>   
Más funciones propias de Borland. Puedes sustituirlas por getchar() y 
system("cls");
> 				printf("CARÁCTER\t VALOR DECIMAL\t VALOR HEXADECIMAL");
> 			}
> 		}
> 	printf("\n%c\t%d\t%x", c,c,c);
> 	getche();
>   
Más borlandicismos, sería equivalente a getchar()
Como main devuelve un entero, aquí pondríamos:
return 0;
> }




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