Manipulação de um vetor de registros
Publicado por Krownix 15/11/2006
[ Hits: 17.423 ]
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; }
Ordenar um lista estática sequencial básica (bubblesort)
Função "Partição de Inteiros" Recursiva SEM Tabela Estática em C
Algoritmo método da Posição Falsa ou Falsa Posição, Newton Raphson e Bisseção em Calculo Númerico
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (1)
Mensagem quando tento fazer o apt update && apt upgrade no kal... (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta