Ir ao conteúdo
  • Cadastre-se
Jairo Emanuel

C programa para controle de comandas envolvendo struct e arquivos.

Posts recomendados

Preciso fazer um programa IMG_20190606_100410.thumb.jpg.766148abd3325dfb6d75c22e4e9eec46.jpgde controle de comandas de restaurante, envolvendo struct e arquivos, porém não sei por onde começar, o que eu faço ?

IMG_20190606_095947.jpg

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia @Jairo Emanuel

 

Nós não podemos escrever o código para você, nós só podemos lhe auxiliar tirando duvidas e corrigindo algum código que você já tenha feito.

 

Se puder postar o código que você já fez ou colocar em qual parte do exercício você está com duvida, poderemos lhe ajudar melhor :D 

  • Curtir 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <stdio.h>

 

struct produto{

int codigo_produto;

char descrição[50];

double valor;

};

 

struct mesa{

int cod_mesa;

char setor[30];

int codigo_garçom;

};

 

struct garçom{

int codigo_garçom;

char nome[70];

};

 

struct consumo{

int cod_produto,cod_consumo;

char data [10];

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode começar usando três vetores: de Mesa, de Garçom e de Consumo. Os códigos de cada struct irão corresponder ao índice do vetor da struct correspondente.

 

A partir disso você monta todo o processo de manipulação.

 

Exemplo:

int main(void)
{
	struct Garcom garcons[5];
	struct Mesa mesas[5];
  	
	garcons[1].codigo_garcom = 1;
	strcpy(garcons[1].nome, "Roberto"); //Precisa incluir string.h
  
	mesas[0].cod_mesa = 0;
	mesas[0].codigo_garcom = 1;
	return 0;
}

 

  • Curtir 1
  • Confuso 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jairo Emanuel Você deveria se pergunta "O que o programa faz?" e depois "Como ele deveria fazer?" e por fim "Como eu faço isso?", mas essa ultima pergunta, ela tem uma pegadinha porque você não deve fazer o programa inteiro, você deve pegar um pedaço pequeno dele que você tem certeza que consiga fazer então você vai voltar para a pergunta "Como eu faço isso?".

 

Só quando você passar por essas três perguntas você pode começar à fazer alguma coisa.

um exemplo seria um gerenciamento de um restaurante, eu começaria com uma coisa simples como definir os dados para um pedido e depois como pegar esse pedido, seria mais ou menos assim como eu começaria.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>


/* Constantes */
#define T_NOME_PRATO 20
#define T_NOME_CLIENTE 10

/* Tipos */
typedef struct 
{
  char nome_prato[T_NOME_PRATO];
  float preco;
}TPrato;

typedef struct
{
  int identificacao;
  char nome_cliente[T_NOME_CLIENTE];
  TPrato prato_pedido;
}TCliente;


int main()
{
  TCliente cliente;
  /* Pega o pedido e os dados do cliente */
  printf("\nDigite o nome do cliente:\t");
  fgets(&cliente.nome_cliente,T_NOME_CLIENTE,stdin);
  printf("\nDigite o nome do prato:\t");
  fgets(&cliente.prato_pedido.nome_prato,T_NOME_PRATO,stdin);
  printf("\nDigite o preço do prato:\t");
  scanf("%f",&cliente.prato_pedido.preco);
  getchar();
  /* Gera a identificacao do cliente */
  srand(time(NULL));
  cliente.identificacao=rand()%1000;
  /* Mostra o pedido */
  printf("\nIdentifição do pedido:\t%i",cliente.identificacao);
  printf("\nNome do cliente:\t%s",cliente.nome_cliente);
  printf("\nNome do prato pedido:\t%s",cliente.prato_pedido.nome_prato);
  printf("\nPeço do prato pedido:\t%.2f R$",cliente.prato_pedido.preco);
  getchar();
  return(0);
}

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

@KXSY Então, eu fiz da seguinte forma:

 

#include <stidio.h>

 

struct produto{

int codigo_produto;

char descrição[50];

double valor;

}prod[4];

 

struct mesa{

int cod_mesa;

char setor[30];

int codigo_garçom;

}mes[3];

 

struct garçom{

int codigo_garçom;

char nome[70];

}gar[;

 

struct consumo{

int cod_produto,cod_consumo;

char data [10];

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Jairo Emanuel Você já tentou fazer algo pelo menos parecido com isso que eu mandei?

2 horas atrás, KXSY disse:

@Jairo Emanuel Você deveria se pergunta "O que o programa faz?" e depois "Como ele deveria fazer?" e por fim "Como eu faço isso?", mas essa ultima pergunta, ela tem uma pegadinha porque você não deve fazer o programa inteiro, você deve pegar um pedaço pequeno dele que você tem certeza que consiga fazer então você vai voltar para a pergunta "Como eu faço isso?".

 

Só quando você passar por essas três perguntas você pode começar à fazer alguma coisa.

um exemplo seria um gerenciamento de um restaurante, eu começaria com uma coisa simples como definir os dados para um pedido e depois como pegar esse pedido, seria mais ou menos assim como eu começaria.


#include <stdio.h>
#include <stdlib.h>
#include <time.h>


/* Constantes */
#define T_NOME_PRATO 20
#define T_NOME_CLIENTE 10

/* Tipos */
typedef struct 
{
  char nome_prato[T_NOME_PRATO];
  float preco;
}TPrato;

typedef struct
{
  int identificacao;
  char nome_cliente[T_NOME_CLIENTE];
  TPrato prato_pedido;
}TCliente;


int main()
{
  TCliente cliente;
  /* Pega o pedido e os dados do cliente */
  printf("\nDigite o nome do cliente:\t");
  fgets(&cliente.nome_cliente,T_NOME_CLIENTE,stdin);
  printf("\nDigite o nome do prato:\t");
  fgets(&cliente.prato_pedido.nome_prato,T_NOME_PRATO,stdin);
  printf("\nDigite o preço do prato:\t");
  scanf("%f",&cliente.prato_pedido.preco);
  getchar();
  /* Gera a identificacao do cliente */
  srand(time(NULL));
  cliente.identificacao=rand()%1000;
  /* Mostra o pedido */
  printf("\nIdentifição do pedido:\t%i",cliente.identificacao);
  printf("\nNome do cliente:\t%s",cliente.nome_cliente);
  printf("\nNome do prato pedido:\t%s",cliente.prato_pedido.nome_prato);
  printf("\nPeço do prato pedido:\t%.2f R$",cliente.prato_pedido.preco);
  getchar();
  return(0);
}

 

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

@Jairo Emanuel precisa antes de tudo revisar, depois disso visualize o que é um comanda e o que é preciso para se ter uma.

Por exemplo; Eu imagino aqui que um comanda de restaurante é aquele caderninho que o garçom anota o nosso pedido. Nele deve ter lacunas para preencher tais quais o

 

1: Código do garçom e o Nome cadastrado,

2: Código e Posição da mesa e claro

3: Os pedidos daquela mesa atendida com a data do preenchimento (por consumo).

 

é algo que penso também ser parecido com que o colega @KXSY programou.

Observação as ligações no quadro branco indicam que a tabela consumo tem um campo para mesa, logo um registro seu é próximo disso:

 

T_CONSUMO

COD;COD_MESA;COD_PRODUTO;DATA;
000003;0069;0036;14-06-2019
...

Disso vem que ... struct consumo{   int cod_produto; int cod_consumo; char data [10];   } 

                           é struct consumo{   int cod_consumo; int cod_mesa; int cod_produto; char data [10];    } 

  • Curtir 2

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





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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!