C/Visual C - vector grafico en C

   
Vista:

vector grafico en C

Publicado por btc (7 intervenciones) el 25/07/2008 16:25:56
Hola,

Alguien me puede guiar en como se introducen los datos a un vector cuando se trabaja en modo grafico?
Tengo este ejemplo pero se estan introduciendo los datos de forma aleatoria, yo quiero tomar los que el usuario digite.
Gracias!

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

void main ()
{
int num[5];
char *vector= " ";
int gr= DETECT, gm, i;
initgraph (&gr, &gm, "c:\tc\bgi");

clrscr ();
randomize ();
for (i=0; i<5; i++)
num[i]= 1+rand()%50;
for (i=0; i<5; i++)
{
itoa(num[i], vector, 10);
outtext (vector);
}
getch ();
closegraph ();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:vector grafico en C

Publicado por Armando (127 intervenciones) el 30/07/2008 20:37:05
Prueba este código, el array sysdat contiene los datos, es de tipo char no lo he probado con numeros, pero lo puedes cambiar o convertir con las librerias de C. El problema es que te captura uno a uno los caracteres. Se puede mejorar para que una vez capturada la cadena se convierta a tipo numerico y se obtenga un número total 2 3 4, una vez ubicado el ultimo caracter del array se eleva a la potencia correpondiente y se suma

Total= 4*pow(10,0) + 3*pow(10,1)+ 2 *pow(10,2)

Tambien puedes usar las funciones printf y scanf de manera normal y luego un clear device().


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

/* Universidad Nacional Autonoma de Mexico */
/* Autor Armando Nava Linares */
/* correo usr90@yahoo.com */
/* Este programa puede ser utilizado libremente citando la fuente */
/* Dudas o comentarios son bien recibidos */

void entrada(int x, int y);
char retrazo(void);

int main(void)
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;

/* initialize graphics and local
variables */
initgraph(&gdriver, &gmode, "");

/* read result of initialization */
errorcode = graphresult();
/* an error occurred */
if (errorcode != grOk)
{
printf("Graphics error: %s ", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();

exit(1); /* terminate with an error code */
}


entrada(100,50);


/* clean up */
getch();
closegraph();
return 0;
}



void entrada(int x, int y)
{

int i;
int color = LIGHTBLUE,azul=BLUE;
char sysdat[20], borra[1];
char verifica;

setfillstyle(SOLID_FILL, LIGHTBLUE);

bar(x-10,y-10,x+100,y+50);

bar(x,y,x+70,y+20);

setcolor(azul);
line(x,y,x+70,y);
line(x,y,x,y+20);

setcolor(WHITE);
line(x+70,y+20,x+70,y);
line(x+70,y+20,x,y+20);

// rectangle(x,y,x+70,y+20);

setcolor(15);

outtextxy(x-70,y+7,"COMAND:>");

moveto(x+5,y+7);
borra[1]=NULL;
i=0;

while( i<6 && (verifica= retrazo()) != 28 ){

verifica=verifica*1;
sysdat[i]=getch();

if(sysdat[i]==13){
sysdat[i]=NULL;
}

if(sysdat[i]==8) { //backspace
sysdat[i-1]=NULL;
i-=2;

if(i<0) {
setfillstyle(SOLID_FILL,GREEN);
bar(x+2,y+2,x+68,y+18);
setcolor(15);
moveto(x+5,y+7);
i=0;
sysdat[0]=NULL;

}
else{
setfillstyle(SOLID_FILL,GREEN);
bar(x+2,y+2,x+68,y+18);
setcolor(15);
moveto(x+5,y+7);
outtext(sysdat);
i++;

}

}

else {
borra[0]=sysdat[i];
outtext(borra);
i++;
}

}

sysdat[i]=NULL;
moveto(100,100);
outtext(sysdat);

}


/* VERIFICA */
// Funcion auxiliar de ENTRADA

char retrazo(void) {
char t;
t=inport(0x60);
return(t);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar