Ir ao conteúdo

Posts recomendados

Postado
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<locale.h>
#include<conio.h>

int cadastrarC();
int cadastrarP();
int removerP();
int consultarC();
int consultarP();
int listarP();
int listarC();

struct pedido{
	char descricao[150];
	int quantidade;
	float valor;
	char nome[30];
	
}reg2;
struct reg_endereco
{
	char rua[30];
	int numero;
	char bairro[30];
	char cep[9];
	
}endereco;

struct cliente
{
	char nome[30];
	char telefone[9];
	reg_endereco endereco;
}reg;

int main()
{
	setlocale(LC_ALL,"Portuguese");

	int opcao;
	do{
		
		system("cls");
		printf("\n           MENU\n");
		printf("-----------------------------");
		printf("\n [1] Cadastro Clientes");
		printf("\n [2] Cadastro de Pedidos");
		printf("\n [3] Remover Pedido");
		printf("\n [4] Consultar Pedidos");
		printf("\n [5] Consultar Clientes");
		printf("\n [6] Listar Pedidos");
		printf("\n [7] Listar Clientes");
		printf("\n [8] FIM\n");
		printf("-----------------------------");
		printf("\n\n Escolha sua opção:");
		scanf("%d",&opcao);
		
		switch(opcao)
		{
			case 1:	cadastrarC();
					break;
					
			case 2:	cadastrarP();
					break;
					
			case 3: removerP();
					break;
					
			case 4:	consultarP();
					break;
					
			case 5:	consultarC();
					break;
					
			case 6:	listarP();
					break;
			
			case 7:	listarC();
					break;
					
			case 8:	printf("\n FIM");
					break;
					
			default:printf("\n Opcao Inválida");
			
		}
		system("pause>null");
	}while( opcao != 6);
}

int cadastrarC()
{
	
	FILE *PONTARQ;
	PONTARQ = fopen("ARQCLIE.DAT","ab");
	
	if(PONTARQ == NULL)
	{
		printf("\n Não foi possivel abrir o arquivo!");
	}
	else{
		do{
			system("cls");
			printf("--------------------------------------\n");
			printf("         Cadastro de Clientes\n");
			printf("--------------------------------------");
			printf("\n Digite o nome:");
			fflush(stdin);
			gets(reg.nome);
			printf("\n Digite o telefone:");
			fflush(stdin);
			gets(reg.telefone);
			printf("\n Digite o nome da rua:");
			fflush(stdin);
			gets(reg.endereco.rua);
			printf("\n Digite o numero:");
			scanf("%d",&reg.endereco.numero);
			printf("\n Digite o bairro:");
			fflush(stdin);
			gets(reg.endereco.bairro);
			printf("\n Digite o CEP:");
			fflush(stdin);
			gets(reg.endereco.cep);
			
			fwrite(&reg, sizeof(cliente), 1,PONTARQ);
			
			
			printf("\n Deseja continuar (s/n)?");
			
			
		}while(getche() == 's');
		fclose(PONTARQ);
	}
		
		
		
		
		
		fclose(PONTARQ);
	
	
	return(0);
}

int cadastrarP()
{
	FILE *PONTARP;
	PONTARP = fopen("ARQPED.DAT","ab");
	
	if(PONTARP == NULL)
	{
		printf("\n Não foi possivel abrir o arquivo!");
	}
	else{
		do{
			system("cls");
			printf("--------------------------------------\n");
			printf("         Cadastro de Pedidos\n");
			printf("--------------------------------------");
			printf("\n Digite o nome:");
			fflush(stdin);
			gets(reg2.nome);
			printf("\n Digite a Descrição do Pedido:");
			fflush(stdin);
			gets(reg2.descricao);
			printf("\n Digite a Quantidade:");
			scanf("%d",&reg2.quantidade);
			printf("\n Digite o valor:");
			scanf("%f",&reg2.valor);
		
			fwrite(&reg2, sizeof(pedido), 1,PONTARP);
			
			
			printf("\n Deseja continuar (s/n)?");
			
			
		}while(getche() == 's');
		fclose(PONTARP);
	
	}
	return(0);
}


int removerP()
{
}

