Boa tarde, tenho uma duvida como posso fazer o menu de ingredientes onde tem o preço e depois o cliente faz o pedido e ao fazer o pedido somamos a conta e perguntamos ao cliente se quer o nif ou nao?
É urgente por favor
Boa tarde, tenho uma duvida como posso fazer o menu de ingredientes onde tem o preço e depois o cliente faz o pedido e ao fazer o pedido somamos a conta e perguntamos ao cliente se quer o nif ou nao?
É urgente por favor
Sua pergunta é totalmente genérica, tente reformular.
Diga o que você já tem, o que já pensou, o que pretende fazer, se tem Interface Gráfica (ou não)…, enfim, são N perguntas que você pode fazer a você mesmo e até conseguir alguma coisa
Basicamente fiz um menu com 5 ingredientes e não sei como se faz pedido deste ingredientes para depois a soma na fatura.
Por exemplo:
1 - bolo custa 0.60 euros
2 - cafe custa 0.65 euros
3 - tosta mista - 1 euros
4 - pão com manteiga - 0.45 euros
5 - lanche misto - 1.20 euros
E o cliente escolhe 1 e 2 depois tenho fazer a soma 0.60+0.65= 1.25 euros
Se for pelo console você pode fazer mais ou menos assim:
public class MenuIngredientes {
private static final Scanner IN = new Scanner(System.in);
private double somaTotal;
public static void main(String[] args) {
String continuar = "Sim";
MenuIngredientes menuIngredientes = new MenuIngredientes();
while (continuar.toUpperCase().startsWith("S")) {
menuIngredientes.mostrarMenu();
System.out.println("Comprar mais? [Sim/Não]");
continuar = IN.nextLine();
}
System.out.println("Total a pagar: €" + menuIngredientes.somaTotal);
}
public void mostrarMenu() {
System.out.println("[1] Bolo custa 0.60 Euros");
System.out.println("[2] Café custa 0.65 Euros");
System.out.println("[3] Tosta mista custa 1 Euro");
System.out.println("[4] Pão com manteiga custa 0.45 Euros");
System.out.println("[5] Lanche misto custa 1.20 Euros");
System.out.print("Escolha => ");
int opt = Integer.parseInt(IN.nextLine());
executaLogica(opt);
}
public void executaLogica(int opt) {
switch (opt) {
case 1:
somaTotal += 0.60;
break;
case 2:
somaTotal += 0.65;
break;
case 3:
somaTotal += 1;
break;
case 4:
somaTotal += 0.45;
break;
case 5:
somaTotal += 1.20;
break;
default:
System.out.println("Digite uma opção válida!");
}
}
}
Claro que eu não fiz verificações, nem nada muito complexo.
Se for com GUI, você fara de uma maneira diferente.
Se você tiver uma classe para representar cada um dos itens de seu menu, fica fácil:
public class Item {
public String descricao;
public double valor;
public Item() {}
public Item(String descricao, double valor) {
this.descricao = descricao;
this.valor = valor;
}
}
Aí você pode fazer algo assim:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintStream;
public class Exemplo {
public static void main(String[] args) {
Exemplo programa = new Exemplo();
programa.executar();
}
private final BufferedReader entrada = new BufferedReader(new InputStreamReader(System.in));
private final PrintStream saida = System.out;
public void executar() {
Item[] itens = listarItens();
apresentarMenu(itens);
double total = 0;
int opcao;
do {
opcao = lerOpcao("Digite o item desejado [0 para sair]: ");
if (opcao > 0) {
Item item = itens[opcao - 1];
saida.printf("%s - %.2f euros%n", item.descricao, item.valor);
total += item.valor;
}
} while (opcao != 0);
saida.printf("Total à pagar: %.2f euros%n", total);
}
private Item[] listarItens() {
return new Item[] {
new Item("Bolo", 0.60),
new Item("Café", 0.65),
new Item("Torta Mista", 1.00),
new Item("Pão com Manteiga", 0.45),
new Item("Lanche Misto", 1.20)
};
}
private void apresentarMenu(Item[] itens) {
int opcao = 0;
for (Item item : itens) {
saida.printf("%d - %s - %.2f euros%n", ++opcao, item.descricao, item.valor);
}
}
private int lerOpcao(String mensagem) {
while (true) {
try {
saida.print(mensagem);
return Integer.parseInt(entrada.readLine());
} catch (Exception e) {
saida.println("Valor inválido!");
}
}
}
}