Manipulação de um vetor de registros
Publicado por Krownix 15/11/2006
[ Hits: 17.755 ]
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;
}
Árvore B com Arquivos (inserção e pesquisa)
Jogo Final Fight - Haggar (com gráficos)
Fila bancária utilizando lista simplisment encadeada
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Instalar Dual Boot, Linux+Windows. (6)
Conky, alerta de temperatura alta (17)
De volta para o futuro - ou melhor, para o presente (parte 2) (3)









