Manipulação de um vetor de registros

Publicado por Krownix 15/11/2006

[ Hits: 17.423 ]

Download teste.cpp




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.

  



Esconder código-fonte

//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;
}
    

Scripts recomendados

Ordenar um lista estática sequencial básica (bubblesort)

Função "Partição de Inteiros" Recursiva SEM Tabela Estática em C

Trabalhando com Matrizes

Algoritmo método da Posição Falsa ou Falsa Posição, Newton Raphson e Bisseção em Calculo Númerico

Leitura de String


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts