Com base nas leituras propostas
Código
Inteiro
Nome
Caracter [100]
Cidade
Caracter [40]
Estado
Caracter [02]
Considerando a estrutura anterior, construa um programa que:
a) Monte um menu com as opções “Cadastro”, “Listagem” e “Saída”.
b) Cadastre 10 (dez) registros em vetor.
c) Liste os 10 registros na tela em formato tabular, conforme exemplo a seguir:
CÓDIGO | NOME | CIDADE | ESTADO
000001 | XXXXXXXXXXXXXX | XXXXXXXXXXXXX | XX
000002 | XXXXXXXXXXXXXX | XXXXXXXXXXXXX | XX etc. #include <stdio.h>
#define TOTALREGISTROS 10
struct registro{ int codigo; char nome[100]; char cidade[40]; char estado[2];
};
void cadastro(struct registro r[], int *pos); void listagem(struct registro r[], int pos);
int main(void)
{
struct registro registros[TOTALREGISTROS]; int posicao, op;
posicao = 0;
do { //system("clear"); printf("***** Menu *****\n"); printf("1-Cadastro\n"); printf("2-Listagem\n"); printf("3-Saída\n"); printf("Escolha uma opção: "); scanf("%d", &op);
switch(op){ case 1: cadastro(registros, &posicao); break; case 2: listagem(registros, posicao); break; case 3: printf("\nPrograma finalizado"); break; default: printf("Opção inválida!"); break;
}
} while (op != 3);
return 0;
}
void cadastro(struct registro r[], int *pos){
if (*pos < TOTALREGISTROS){
fflush(stdin); printf("Código: "); scanf("%d", &r[*pos].codigo);
printf("Nome: "); gets(r[*pos].nome);
printf("Cidade: "); gets(r[*pos].cidade);
printf("Estado: "); gets(r[*pos].estado);
printf("Cadastro efetuado com sucesso.\n"); *pos = *pos + 1; } else { printf("\nLimite de registros