Manipulação de um vetor de registros

Publicado por Krownix 15/11/2006

[ Hits: 17.403 ]

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

Imprimindo uma arvore graficamente

Ordenar sequência de números

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

signal.h - Um exemplo

Sistema básico de cadastro usando Listas Encadeadas


  

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