Untitled
unknown
c_cpp
4 years ago
4.3 kB
15
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...