Manipulação de um vetor de registros
Publicado por Krownix 15/11/2006
[ Hits: 17.815 ]
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;
}
Rotina para controle de portas paralelas em C. (biblioteca LP.h)
Algoritmo de ordenação Quick Sort
Rotação à esquerda árvore Binária
Nenhum comentário foi encontrado.
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Instalação Completa e Configuração Básica do Void Linux
A Fundação da Confiança Digital: A Importância Estratégica de uma PKI CA na Segurança de Dados
Tenha opção de emblemas embutido no pcmanfm
Instalar o Microsoft Teams no Ubuntu e Derivados
Erro ao instalar o linux-headers (2)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (4)
Instalador não reconhece SSD Sata. (12)









