Welcome to Dream.In.Code
Become a C++ Expert!

Join 149,496 C++ Programmers for FREE! Get instant access to thousands of C++ experts, tutorials, code snippets, and more! There are 1,356 people online right now. Registration is fast and FREE... Join Now!




Do this but wuth words

 
Reply to this topicStart new topic

Do this but wuth words, Processor simulatpr

endsamsara
23 Mar, 2007 - 09:50 AM
Post #1

New D.I.C Head
*

Joined: 24 Feb, 2007
Posts: 16


My Contributions
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????
User is offlineProfile CardPM
+Quote Post

NickDMax
RE: Do This But Wuth Words
23 Mar, 2007 - 11:51 AM
Post #2

2B||!2B
Group Icon

Joined: 18 Feb, 2007
Posts: 2,867



Thanked: 53 times
Dream Kudos: 550
My Contributions
I am sorry but totaly don't understand your question.

char *itoa(int value, char *string, int radix);
converts value into a string:
str = itoa(1546); ---> *str == "1546"

if you want value to be a char then:
str = itoa((int)'a'); ---> *str == "97"

I guess I don't see what you are trying to get itoa to do.
User is offlineProfile CardPM
+Quote Post

Reply to this topicStart new topic
Time is now: 1/7/09 06:09PM

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter

Live C++ Help!

C++ Tutorials

Reference Sheets

C++ Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month