Manipulação de um vetor de registros
Publicado por Krownix 15/11/2006
[ Hits: 17.665 ]
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.
//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;
}
Classe para manipulação e conversão de datas para std::string em C++
Árvore AVL, usando arquivos para armazenamento de dados
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









