Curso de C
Basic x C


Você está em: MarMSX >> Cursos >> C
Biblioteca GLIB exclusiva do MSX.
  Esse capítulo tem por objetivo demonstrar dois programas escritos em Basic e seus equivalentes em C.


PROGRAMA 1 - AGENDA TELEFÔNICA
(Retirado do livro Dominando o Expert, ed Aleph, 5a. edição, 1987)

  1. BASIC
10 REM Agenda EXPERTa
20 PRINT:PRINT:PRINT"Consultar (C) ou  Inserir (I)"; : POKE &HFCAB,255
30 INPUT S$
40 IF S$="C" THEN GOTO 160
50 IF S$="I" THEN GOTO 70
60 GOTO 30
70 PRINT"Quantos nomes serão inseridos";
80 INPUT N : IF A>0 THEN ERASE N$
90 A=1 : DIM N$(N,2)
100 FOR F=1 TO N
110 PRINT "Entre o nome";F;":"
120 INPUT N$(F,1)
130 PRINT "Entre o telefone:"
140 INPUT N$(F,2)
150 NEXT F:GOTO10
160 PRINT:PRINT "Nome","Telefone"
170 PRINT
180 FOR F=1 TO N
190 PRINT N$(F,1),N$(F,2)
200 NEXT F
300 GOTO 10 


  2. Linguagem C
#include <stdio.h>
#include <stdlib.h>

struct mod_agenda
{
  char nome[40];
  char telefone[10];
} agenda[100];

int f,n;
char s;

void consulta()
{
  for (f=0; f<n; f++)
    printf("%d - Nome: %s\tTelefone: %s\n", f, agenda[f].nome, agenda[f].telefone);
}

void insere()
{
  printf("\nQuantos nomes serao inseridos ? ");
  scanf("%d",&n);
  if (n>100)
    n=100;
  for (f=0; f<n; f++)
  {
    printf("Entre o nome %d: ",f+1);
    scanf("%s", agenda[f].nome);
    printf("Entre o telefone: ");
    scanf("%s", agenda[f].telefone);
  }
}

int main(void)
{
  // AGENDA EXPERTa
  s=0;
  while (s != 's')
  {
    printf("Consultar (C), inserir (I) ou Sair (S): ");
    scanf("%c",&s);
    switch (s)
    {
      case 'c' : consulta(); break;
      case 'i' : insere();
    }
  }
  return 0;
}



PROGRAMA 2 - PROGRAMA GRÁFICO



  Nota importante: o programa a segui somente funciona em um computador MSX.

  Agora vamos desenhar a bandeira do Brasil.

  1. BASIC

10 SCREEN 5
20 LINE(0,0)-(255,211),12
30 LINE(128,10)-(245,106),11
40 LINE(128,201)-(245,106),11
50 LINE(128,201)-(10,106),11
60 LINE(128,10)-(10,106),11
70 PAINT(128,106),11
80 CIRCLE(128,106),60,5
90 PAINT(128,106),5
100 LINE(68,100)-(189,112),15,BF
110 A$=INPUT$(1)

  2. Linguagem C

  Para utilizar os recursos gráficos, é necessário copiar a biblioteca GLIB para o Hitech-C, conforme explicado no capítulo 9.

 As sintaxes para as funções utilizadas são:
#include <stdio.h>
#include <conio.h>
#include <glib.h>

char c;

main()
{
  screen(5);

  boxfill(0,0,255,211,12,PSET);

  line(128,10,245,106,11,PSET);
  line(128,201,245,106,11,PSET);
  line(128,201,10,106,11,PSET);
  line(128,10,10,106,11,PSET);
  paint(128,95,11,11);
  
  circle(128,106,60,5,0,32752,32768);
  paint(128,106,5,5);
  
  boxfill(68,100,189,112,15,PSET);
    
  c = getch();
  totext();
}

  Para compilar o arquivo "band.c":
A> c -lg band


<< Anterior Linguagem C Próxima >>