Manipulação de um vetor de registros
Publicado por Krownix 15/11/2006
[ Hits: 17.745 ]
Script que demonstra a manipulação de um vetores de registros. Bem útil para ajuda na gravação e exclusão de dados em arquivos.
//Programa desenvolvido por Krownix 17.10.2006
#include <stdio.h>
#include <stdlib.h>
#define TAM 3 //tamanho do vetor Reg[]
typedef struct Reg {
int codigo;
char nomeCidade[30];
char estado[5];
int numeroVeiculos;
int numeroAcidentes;
int status;//status do registro: 1==ATIVO, 0==INATIVO
};
int last_pos=0;
struct Reg r[TAM];
void GetInfo(void) {
//Armazena dados no vetor Reg[]
printf("Cidade:");
gets(r[last_pos].nomeCidade);
printf("\n");
printf("Estado:");
gets(r[last_pos].estado);
printf("\n");
printf("Codigo:");
scanf("\n%i", &r[last_pos].codigo);
printf("NUmero Veiculos:");
scanf("\n%i", &r[last_pos].numeroVeiculos);
fflush(stdin); //limpa entrada de dados
printf("NUmero Acidentes:");
scanf("\n%i", &r[last_pos].numeroAcidentes);
fflush(stdin);
r[last_pos].status=1;
last_pos++;
}//fim GetInfo()
//exibe informações no registro
void ShowInfo(void) {
for(register int i=0; i<=last_pos; i++) {
if(r[i].status==1) {
printf("Numero Registro.: %i\n", i);
printf("Cidade..........: %s\n", r[i].nomeCidade);
printf("Estado..........: %s\n", r[i].estado);
printf("Codigo..........: %i\n", r[i].codigo);
printf("Numero Veiculos.: %i", r[i].numeroVeiculos);
printf("Numero Acidentes: %i", r[i].numeroAcidentes);
printf("\n\nNumero de Registros.: %i", i);
}
}
system("pause");
}//fim ShowInfo()
//altera o status do regisro
void DelInfo(int *n) {
r[*n].status=0;
ShowInfo();
}//fim DelInfo()
int main(void) {
int opcao, del;
//Armazena dados no vetor Reg[]
while(opcao!=0) {
system("cls");
printf("1. Adicionar\n");
printf("2. Remover\n");
printf("3. Listar\n");
printf("Opcao.:\n");
scanf("%i", &opcao);
fflush(stdin);
switch(opcao) {
case 1: system("cls");
GetInfo();
break;
case 2: system("cls");
printf("Qual Registro quer excluir?: \n");
scanf("%i", &del);
fflush(stdin);
DelInfo(&del);
break;
case 3: system("cls");
ShowInfo();
break;
default:printf("\n\nOpcao Invalida!");
exit(1);
break;
}
}
return 0;
}
POGRAMA EM C REGISTRO DE CADASTRO ALTERAR E REMOVER CLIENTES PRODUTOS
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