int consultarC()
{
	system("cls");
	char nome[30];
	FILE *PONTARQ;
	PONTARQ = fopen("ARQCLIE.DAT","rb");
	printf("-------------------------------------------\n");
	printf("           Consultar Clientes\n");
	printf("-------------------------------------------\n");
	if(PONTARQ == NULL){
		printf("Problemas na abertura do arquivo");
	}
	else{
		printf("\n Digite o nome a pesquisar:");
		fflush(stdin);
		gets(nome);
		printf("-------------------------------------------\n");
		
		while(fread(&reg, sizeof(nome),1,PONTARQ)==1){
			if(strcmp(nome, reg.nome)==0){
				printf("Nome: %s\n",reg.nome);
				printf("Telefone: %s\n",reg.telefone);
				printf("Rua: %s\n",reg.endereco.rua);
				printf("Número: %d\n",reg.endereco.numero);
				printf("Bairro: %s\n",reg.endereco.bairro);
				printf("CEP: %s\n",reg.endereco.cep);
				printf("-------------------------------------------\n");
				
			}
		}
	}
		
	
	fclose(PONTARQ);
	getch();
}

int consultarP()
{
	system("cls");
	char nome[30];
	FILE *PONTARP;
	PONTARP = fopen("ARQPED.DAT","rb");
	printf("-------------------------------------------\n");
	printf("           Consultar Pedidos\n");
	printf("-------------------------------------------\n");
	if(PONTARP == NULL){
		printf("Problemas na abertura do arquivo");
	}
	else{
		printf("\n Digite o nome a pesquisar:");
		fflush(stdin);
		gets(nome);
		printf("-------------------------------------------\n");
		
		while(fread(&reg2, sizeof(nome),1,PONTARP)==1){
			if(strcmp(nome, reg.nome)==0){
				printf("Nome: %s\n",reg2.nome);
				printf("Descrição: %s\n",reg2.descricao);
				printf("Quantidade: %d\n",reg2.quantidade);
				printf("Valor: %2.1f\n",reg2.valor);
				printf("-------------------------------------------\n");
				
			}
		}
	}
		
	fclose(PONTARP);
	getch();
	
}

int listarP()
{
	FILE *PONTARP;
	PONTARP = fopen("ARQPED.DAT","rb");
	system("cls");
	printf("-------------------------------------------\n");
	printf("           Lista de Pedidos\n");
	printf("-------------------------------------------\n");
	
	if(PONTARP == NULL)
	{
		printf("\n Não foi possivel abrir o arquivo!");
	}
	else{
		while(fread(&reg2,sizeof(pedido),1,PONTARP)==1){
			printf("Nome: %s\n",reg2.nome);
			printf("Descrição: %s\n",reg2.descricao);
			printf("Quantidade: %d\n",reg2.quantidade);
			printf("Valor: %2.2f\n",reg2.valor);
			printf("-------------------------------------------\n");
		}
	}
	fclose(PONTARP);
}

int listarC()
{
	FILE *PONTARQ;
	PONTARQ = fopen("ARQCLIE.DAT","rb");
	system("cls");
	printf("-------------------------------------------\n");
	printf("           Lista de Clientes\n");
	printf("-------------------------------------------\n");
	
	if(PONTARQ == NULL)
	{
		printf("\n Não foi possivel abrir o arquivo!");
	}
	else{
		while(fread(&reg,sizeof(cliente),1,PONTARQ)==1){
			printf("Nome: %s\n",reg.nome);
			printf("Telefone: %s\n",reg.telefone);
			printf("Rua: %s\n",reg.endereco.rua);
			printf("Número: %d\n",reg.endereco.numero);
			printf("Bairro: %s\n",reg.endereco.bairro);
			printf("CEP: %s\n",reg.endereco.cep);
			printf("-------------------------------------------\n");
			
		}
	}
	fclose(PONTARQ);
}

Estou com problema com meu sistema em c, Listar produtos lista corretamente mais não retorna para o menu ele encerra o programa, e o pesquisar produtos não pesquisa o resto funciona perfeitamente.

 

Postado
4 minutos atrás, Flávio Pedroza disse:

//while(fread(&reg2, sizeof(nome),1,PONTARP)==1){
while(fread(&reg2, sizeof(reg2),1,PONTARP)==1){

Na consulta

valeu funcionou 

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!