Ir ao conteúdo
  • Cadastre-se

C Passar de Visualg para linguagem C


GUSTAVO MELLO10

Posts recomendados

Passar o código abaixo para linguagem C

 

#include<stdio.h> 
#include<stdlib.h>
#define RUNNING 1 
#define BLOCKED 2 
#define READY 3 
 
void print_status(int status)  
  { 
 
 if (status == RUNNING)  
{ 
     printf("Situacao: Running\ n"); 
   }  
 
else if (status == READY)  
{ 
      printf("Situacao: Ready\n"); 
   }  
 
else if (status == BLOCKED)  
{ 
   printf("Situacao: Blocked\n"); 
 } 
   } 
 
int main()  
{ 
   int curr_status = RUNNING;
while(true)  
{ 
  
print_status(curr_status); 
int next_status; 
 
 printf("\nDigite a proxima mudanca de estado: ");  
 scanf("%d", &next_status); 
 
 if (curr_status == RUNNING) 
{ 
      if (next_status==1)  
    {  
       curr_status=BLOCKED; 
    }  
    else if (next_status==2)  
   { 
     curr_status=READY; 
   } 
 
    else  
      {  
        printf ("\nNão é possivel");  
      }  
  
 } 
 
   else if (curr_status == BLOCKED)  
{ 
      if (next_status==4)  
   { 
        curr_status=READY; 
   } 
     else  
      {  
         printf ("\nNão é possivel");  
      }  
 
 } 
 
 else if (curr_status == READY) 
 
    {  
       if (next_status==3)  
    {  
       curr_status=RUNNING; 
    }  
     else  
   { 
        printf ("\nNão é possivel");  
    }  
  }  
 } 
 return 0; 
} 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@iskrtzz_      esse código está na Linguagem  C  , e funciona bem :

#include   <stdio.h>
#include   <conio.h>
#include   <windows.h>
#include   <stdlib.h>
#define    RUNNING 1
#define    BLOCKED 2
#define    READY   3
#define    true    1
#define    cls system("cls");
#define    h GetStdHandle(STD_OUTPUT_HANDLE)
void textcolor(int,int);
void print_status(int status)
{
    if (status == RUNNING)
    {
        printf("Situacao ---: Running\n");
    }
    else
    {
        if (status == READY)
        {
            printf("Situacao ---: Ready\n");
        }
        else
        {
            if (status == BLOCKED)
            {
                printf("Situacao ---: Blocked\n");
            }
        }
    }
}
int main()
{
    int letra_antes, fundo_antes,cor;
///    HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);// in
    CONSOLE_SCREEN_BUFFER_INFO c;   //  pega informações do sistema
    if(GetConsoleScreenBufferInfo(h, &c))
    {
        cor         = ( c.wAttributes & 0xFF);
        letra_antes = ( c.wAttributes & 0xFF) & 0x0F;
        fundo_antes = ((c.wAttributes & 0xFF) >> 4) & 0x0F;
    }
    int curr_status = RUNNING;
    textcolor(9,15);
    cls
    while(true)
    {
        print_status(curr_status);
        int next_status;
        printf("\nDigite 111 para sair ou a proxima mudanca de estado: ");
        scanf("%d", &next_status);
        ///next_status = getch()-48;
        if(next_status == 111) break;
        if (curr_status == RUNNING)
        {
            if (next_status == 1)
            {
                curr_status=BLOCKED;
            }
            else
            {
                if (next_status == 2)
                {
                    curr_status = READY;
                }
                else
                {
                    printf ("não eh possiveL\n");
                }
            }
            ///else
            {
                if (curr_status == BLOCKED)
                {
                    if (next_status == 4 )
                    {
                        curr_status = READY;
                    }
                    else
                    {
                        printf ("não eh PossiveL\n");
                    }
                }
                else
                {
                    if (curr_status == READY)
                    {
                        if (next_status==3)
                        {
                            curr_status=RUNNING;
                        }
                        else
                        {
                            printf ("\nNao eh PossiveL !\n");
                        }
                    }
                }
            }
        }
    }
    textcolor(letra_antes,fundo_antes);
    printf("\n\n\tSaindo Do Programa . . . !\n\n\n");
    return 0;
}
void textcolor(int letras,int fundo)
{
    SetConsoleTextAttribute(h,letras + (fundo << 4));
}

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

10 horas atrás, devair1010 disse:

@iskrtzz_      esse código está na Linguagem  C  , e funciona bem :


Sr. Devair, olhei o código do senhor. A impressão é que  o senhor deduziu que ele serviria pra algo assim.
Foi por experiencia ou apenas usou um exemplo? Se deduziu que era pra algo assim, como o que foi que lhe deu essa dica?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!