Hi i want to do this but instead of words I want to do it with words
In the numbers case:
the function itoa(... is used to change "int to string"
but what happens in the case i have only char???
how do i sustitute the function itoa
This is the numbers case, it runs perfectly:
CODE
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "graphics.h"
#include "dos.h"
#include "string.h"
/*struct Informacion{
char nombre[50];
char montodememoria[100];
char tiempodecalculo[100];
char archivosabiertos[100];
};
struct Nodo{
struct Informacion info;
struct Nodo *sig;
}; */
void iniciar_grafica();
void graficar_datos();
void graficar_vectores();
int procesos[4][5]={0,1,2,3,4,
0,1,2,3,4,
0,1,2,3,4,
0,1,2,3,4, },procesos_ejecutados[5];
int cpu=5,uso_cpu,mayor,prioridad,i,midx,midy,pid=4,j;
char num[10],c;
///////////////////////////////////////////////////////////////////
void iniciar_grafica()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "C:\\TC\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Error de grafica: %s\n", grapherrormsg(errorcode));
printf("presione una tecla para terminar:");
getch();
exit(1);
}
}
///////////////////////////////////////////////////////////////////
int main(void)
{
clrscr();
iniciar_grafica();
midx=getmaxx()/2;
midy=getmaxy()/2;
while(1){
for(j=0;j<5;j++){
graficar_vectores();
graficar_datos();
cleardevice();
}
printf("Si deseas salir presiona (s/S) de lo contrario pulsa enter: ");
scanf("%c", &c);
if(c=='S'||c=='s')
{
break;
}
else
{
j=0;
}
}
closegraph();
return 0;
}
/////////////////////////////////////////////////////////////////////////
void graficar_vectores()
{
int k;
outtextxy(5,460,"Proceso : Prioridad : Uso del CPU");
for(k=0;k<=4;k++)
{
//Procesos Activos
itoa(procesos[2][k],num,10);
outtextxy(300,100+(k*60),num);
//Procesos Inactivos
itoa(procesos_ejecutados[k],num,10);
outtextxy(500,100+(k*60),num);
}
}
////////////////////////////////////////////////////////////
void graficar_datos()
{
mayor=procesos[0][0];
prioridad=0;
//Dibuja la estructura basica
rectangle(20,80,250,350);
/*(- para aumentar a la izq, - para aumentar hacia arriba,
+ para aumentar a la derecha, + para aumentar hacia abajo) */
rectangle(420,90,280,380); //(ESQUINA SUPERIOR IZQUIERDA, ESQUINA INFERIOR DERECH)
rectangle(480,90,620,380);
outtextxy(10,20,"SIMULACION DE UN PROCESADOR");
outtextxy(290,80,"Procesos Activos");
outtextxy(480,80,"Procesos Inactivos");
//verifica el valor mas grande
for (i=0;i<4;i++)
{
if(mayor<procesos[0][i+1])
{
mayor=procesos[0][i+1];
prioridad=i+1;
uso_cpu=procesos[1][i+1];
}
}
outtextxy(10,45,"Estamos trabajando con el proceso llamado= ");
itoa(procesos[2][prioridad],num,10);
outtextxy(360,45,num);
/////Imprime el nombre dentro del procesador//
itoa(procesos[2][prioridad],num,10);
outtextxy(90,200,num);
outtextxy(20,60,"Con un tiempo aproximado de: (segundos)");
itoa(uso_cpu,num,10);
outtextxy(260,60,num);
sleep(uso_cpu);
procesos[0][prioridad]=rand()%9+1;
procesos[1][prioridad]=rand()%9+1;
procesos[2][prioridad]=++pid;
procesos_ejecutados[prioridad]=uso_cpu;
}
Here is the words case i am trying to do:
CODE
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "graphics.h"
#include "dos.h"
#include "string.h"
/*struct Informacion{
char nombre[50];
char montodememoria[100];
char tiempodecalculo[100];
char archivosabiertos[100];
};
struct Nodo{
struct Informacion info;
struct Nodo *sig;
}; */
void iniciar_grafica();
void graficar_datos();
void graficar_vectores();
char procesos[20][20]={"dragonballgt","word","internet","mediaplayer","excel",
"hadeschapter25","quakearena","doom2","supercampeones",
"video","fifa","needforspeed","musica","poseidon","spiderman",
"hades25","dvd","lasagadelcielo","ova13","doom3"},procesos_ejecutados[20];
int cpu=5,uso_cpu,mayor,prioridad,i,pid=4,j;
char num[20],c;
char nam[20];
///////////////////////////////////////////////////////////////////
void iniciar_grafica()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "C:\\TC\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Error de grafica: %s\n", grapherrormsg(errorcode));
printf("presione una tecla para terminar:");
getch();
exit(1);
}
}
///////////////////////////////////////////////////////////////////
int main(void)
{
clrscr();
iniciar_grafica();
while(1){
for(j=0;j<5;j++){
graficar_vectores();
graficar_datos();
cleardevice();
}
printf("Si deseas salir presiona (s/S) de lo contrario pulsa enter: ");
scanf("%c", &c);
if(c=='S'||c=='s')
{
break;
}
else
{
j=0;
}
}
closegraph();
return 0;
}
/////////////////////////////////////////////////////////////////////////
void graficar_vectores()
{
int k;
outtextxy(5,460,"Proceso : Prioridad : Uso del CPU");
for(k=0;k<=4;k++)
{
//Procesos Activos
//itoa(procesos[2][k],nam,20);
outtextxy(300,100+(k*60),procesos[k]);
//Procesos Inactivos
itoa(procesos_ejecutados[k],num,20);
outtextxy(500,100+(k*60),num);
}
}
////////////////////////////////////////////////////////////
void graficar_datos()
{
mayor=procesos[0][0];
prioridad=0;
//Dibuja la estructura basica
rectangle(20,80,250,350);
/*(- para aumentar a la izq, - para aumentar hacia arriba,
+ para aumentar a la derecha, + para aumentar hacia abajo) */
rectangle(420,90,280,380); //(ESQUINA SUPERIOR IZQUIERDA, ESQUINA INFERIOR DERECH)
rectangle(480,90,620,380);
outtextxy(10,20,"SIMULACION DE UN PROCESADOR");
outtextxy(290,80,"Procesos Activos");
outtextxy(480,80,"Procesos Inactivos");
//verifica el valor mas grande
for (i=0;i<4;i++)
{
if(mayor<procesos[0][i+1])
{
mayor=procesos[0][i+1];
prioridad=i+1;
uso_cpu=procesos[1][i+1];
}
}
outtextxy(10,45,"Estamos trabajando con el proceso llamado= ");
itoa(procesos[2][prioridad],num,10);
outtextxy(360,45,num);
/////Imprime el nombre dentro del procesador//
itoa(procesos[2][prioridad],num,10);
outtextxy(90,200,num);
outtextxy(20,60,"Con un tiempo aproximado de: (segundos)");
itoa(uso_cpu,num,10);
outtextxy(260,60,num);
sleep(uso_cpu);
procesos[0][prioridad]=rand()%9+1;
procesos[1][prioridad]=rand()%9+1;
procesos[2][prioridad]=++pid;
procesos_ejecutados[prioridad]=uso_cpu;
}
Can anyone explain me how can i sustitute the itoa(... function????
Is it neccesary that i use the itoa function in the words case????