Uso de estruturas e ponteiros em C/C++ - Post modificado em 05/06/2024

index1.html
#include <stdio.h>
#include <locale.h>

typedef struct {
    int dia, mes, ano;
} DATA;

typedef struct pessoa {
    char  nome[100];
    int   idade;
    float salario;
    DATA  nasc;
} PESSOA;

void ler(PESSOA *ptr) {
    printf("Qual o nome: ");
    gets(ptr->nome);
    printf("Qual a idade: ");
    scanf("%d", &ptr->idade);
    printf("Qual o salário: ");
    scanf("%f", &ptr->salario);
    printf("Qual a data de nascimento: ");
    scanf("%d %d %d", &ptr->nasc.dia, &ptr->nasc.mes, &ptr->nasc.ano);
}

void Mostrar(struct pessoa x) {
    printf("Nome: %s\n", x.nome);
    printf("Idade: %d\n", x.idade);
    printf("Salário: %.2f\n", x.salario);
    printf("Dt. Nasc: %d/%d/%d\n", x.nasc.dia, x.nasc.mes, x.nasc.ano);
}

int main() {
    setlocale(LC_ALL, "ptb");
    struct pessoa p = {
        "Miguel", 23, 2000, {07,10,1999}
    };
    Mostrar(p);
    puts("\n");
    ler(&p);
    puts("\n");
    Mostrar(p);
}

Comentários