Pessoa eu tenho essa questão:
[quote]Faça um Programa para controlar o acesso de pessoas a um restaurante. O restaurante possui uma
capacidade de 40 vagas, que não poderá ser ultrapassada. O controle se dará através de códigos,
conforme a
tabela:
0-FIM
1-ENTRA UMA PESSOA (escrever: ?Entrou?)42
2-SAI UMA PESSOA (escrever: ?Saiu?)
3-MOSTRAR QUANTOS LUGARES ESTÃO DISPONÍVEIS
4-MOSTRAR O TOTAL DE PESSOAS QUE ENTRARAM
5-MOSTRAR O TOTAL DE PESSOAS QUE SAÍRAM
Outro código escrever: ?Código Inválido?[/quote]
O meu código está pela metade e está assim :
[code]import java.util.Scanner;
public class Exercíco2 {
public static void main(String [] args){
int opcao;
int vagas=0, entra=0, sai=0;
int TotalEntra, TotalSai, TotalVagas;
System.out.println("0-FIM");
System.out.println("1-ENTRADA DE PESSOA");
System.out.println("2-SAIDA DE PESSOA");
System.out.println("3-MOSTRAR QUANTIDADE DE VAGAS DISPONIVEIS");
System.out.println("4-MOSTRAR A QUANTIDADE DE PESSOAS QUE ENTRARAM");
System.out.println("5-MOSTRAR A QUANTIDADE DE PESSOA QUE SAIRAM");
System.out.println("\ninforma a opção desejada: ");
Scanner sc = new Scanner(System.in);
opcao = sc.nextInt();
switch (opcao) {
case 1:
System.out.println("Quantas pessoas estão entrando?");
entra = sc.nextInt();
System.out.print("Entrou " + entra + " pessoas!" );
break;
case 2:
System.out.println("Quantas pessoas estão saindo?");
sai = sc.nextInt();
System.out.print("Saiu " + sai + " pessoas!");
break;
case 3:
vagas = entra - sai;
System.out.println("A quantidade de vagas disponíveis é: " + vagas);
break;
}
return;
}
}
[/code]
Está faltando muito coisa eu sei, mais não estou acertando como dar retorno antes do switch e como só finalizar o programa apenas quando informar o “0”
[quote]
int opcao = -1;
int vagas=0, entra=0, sai=0;
int TotalEntra, TotalSai, TotalVagas;
while (opcao != 0) {
System.out.println(“0-FIM”);
System.out.println(“1-ENTRADA DE PESSOA”);
System.out.println(“2-SAIDA DE PESSOA”);
System.out.println(“3-MOSTRAR QUANTIDADE DE VAGAS DISPONIVEIS”);
System.out.println(“4-MOSTRAR A QUANTIDADE DE PESSOAS QUE ENTRARAM”);
System.out.println(“5-MOSTRAR A QUANTIDADE DE PESSOA QUE SAIRAM”);
System.out.println("\ninforma a opção desejada: ");
Scanner sc = new Scanner(System.in);
opcao = sc.nextInt();
switch (opcao) {
case 1:
System.out.println("Quantas pessoas estão entrando?");
entra = sc.nextInt();
System.out.print("Entrou " + entra + " pessoas!" );
break;
case 2:
System.out.println("Quantas pessoas estão saindo?");
sai = sc.nextInt();
System.out.print("Saiu " + sai + " pessoas!");
break;
case 3:
vagas = entra - sai;
System.out.println("A quantidade de vagas disponíveis é: " + vagas);
break;
default:
System.out.println("opção invalida");
}
} [/quote]
veja se de resolve
Cristian,
Mais eu fazendo isso o programa ainda continua finalizando!
O código tem que se de acordo com a questão em cima!
E eu não estou conseguindo realizar por conta disso toda vez que eu escolho umas das opções e informo o que ela precisa, ao programa executar e ele finaliza e zera as informações!
meu nome é "Cristian" mais atenção na proxima
[code]
int opcao = -1;
int totalPessoas = 0;
while (opcao != 0) {
System.out.println("0-FIM");
System.out.println("1-ENTRADA DE PESSOA");
System.out.println("2-SAIDA DE PESSOA");
System.out.println("3-MOSTRAR QUANTIDADE DE VAGAS DISPONIVEIS");
System.out
.println("4-MOSTRAR A QUANTIDADE DE PESSOAS QUE ENTRARAM");
System.out.println("5-MOSTRAR A QUANTIDADE DE PESSOA QUE SAIRAM");
System.out.println("\ninforma a opção desejada: ");
Scanner sc = new Scanner(System.in);
opcao = sc.nextInt();
int qt = 0;
switch (opcao) {
case 1:
System.out.println("Quantas pessoas estão entrando?");
qt = sc.nextInt();
totalPessoas += qt;
if (totalPessoas > 40) {
System.out.println("Não é possivel a entrada de " + qt + " pessoas agora, " + (totalPessoas - 40) +
" pessoas teram que esperar o mesmo número de pessoas sair para que elas entrem.");
totalPessoas -= qt;
} else {
System.out.println("Entrou " + qt + " pessoas!");
}
break;
case 2:
System.out.println("Quantas pessoas estão saindo?");
qt = sc.nextInt();
totalPessoas -= qt;
System.out.print("Saiu " + qt + " pessoas!");
break;
case 3:
System.out.println("A quantidade de vagas disponíveis é: "
+ (40 - totalPessoas));
break;
default:
System.out.println("opção invalida");
}
}[/code]
Muito obrigado Cristian!
o que faz ele ficar voltando sempre no código das opções é break; ou o default: ?
O que faz voltar no menu de opções é o porque a variavel opção é diferente e 0…
Isto dentro de um while… o while tem a função de executar uma sequência de comandos enquanto a condição entre parenteres for verdade.
O [color=darkblue]break [/color] é para quando entrar em um dos cases, não ter que percorrer os outros.
O [color=darkblue]default[/color] é caso não entre em nenhum dos cases, faça aquilo por default.
O que faz ficar voltando é o [color=darkblue]while[/color].
while (opcao != 0) { //Enquanto a opção digitada for diferente de 0
...
[quote=michetti]O que faz voltar no menu de opções é o porque a variavel opção é diferente e 0…
Isto dentro de um while… o while tem a função de executar uma sequência de comandos enquanto a condição entre parenteres for verdade.[/quote]
Muito obrigado!
Isso clareou bem e matou definitivamente a minha duvida!
[quote=ErickRAR]O [color=darkblue]break [/color] é para quando entrar em um dos cases, não ter que percorrer os outros.
O [color=darkblue]default[/color] é caso não entre em nenhum dos cases, faça aquilo por default.
O que faz ficar voltando é o [color=darkblue]while[/color].
while (opcao != 0) { //Enquanto a opção digitada for diferente de 0
...
[/quote]
Muito obrigado pela explicação Erick!