sábado, 7 de novembro de 2015

Matriz de struct

Quando precisamos agrupar tipos diferentes de dados temos como
solução as structs.
As variáveis declaradas dentro de uma struct denomina-se membros da struct,
ou campos, e como disse acima, o tipo não importa,
pode ser qualquer tipo aceito no c.
Neste programa mostro um exemplo de matriz de struct, fácil
de implementar e de grande utilidade, indicado a iniciantes em c.

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


veja abaixo o código do programa:


#include <stdio.h>
#include <conio.h>
void Janela ( ) {
     int l, c;
     system ( "Color F0" );
     for ( l = 1; l <= 30 ; l++ ) {
         for ( c = 1; c < 80 ; c++ ) {
              gotoxy ( c , l );
              if ( l == 2 ) {
                   textattr ( 200 );
                   printf ( " " );
              }
              if ( c == 1 ) {
                   textattr ( 200 );
                   printf ( "  " );
              }
              if ( c == 79 ) {
                   textattr ( 200 );
                   printf ( "  " );
              }
         }
     }
}
struct Titulos {
     char *titulos;
};
struct Escola {
     char *nomes;
     int idade;
     float notas;
};
int main ( ) {
     system ( "title MATRIZ DE STRUCT" );
     Janela ( );
     textbackground ( WHITE );
     int i, j;
     struct Titulos Titu_los [ 4 ] [ 6 ] =
             { {"Ordem "  },
              { "Nomes  "  },
              { "Idades "  },
              { "Notas  " }};
     struct Escola Alunos [ 10 ] [ 13 ] =
             { { "Ana Celia    ", 19, 10.0},
              { "Eder Costa     ", 21, 9.9 },
              { "Humberto Gomes ", 18, 9.7 },
              { "Dijalma Lacerda", 22, 9.5 },
              { "Caroline Silva ", 18, 9.3 },
              { "Igor Goncalves ", 21, 9.0 },
              { "Bruna Carla    ", 19, 8.9 },
              { "Fabio Quadros  ", 22, 8.5 },
              { "Geany Barros   ", 19, 8.4 },
              { "Jaqueline Vega ", 22, 8.0 } };
     textcolor ( LIGHTRED );
     gotoxy ( 33 , 3 );
     printf ( "MATRIZ DE STRUCT" );
     j = 0;
     textcolor ( LIGHTBLUE );
     gotoxy ( 18 , 5 );
     printf ( "%2s" , Titu_los [ 0 ] [ j ].titulos );
     gotoxy ( 28 , 5 );
     printf ( "%2s" , Titu_los [ 1 ] [ j ].titulos );
     gotoxy ( 43 , 5 );
     printf ( "%2s" , Titu_los [ 2 ] [ j ].titulos );
     gotoxy ( 54 , 5 );
     printf ( "%2s" , Titu_los [ 3 ] [ j ].titulos );
     for ( i = 0; i < 10 ; i++ ) {
         textcolor ( LIGHTRED );
         gotoxy ( 20 , i + 7 );
         printf ( "%d°" , i + 1 );
         j = 0;
         textcolor ( BLACK );
         gotoxy ( 25 , i + 7 );
         printf ( "%2s" , Alunos [ i ] [ j ].nomes );
         gotoxy ( 45 , i + 7 );
         textcolor ( LIGHTRED );
         printf ( "%d" , Alunos [ i ] [ j ].idade );
         textcolor ( LIGHTRED );
         gotoxy ( 55 , i + 7 );
         printf ( "%0.1f" , Alunos [ i ] [ j ].notas );
     }
     textbackground ( WHITE );
     textcolor ( LIGHTBLUE );
     gotoxy ( 20 , 19 );
     Sleep ( 1800 );
     printf ( "Por: " );
     textcolor ( LIGHTMAGENTA );
     printf ( "Samuel Lima" );
     textcolor ( BLACK );
     gotoxy ( 20 , 21 );
     printf ( "sa_sp10@hotmail.com" );
     Sleep ( 1800 );
     textcolor ( LIGHTRED );
     gotoxy ( 37 , 23 );
     printf ( "MUITO OBRIGADO" );
     getche ( );
     exit ( 0 );
}

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.