Ayuda con ejercicios complicadillos...

kristho
11 de Diciembre del 2005
Hola...ojala puedan ayudarme con unos ejercicios que se me han hecho dificiles:
1-Cree un programa que permita dibujar un triangulo y por medio de un menu dar la posibiladad de colorear sus lineas de 4 colores diferentes.
2-Cree un programa que permita leer dos cadenas y luego convertirlas en numeros double y sumarlos luego mostrar el resultado de nuevo como una cadena. Revise funciones de conversion(ver funciones atoi, sprintf, gcvt):
3-Cree un programa que calcule potencias de un numero, donde se lea la base y el exponente. Use funciones.
4-Cree un programa que permita contar la cantidad de letras acentuadas que hay en un archivo de texto. Use el codigo ASCII.

Agradezco cualquier ayuda que puedas darme . Muchas gracias.

ISAIAS DUQUE GOMEZ
11 de Diciembre del 2005
//1.-Programa que permita dibujar un triangulo y por medio de un menu
// dar la posibilidad de colorear sus lineas de 4 colores diferentes
#include<stdio.h>
#include<stdlib.h>
#include<dos.h>
#include<conio.h>
#include<graphics.h>


void inicio_grafico();
void color_azul();
void color_verde();
void color_rojo();
void color_amarillo();

void main()
{
char tecla;
inicio_grafico();
do
{
cleardevice();
gotoxy(33,5); printf("MENU PRINCIPAL");
gotoxy(30,8); printf("AZUL.............[1]");
gotoxy(30,10);printf("VERDE............[2]");
gotoxy(30,12);printf("ROJO.............[3]");
gotoxy(30,14);printf("AMARILLO.........[4]");
gotoxy(30,16);printf("SALIR............[5]");
gotoxy(24,20);printf("Color del triangulo..........[ ]\b\b");
//scanf("%c",&tecla);
tecla=getche();
switch(tecla)
{
case \'1\': color_azul(); break;
case \'2\': color_verde(); break;
case \'3\': color_rojo(); break;
case \'4\': color_amarillo(); break;
case \'5\': break;
}
}
while(tecla!=\'5\');
closegraph();
}

/************************************************************************/
void color_azul()
{
cleardevice();
/* int left,top,right,bottom;
left = getmaxx() / 2 - 50;
top = getmaxy() / 2 - 50;
right = getmaxx() / 2 + 50;
bottom = getmaxy() / 2 + 50;
*/
gotoxy((80-10)/2,5);printf("COLOR AZUL");

// setfillstyle(1,BLUE);
// bar(300,top,right,bottom);

setcolor(BLUE);
line(212,270,318,134); //diagonal izq
line(318,134,424,270); //diagonal der
line(212,270,424,270); //horizontal
getch();
return;
}
/************************************************************************/
void color_verde()
{
cleardevice();
gotoxy((80-11)/2,5);printf("COLOR VERDE");
setcolor(GREEN);
line(212,270,318,134); //diagonal izq
line(318,134,424,270); //diagonal der
line(212,270,424,270); //horizontal
getch();
return;
}
/************************************************************************/

void color_rojo()
{
cleardevice();
gotoxy((80-10)/2,5);printf("COLOR ROJO");
setcolor(RED);
line(212,270,318,134); //diagonal izq
line(318,134,424,270); //diagonal der
line(212,270,424,270); //horizontal
getch();
return;
}

/************************************************************************/

void color_amarillo()
{
cleardevice();
gotoxy((80-14)/2,5);printf("COLOR AMARILLO");
setcolor(YELLOW);
line(212,270,318,134); //diagonal izq
line(318,134,424,270); //diagonal der
line(212,270,424,270); //horizontal
getch();
return;
}

/************************************************************************/
void inicio_grafico()
{
int gdriver=DETECT,gmode,errorcode; //Detectar automaticamente
int left,top,right,bottom;
initgraph(&gdriver,&gmode,"c:\\tc\\bgi"); //Inicia grafico y variable local
errorcode=graphresult(); //Leer resultado de inicio
if(errorcode!=grOk) //Si ocurre error
{
printf("Graphics error: %s\n",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); //Termina con un error de codigo
}
}
/************************************************************************/

ISAIAS DUQUE GOMEZ
11 de Diciembre del 2005
//2.-Programa que lee dos cadenas, las convierte en doubles las suma y
// las muestra de nuevo como cadena.

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

void main()
{
char cad1[10],cad2[10],suma1[20];
double cadena1,cadena2,suma;
clrscr();
printf("\nIntroduce la primera cadena: ");gets(cad1);
printf("Introduce la segunda cadena: ");gets(cad2);
cadena1=atof(cad1);
cadena2=atof(cad2);
suma=cadena1+cadena2;
gcvt(suma,20,suma1);
printf("\n\nEn char la cadena 1 es: %s",cad1);
printf("\nEn double la cadena 1 es: %lf",cadena1);
printf("\n\nEn double la cadena 2 es: %s",cad2);
printf("\nEn double la cadena 2 es: %lf",cadena2);
printf("\n\nLa suma en char es: %s",suma1);
getch();
}


ISAIAS DUQUE GOMEZ
11 de Diciembre del 2005
//3.-Programa que calcule potencias de un numero, donde se lea la base
// y el exponente. Use funciones

#include<stdio.h>
#include<math.h>
#include<conio.h>

long int eleva(long int base,long int exponente);

void main()
{
clrscr();
long int base,exponente,r;
printf("nIntroduce el primer numero (base): ");
scanf("%ld",&base);
printf("nIntroduce el segundo numero (exponente): ");
scanf("%ld",&exponente);
r=eleva(base,exponente);
printf("nnEl numero %ld^%ld es :%ld",base,exponente,r);
getch();
}

long int eleva(long int base,long int exponente)
{
long int r;
r=pow(base,exponente);
return(r);
}