Olá pessoal, vamos aprender como utilizar a struct, o que seria isso, é uma estrutura, onde podemos colocar variáveis de diferentes tipos.
Por exemplo conseguir criar programas de uma agenda.
Ou qualquer outro usando uma estrutura, um conjunto de variáveis
Vamos ver como poderia ser :
#include "stdio.h" //Biblioteca
//AGENDA
O que é composto uma agenda?
Nome :
Telefone:
Podemos colocar email também entre outros campos.
Vamos utilizar só o Nome e Telefone.
Se quiserem adicionar o código depois, fiquem a vontade.
struct agenda {char nome[50];char tel[10];}dados[10];
OBS: Importante lembrar que um vetor sempre começa de 0.
Para tentar consultar do primeiro nome e telefone precisa informar que está na posição 0.
Precisamos de um menu simples:
Inserir
Consultar
Imprimir
main(){int op, i=0;printf("//***********************//\n""//* Digite: *//\n""//* 1-Para inserir *//\n""//* 2-Para consultar *//\n""//* 3-Para imprimir *//\n""//***********************//\n");scanf("%d",&op);while(op!=0){switch(op){case 1: printf("Insira o nome \n");fflush(stdin);//serve para limpar todo o "lixo" do programagets(dados[i].nome);//gets consegue capturar e armazenar os dados ("pause")printf("Insira o número do telefone\n");gets(dados[i].tel);//melhor que o scanf, além de que com scanf da erroi++;break;case2: printf("Consulta na agenda\n");scanf("%d",&i); //nesse caso i é um inteiroprintf("%s\n %s\n",dados[i].nome,dados[i].tel);break;case 3: printf("Digite o numero\n");scanf("%d",&i); //nesse caso i é um inteiroprintf("%d- %s\n%s\n",i++,dados[i].nome, dados[i].tel);break;default: printf("Opcao invalida");break;}printf("//***********************//\n""//* Digite: *//\n""//* 1-Para inserir *//\n""//* 2-Para consultar *//\n""//* 3-Para imprimir *//\n""//***********************//\n");scanf("%d",&op);}getch(); //é igual ou system("pause")}
Porque colocar o menu de novo?
Se retirar o menu do final ele não consegue retorna ao menu, por isso precisa coloca-ló no final.
No programa anterior utilizamos funções, por isso não foi preciso coloca-ló duas vezes, porque a função tem um return.
0 comentários :
Postar um comentário