Informática, perguntado por flavinha2382, 1 ano atrás

Como declarar structs aninhados em C/C++

Soluções para a tarefa

Respondido por AiltonSilva
0

#include <stdio.h>

#include <string.h>

#include <conio.h>

void got_color ( int tam_lin_ini , int tam_lin_fim , int tam_ini_col ,

        int tam_fim_col , int a , int b ) {

    int i, e;

    if ( a >= 1 && a <= 16 ) {

        textcolor ( a );

    }

    if ( b >= 1 && b <= 16 ) {

        textbackground ( b );

    }

    for ( i = tam_lin_ini; i < tam_lin_fim ; i++ ) {

        for ( e = tam_ini_col; e < tam_fim_col ; e++ ) {

             gotoxy ( e , i );

             printf ( " " );

        }

    }

}

struct Diretor {

    char Dire_tor [ 85 ];

} Diretor_De_Escola [ 48 ] = {

         {"Um Diretor de Escola da rede Estadual de ensino" },

         {"listou seus 10 melhores alunos"                  },

         {"Pressione qualquer tecla para conhece - los"   } };

struct Escola {

    char nome [ 16 ];

};

struct Escola Alu_no [ 16 ] =

       {{ "Ana Celia      "  },  { "Eder Costa     " },

        { "Humberto Gomes "  },  { "Dijalma Lacerda" },

        { "Caroline Silva "  },  { "Igor Goncalves " },

        { "Bruna Carla    "  },  { "Fabio Quadros  " },

        { "Geany Barros   "  },  { "Jaqueline Vega "}};

struct End_Da_Escola {

    int Numero;

    int Total_de_Alunos;

};

struct Professor {

    float Idade_Do_Professor;

    float Idade_Do_Diretor;

};

struct Classe {

    float Idade;

    float Notas;

    int Chamada;

    struct End_Da_Escola Atual;

    char Nome_da_rua [ 30 ];

    struct Professor Profe_ssor;

    char Nome_Do_Professor [ 30 ];

    char Nome_Do_Diretor [ 30 ];

};

struct Classe End_Da_Escola;

struct Classe Professor;

int main ( ) {

    system ( "title PROGRAMA STRUCT ANINHADA" );

    int i;

    struct Classe Notas_Idades [ 10 ] = { { 20.4, 9.5, 1 }, { 18.6, 8.9, 5 }, {

             16.5, 6.4, 8 }, { 19.4, 7.5, 4 }, { 17.5, 8.0, 3 },

             { 17.0, 7.7, 9 }, { 19.7, 6.9, 2 }, { 18.6, 9.0, 6 },

             { 16.0, 9.9, 7 }, { 20.0, 8.5, 10 } };

    strcpy ( Professor.Nome_Do_Professor , "Inacio Santana" );

    strcpy ( Professor.Nome_Do_Diretor , "Juvencio Guimaraes" );

    Professor.Profe_ssor.Idade_Do_Professor = 40.5;

    Professor.Profe_ssor.Idade_Do_Diretor = 55.6;

    strcpy ( End_Da_Escola.Nome_da_rua , "Presidente General Figueiredo" );

    End_Da_Escola.Atual.Numero = 335;

    End_Da_Escola.Atual.Total_de_Alunos = 1200;

    got_color ( 2 , 25 , 3 , 79 , 2 , 15 ); //Moldura

    textcolor ( VERMELHOCLARO );

    gotoxy ( 30 , 3 );

    printf ( "PROGRAMA STRUCT ANINHADA" );

    textcolor ( PRETO );

    gotoxy ( 24 , 5 );

    printf ( "Programa desenvolvido por:" );

    textcolor ( CINZAESCURO );

    gotoxy ( 51 , 5 );

    printf ( "Samuel Lima" );

    textcolor ( VERDECLARO );

    gotoxy ( 34 , 7 );

    printf ( "[email protected]" );

    for ( i = 0; i < 2 ; i++ ) {

        gotoxy ( 17 , i + 7 );

        textcolor ( AZULCLARO );

        if ( i == 48 ) {

             gotoxy ( 17 , 9 );

        }

        printf ( " %s " , Diretor_De_Escola [ i ].Dire_tor );

        textcolor ( VERMELHOCLARO );

        gotoxy ( 20 , 17 );

        printf ( " %s " , Diretor_De_Escola [ 2 ].Dire_tor );

    }

    getche ( );

    system ( "cls" );

    got_color ( 2 , 25 , 3 , 79 , 2 , 11 );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 30 , 3 );

    printf ( "PROGRAMA STRUCT ANINHADA" );

    textcolor ( PRETO );

    gotoxy ( 11 , 5 );

    printf ( "Nomes                Idades          Notas         Numeros" );

    textcolor ( AZULCLARO );

    for ( i = 0; i < 10 ; i++ ) {

        gotoxy ( 4 , i + 7 );

        printf ( "     %s         %.1f            %.1f            %d" ,

                  Alu_no [ i ].nome , Notas_Idades [ i ].Idade ,

                  Notas_Idades [ i ].Notas , Notas_Idades [ i ].Chamada );

    }

    Sleep ( 1800 );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 30 , 23 );

    printf ( "PRESSIONE QUALQUER TECLA" );

    getche ( );

    system ( "cls" );

    got_color ( 2 , 25 , 3 , 79 , 2 , 15 );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 30 , 3 );

    printf ( "PROGRAMA STRUCT ANINHADA" );

    textcolor ( AZULCLARO );

    gotoxy ( 10 , 5 );

    printf ( "Nome do Professor    ==> " );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 40 , 5 );

    printf ( "%s" , Professor.Nome_Do_Professor );

    textcolor ( AZULCLARO );

    gotoxy ( 10 , 7 );

    printf ( "Nome do Diretor      ==> " );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 40 , 7 );

    printf ( "%s " , Professor.Nome_Do_Diretor );

    textcolor ( AZULCLARO );

    gotoxy ( 10 , 9 );

    printf ( "A idade do Professor ==> " );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 40 , 9 );

    printf ( "%.1f " , Professor.Profe_ssor.Idade_Do_Professor );

    textcolor ( AZULCLARO );

    gotoxy ( 10 , 11 );

    printf ( "A idade do Diretor   ==> " );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 40 , 11 );

    printf ( "%.1f " , Professor.Profe_ssor.Idade_Do_Diretor );

    textcolor ( AZULCLARO );

    gotoxy ( 10 , 13 );

    printf ( "Endereco da Escola   ==> " );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 40 , 13 );

    printf ( "Rua %s " , End_Da_Escola.Nome_da_rua );

    textcolor ( AZULCLARO );

    gotoxy ( 10 , 15 );

    printf ( "NÚmero               ==> " );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 40 , 15 );

    printf ( "%d " , End_Da_Escola.Atual.Numero );

    textcolor ( AZULCLARO );

    gotoxy ( 10 , 17 );

    printf ( "Total de Alunos       ==> " );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 40 , 17 );

    printf ( "%d " , End_Da_Escola.Atual.Total_de_Alunos );

    Sleep ( 1800 );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 26 , 19 );

    printf ( "Por: " );

    textcolor ( AZULCLARO );

    printf ( "Samuel Lima" );

    textcolor ( PRETO );

    gotoxy ( 26 , 20 );

    printf ( "[email protected]" );

    Sleep ( 1800 );

    textcolor ( VERMELHOCLARO );

    gotoxy ( 37 , 23 );

    printf ( "MUITO OBRIGADO" );

    getche ( );

    exit ( 0 );

}


Perguntas interessantes