Untitled
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...