Manipulação de um vetor de registros

Publicado por Krownix 15/11/2006

[ Hits: 17.429 ]

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

Rotação à esquerda árvore Binária

Biblioteca ctype.h

Funções com número variável de argumentos

Dangerous Tux Game com gráficos

Tipos de Dados Abstrato - TDA - Vetor


  

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