aula 176

Como construir o tipo ELETRÔNICO com TYPEDEF STRUCT?

Para exercitar o que aprendemos nas últimas aulas sobre typedef struct em nosso Curso de Programação C, vamos construir o tipo ELETRÔNICO com TYPEDEF STRUCT.

O primeiro passo para elaborar um novo tipo de dado é definir quais informações ele terá. Nosso tipo Eletrônico terá os seguintes campos:
– tipo (um vetor de caracteres)
– marca (um vetor de caracteres)
– modelo (um vetor de caracteres)
– descrição (um vetor de caracteres)
– eficiência energética (um caracter)
– quantidade (um inteiro)
– código (um inteiro)

Observe que estes campos são apenas algumas sugestões. Outros campos podem ser adicionados, como por exemplo, preço, garantia, dentro outros.

Para criar o tipo Eletrônico, basta inserir os tipos primitivos de cada campo dentro da estrutura de typedef struct, assim:

typedef struct{
    char tipo[100];
    char marca[50];
    char modelo[25];
    char energia;
    char descricao[500];
    int quantidade;
    int codigo;
}Eletronico;

A seguir temos o código completo em C para ler um Eletrônico do teclado e imprimir na tela as informações digitadas.

#include <stdio.h>
#include <stdlib.h>

/*
           Aula 176: Como construir o tipo eletrônico com typedef struct?

           Código escrito por Wagner Gaspar
           Abril de 2021
/*

typedef struct{
    char tipo[100];
    char marca[50];
    char modelo[25];
    char energia;
    char descricao[500];
    int quantidade;
    int codigo;
}Eletronico;

// procedimento que imprime as informações de um Eletrônico
void imprimirEletronico(Eletronico e){
    printf("\tTipo: %s", e.tipo);
    printf("\tMarca: %s", e.marca);
    printf("\tModelo: %s", e.modelo);
    printf("\tEnergia: %c\tQuantidade: %d\n", e.energia, e.quantidade);
    printf("\tDescricao: %s", e.descricao);
}

// função que lê os dados de um eletrônico e retorna para quem chamou
Eletronico lerEletronico(){
    Eletronico e;

    printf("Digite o tipo: ");
    fgets(e.tipo, 100, stdin);
    printf("Marca: ");
    fgets(e.marca, 50, stdin);
    printf("Modelo: ");
    fgets(e.modelo, 25, stdin);
    printf("Eficiencia energetica: ");
    scanf("%c", &e.energia);
    scanf("%c");
    printf("Descricao: ");
    fgets(e.descricao, 500, stdin);
    printf("Quantidade e codigo: ");
    scanf("%d%d", &e.quantidade, &e.codigo);
    return e;
}

int main() {

    Eletronico ele;

    ele = lerEletronico();
    imprimirEletronico(ele);

    return 0;
}

Deixe um comentário

16 − quatro =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.