Manipulação de um vetor de registros

Publicado por Krownix 15/11/2006

[ Hits: 16.946 ]

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

[C] POSIX Threads

Classe para manipulação e conversão de datas para std::string em C++

3º EP - Poli USP - Angry Birds (angry bixos)

Arquivos utilizados no artigo: "Desenvolvendo um plugin para o XMMS"

Jogo Snake (com gráficos)


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts