Manipulação de um vetor de registros

Publicado por Krownix 15/11/2006

[ Hits: 17.488 ]

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

Fila bancária utilizando lista simplisment encadeada

Exemplo de uso da libiptc

[GAME-2] Acerte os rortões nas janelas (jogo com gráficos)

AGENDA DE COMPROMISSO

Exemplo de sistema especialista usando Inteligência Artificial


  

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