• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

suzy

menu

9 mensagens neste tópico

caros:)

quero fazer um menu, mas o utlizador nao vai colocar numeros,por isso acho que posso utilizar o switch :hmm:.. nao sei

quero escrever assim os comandos

cria alimento

listar  alimento x

faznedo sempre assim... mas o utlizador pode ate criar 2 alimentos fazendo

cria alimento

cria alimento

como faco o menu?

mto obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hm. Quando me pediram para fazer algo desse género há uns anos, foi à custa da utilização de perto de 80% do polimorfismo de C++.

Resumindo, depende do que é pedido. Sê mais específica. Mostra o enunciado se puderes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e assim

• mundo <limite> - cria um objecto do tipo mundo, vazio, definido de

  acordo com o valor de limite.

• cria <id> - cria e acrescenta um ser vivo com identificação id numa

  posição aleatória vazia.

• cria <id> <x> < y> - cria e acrescenta um ser vivo com identificação id na

  posição (x,y).

• alimento - cria e acrescenta um alimento numa posição aleatória vazia.

• move <id> <aonde> - move o ser vivo com identificação id para:

      Norte se aonde for uma string com o valor “N” ou “n”

      Sul se aonde for uma string com o valor “S” ou “s”

      Este se aonde for uma string com o valor “E” ou “e”

      Oeste se aonde for uma string com o valor “O” ou “o”

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas qual é o objectivo do trabalho? É que isso faz-se muito rapidamente com umas extracções do input, ou muito mais elegantemente recorrendo a polimorfismo e derivação de classes.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

qual o objectivo do trabalho? é fazer funções que façam isso, criar objectos, etc....

so tenho duvida no menu e o poliformismo neste trabalho nao entra . a prof nao quer. Como se faz entao essas extracçoes.. é que com um switch nao da porque leva numeros.

cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes fazer uma função que dada uma string devolve um número único para cada opção do menu, depois já podes usar o switch.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

:wallbash: sim... mas a funcao atoi me devolve sempre zero, conheces alguma funcao?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens várias opções, ou usas uma função de hashing. Tens algumas funções de hashing aqui.

Ou no teu caso como tens um número muito limitado de opções o mais fácil é mesmo fazer algo do género:

#include <string.h>

enum MENU_OPTIONS {
  MUNDO,
  CRIA,
  ALIMENTO,
  MOVE
};

int get_menu_option(char* opt)
{
  if(strcmp(opt, "MENU") == 0) return MENU;
  
  // ...
}

int main(void)
{
  char* opt;
  // input ...

  switch(get_menu_option(opt))
  {
  case MUNDO:
    // do something here
  case CRIA:
    // do something else
  case ALIMENTO:
    // do something else
  case MOVE:
    // do something else  
  }

  // output...
}

Warning: não testei o código.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora