Untitled

 avatar
unknown
c_cpp
4 years ago
4.3 kB
5
Indexable
#include <stdio.h>
#include <string.h> 

typedef struct {
	char rua[50];
	int numero;
	char bairro[50];
}Endereco;

typedef struct {
	char telefone[15];
	char nome[50];
	Endereco endereco;
}Pessoa;

typedef struct {
	Pessoa pessoa;
}Cliente;

typedef struct {
	Pessoa pessoa;
	int cod_motoqueiro;
}Motoqueiro;

typedef struct {
	int cod_pizza;
	char nome_pizza[50];
	float preco;
}Pizza;

typedef struct {
	int cod_pedido;
	char telefone_cliente[50];
	int cod_pizza;
	int cod_motoqueiro;
	int situacao;
}Pedido;

void menu() {
	printf("1)Cadastra Cliente\n");
	printf("2)Cadastra Motoboy\n");
	printf("3)Cadastra pizza\n");
	printf("4)Cadastra pedido\n");
	printf("5)Despacha pizza\n");
	printf("6)Recebe pizza\n");
	printf("7)Pedidos por situacao\n");
	printf("8)Pedidos por cliente\n");
	printf("9)Motoqueiros entregas\n");
	printf("0)Sair\n");
	printf("Digite um numero do menu: ");
}

int cadastro_cliente(Cliente* vetor_cliente, int tam);
int cadastro_motoqueiro(Motoqueiro* vetor_motoqueiro, int tam);
int cadastro_pizza(Pizza* vetor_pizza, int tam);
int cadastro_pedido(Pedido* vetor_pedido, int tam);
int despacho_pizza(Pedido pedido, int cod_motoqueiro, Motoqueiro* vetor_motoqueiro, int tam);
int recebe_pizza(Pedido pedido);
int situacao_pedido(Pedido* vet_pedido, int tam, int situacao);
int pedidos_clientes(Pedido* vet_pedido, int tam, char telefone[]);
int pedidos_motoqueiros(Pedido* vet_pedido, int tam, int cod_motoqueiro);

int main(){
	int opcao = 1;
	Cliente clientes[5];
	Motoqueiro motoqueiros[2];
	int qnt_clientes = 0, qnt_motoqueiro = 0;
	
	menu();
	
	while(opcao != 0){
		scanf("%d", &opcao);
		switch(opcao){
			case 1:
				if(cadastro_cliente(clientes, qnt_clientes) == 0){
					qnt_clientes++;
					printf("Cliente cadastrado com sucesso\n");
				}
				break;
			case 2:
				if(cadastro_motoqueiro(motoqueiros, qnt_motoqueiro) == 0){
					qnt_motoqueiro++;
					printf("Motoqueiro cadastrado com sucesso\n");
				} 
				break;
			case 3:
				//funcao de cadastrar pizza
				break;
			case 4:
				//funcao de cadastrar pedido
				break;
			case 5:
				//funcao de despachar pizza 
				break;
			case 6:
				//funcao de receber pizza
				break;
			case 7:
				//funcao de pedidos por situações
				break;
			case 8:
				//funcao de pedidos por cliente
				break;
			case 9:
				//funcao de motoqueiros entregas
				break;
		}
		fflush(stdin);
		menu();
	}
	return 0;
}

int cadastro_cliente(Cliente* vetor_cliente, int tam){
	int max = 5;
	if(tam == max){
		printf("Numero maximo de clientes cadastrados\n");
		return 1;
	}
	
	char telefone_cliente[50];
	printf("Digite o seu telefone: ");
	scanf(" %[^\n]%*c", telefone_cliente);
	
	int i;
	for(i=0; i<tam; i++){
		if(strcmp(telefone_cliente, vetor_cliente[i].pessoa.telefone) == 0){
			printf("Cliente ja cadastrado\n");
			return 1;
		}
	}
	
	strcpy(vetor_cliente[tam].pessoa.telefone, telefone_cliente);
	
	printf("nome: ");
	scanf(" %[^\n]%*c", vetor_cliente[tam].pessoa.nome);
	printf("rua: ");
	scanf(" %[^\n]%*c", vetor_cliente[tam].pessoa.endereco.rua);
	printf("numero: ");
	scanf(" %d", &vetor_cliente[tam].pessoa.endereco.numero);
	printf("bairro: ");
	scanf(" %[^\n]%*c", &vetor_cliente[tam].pessoa.endereco.bairro);
	
	return 0;
}

int cadastro_motoqueiro(Motoqueiro* vetor_motoqueiro, int tam){
	int max = 2;
	if(tam == max){
		printf("Numero maximo de motoqueiros cadastrados\n");
		return 1;
	}
	
	printf("%d", tam);
	
	int cod_motoqueiro;
	printf("Digite o seu codigo: ");
	scanf(" %d", &cod_motoqueiro);
	
	for(int i = 0; i < tam; i++){
		if(cod_motoqueiro == vetor_motoqueiro[i].cod_motoqueiro){
			printf("Motoqueiro ja cadastrado\n");
			return 1;
		}
	}
	
	printf("Digite o seu telefone: ");
	scanf(" %[^\n]%*c", vetor_motoqueiro[tam].pessoa.telefone);
	printf("nome: ");
	scanf(" %[^\n]%*c", vetor_motoqueiro[tam].pessoa.nome);
	printf("rua: ");
	scanf(" %[^\n]%*c", vetor_motoqueiro[tam].pessoa.endereco.rua);
	printf("numero: ");
	scanf(" %d", &vetor_motoqueiro[tam].pessoa.endereco.numero);
	printf("bairro: ");
	scanf(" %[^\n]%*c", &vetor_motoqueiro[tam].pessoa.endereco.bairro);
	
	return 0;
}

int cadastro_pizza(Pizza* vetor_pizza, int tam){
	
}
Editor is loading...