domingo, 5 de fevereiro de 2017

Tabuada III - Linguagem C

Esta é a terceira Tabuada escrita em C que lhes apresento.
A primeira saiu bem complicada, foi feita com um contador
dentro de dois laços for, onde os números gerados,
já iam sendo armazenados numa matriz quadrada de 10x10,
e depois eram entregues a um while; onde eram imprimidos
em suas posições, com os limites do próprio while;
A segunda, com poucas modificações em relação a primeira
usa como interface uma janela gráfica da biblioteca graphics.h
Nesta aqui,  um while e um laço for, foram suficientes
para a criação de nossa tabuada.
Temos uma mensagem que é imprimida para o usuário
no início das multiplicações na parte superior do vídeo,
informando qual número esta sendo multiplicado
pela sequencia numérica de um a 10.
Tenho certeza que você, estudante de C, entenderá logo
como funciona, porque faz usos de aprendizados iniciais,
de qualquer linguagem de programação.

Veja abaixo uma imagem do programa em execução:





Veja abaixo o código do programa:


#include <stdio.h>
#include <conio2.h>
void Janela ( ) {
     int n, c;
     c = 0;
     for ( n = 2; n <= 33; n++ )
         for ( c = 3; c <= 78; c++ ) {
              gotoxy ( c, n );
              textbackground ( LIGHTCYAN );
              printf ( " " );
         }
}
int y = 1;
int main ( ) {
     int i = 0, x = 0, k = 0, w = 0, p = 0;
    Janela();
     system ("title TABUADA III - LINGUAGEM C");
     textcolor ( BLACK );
     gotoxy ( 7, 3 );
     printf ( "Tabuada do " );
     textcolor ( LIGHTRED );
     gotoxy ( 30, 3 );
     printf ( "TABUADA III - LINGUAGEM C" );
     do {
     x = 1;
         for ( i = 1; i <= 10; i++ ) {
              textcolor ( LIGHTRED );
              gotoxy ( 20, 3 );
              printf ( "%d", y  );
              if ( y == 1 )
                   p = 6;
              if ( y == 2 )
                   p = 20;
              if ( y == 3 )
                   p = 34;
              if ( y == 4 )
                   p = 48;
              if ( y == 5 )
                   p = 62;
              if ( y == 6 )
                   p = 6;
              if ( y == 7 )
                   p = 20;
              if ( y == 8 )
                   p = 34;
              if ( y == 9 )
                   p = 48;
              if ( y == 10 )
                   p = 62;
                   k = y;
                   w = k * x;
                   textcolor ( BLACK );
                   if ( y <= 5 ) {
                        gotoxy ( p, x + 5 );
                        printf ( " %d x %d = %d", k, x, w );
                   }
                   if ( y >= 6 ) {
                        gotoxy ( p, x + 17 );
                        printf ( " %d x %d = %d", k, x, w );
                   }
                   i++;
                   Sleep ( 800 );
                   x++;
              i = i - 1;
         }
         y++;
     } while ( y <= 10 );
     textcolor ( BLUE );
     gotoxy ( 26, 29 );
     printf ( "Por: " );
     Sleep ( 1800 );
     textcolor ( LIGHTRED );
     printf ( "Samuel Lima" );
     textcolor ( BLACK );
     gotoxy ( 26, 30 );
     Sleep ( 1800 );
     printf ( "sa_sp10@hotmail.com" );
     textcolor ( LIGHTRED );
     gotoxy ( 35, 32 );
     Sleep ( 1800 );
     printf ( "MUITO OBRIGADO" );
     getche ( );
     return 0;
}