Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
brenosobral

Manipulacao de Arquivo Inicializar dados...

Recommended Posts


/*
Devido ao alto índice de violência que tem acontecido no Rio de Janeiro, e visando melhorar a sua estratégia de trabalho,
uma empresa de segurança faz constantemente um levantamento de casos de violência registrados diariamente.
Esta empresa armazena em um arquivo binário as informações de todos os tipos de violência registrados.
Cada registro deste arquivo é composto pelos seguintes campos:

 Código do tipo de violência (inteiro)
 Descrição da violência (string de 100 posições)
 Número de casos ocorridos (inteiro)

a) Faça uma função chamada le_casos(), que deve ler os dados do arquivo
Faça uma função chamada busca_casos(), para realizar a busca de um código de tipo de violência no arquivo e
exibir na tela o total de violências ocorridas deste tipo
c) Faça uma função grava_casos(), que gera o arquivo
d) Gerar um segundo arquivo com a situação atual na cidade considerando existir, no máximo, 10 diferentes tipos de códigos.

Neste arquivo, serão gravados o código com a respectiva totalização de cada um
Fazer chamada as funções criadas.*/

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>



using namespace System;
void menu();
void lecasos();
void grava();
void busca();
void gerar2arquivo();

struct Case{
int violencia;
char violenciadr[100];
int casos;
}criador;

FILE *fp; // 1 arquivo
FILE *fp2; // letra d 2 arquivo

int violencia;
int casos;
char violenciadr[100];
int select;

int main(array<System::String ^> ^args)
{
menu();
switch(select){
case 1:
grava();
break;
case 2:
busca();
break;
case 3:
lecasos();
break;
case 4:
break;
case 5:
printf("Saindo...\n");
exit(0);
break;
default:
printf("Opacao Invalida - Utilize o Menu");
menu();
}while(select != 5);

system("pause");
return 0;
}

// apos inserir uma opcao,na segunda vez que vai inserir
//uma opcao o programa nao executa

void menu(){
system("cls");
printf("|------------------------------------------------|\n");
printf("| 1 - Gravar Casos |\n");
printf("| 2 - Buscar Casos |\n");
printf("| 3 - Ler Casos |\n");
printf("| 4 - Situacao Atual da Cidade - Gerar |\n");
printf("| 5 - Sair |\n");
printf("|------------------------------------------------|\n");
printf("Entre com a Opcao :\n");
scanf("%d",&select);
}

void grava(){
fp = fopen("casos.bin","wb");
if(!fp){
puts("Erro ao criar o arquivo");
exit(0);
}
puts("Insira o Numero do Codigo para o Caso:");
scanf("%d",&criador.casos);
while(criador.casos !=0){
puts("Digite o codigo para o tipo da violencia:");
scanf("%d",&criador.violencia);
puts("Digite a descricao da violencia:");
scanf("%s",&criador.violenciadr);
criador.violenciadr[100]=toupper(criador.violenciadr[100]);
fflush(stdin);
fwrite(&criador,sizeof(struct Case),1,fp);
puts("Digite o numero de casos diferente de 0:");
scanf("%d",&criador.casos);
fflush(stdin);
if(criador.casos == 0){
menu();
}
fclose(fp);
}

}

// a busca esta sendo feita ,
//porém nao esta imprimindo os dados requisitados
void busca(){
int i;
int voltar;
fp = fopen("casos.bin","r+");
if(!fp){
puts("Erro ao criar o arquivo");
exit(0);
}
do{
printf("Digite o codigo para o tipo da violencia:\n");
scanf("%d",&criador.violencia);
fread(&criador,sizeof(struct Case),1,fp);
while(!feof(fp)){
casos = criador.casos;
fread(&criador,sizeof(struct Case),1,fp);
printf("\nNumero de Casos para essa violencia: %d",casos);
puts("\nDeseja retornar ao Menu? - Sim=1 Nao=0\n");
scanf("%d",&voltar);
}
fclose(fp);
}while(voltar != 1);
if(voltar == 1) menu();
}


// Nao esta exibiindo corretamente
//os dados do tipo de violencia inserido....
void lecasos(){
int i;
fp = fopen("casos.bin","r+");
if(!fp){
puts("Erro ao criar o arquivo");
exit(0);
}
printf("Exibir qual tipo de Violencia? Insira o Codigo:\n");
scanf("%d",&criador.violencia);
fread(&criador,sizeof(struct Case),1,fp);
while(!feof(fp)){
violencia = criador.violencia;
casos = criador.casos;
fread(&criador,sizeof(struct Case),1,fp);
printf("Tipo da Violencia: %d \nCasos : %d\n",violencia,casos);
}
fclose(fp);

}


void gerar2arquivo(){
fp = fopen("casos.bin","r+");
if(!fp){
puts("Erro ao criar o arquivo");
exit(0);
}
fp2 = fopen("casos.bin","wb");
if(!fp2){
puts("Erro ao criar o arquivo");
exit(0);
}
}

Problemas dentro do CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×