Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package trabalho2;
- // package ShopEST;
- import java.util.Scanner;
- public class T2
- {
- public static void main(String[] args)
- {
- Scanner teclado=new Scanner(System.in);
- int tamMax=100;
- String [] nome= new String[tamMax];
- Double [] quantidade=new Double[tamMax];
- Double [] preco =new Double[tamMax];
- Boolean [] feito = new Boolean[tamMax];
- int nItens=0;
- double soma=0;
- int posicao=0;
- char menuPrincipal;
- do{
- System.out.println("(E)ditar lista");
- System.out.println("(F)azer compras");
- System.out.println("Fazer (C)ontas");
- System.out.println("(S)air");
- menuPrincipal = teclado.next().charAt(0);
- teclado.nextLine();
- switch(menuPrincipal){
- case'E': /* Op�ao Editar*/
- case'e':
- {
- char menuEditar;
- do
- {
- System.out.printf("\n %-10s%-10s%-15s%-10s%-10s \n"," ","Item","quantidade","preco","feito");
- for(int i=0; i<nItens;i++) {
- if(feito[i]==true) {
- System.out.printf("\n %-10d%-10s%-15.2f%-10.2f%-10s \n",i,nome[i],quantidade[i],preco[i],"X");
- }
- else
- {
- System.out.printf("\n %-10d%-10s%-15.2f%-10.2f%-10s \n",i,nome[i],quantidade[i],preco[i]," ");
- }
- }
- System.out.println ("(I)nserir item no fim da lista");
- System.out.println("Inserir item na (p)osi��o n da lista");
- System.out.println("(A)pagar �ltimo item inserido na lista");
- System.out.println("Apagar item na posi��o (n) da lista");
- System.out.println("Apaga(r) itens da posi��o m � n da lista");
- System.out.println("(L)istar todos os itens");
- System.out.println("(V)oltar");
- menuEditar = teclado.next().charAt(0);
- teclado.nextLine();
- switch(menuEditar)
- {
- case'I': /* Inserir lista*/
- case'i':
- //Quando os itens introduzidos for igual ou maior que o tamanho maximo aparecera "lista cheia"
- if(nItens==tamMax)
- {
- System.out.println("Lista cheia.");
- }
- else //sen�o for o caso pode continuar a inserir
- {
- System.out.println("\nInsira o nome do item: ");
- nome[nItens]= teclado.next();
- System.out.println("Insira a quantidade: ");
- quantidade[nItens]= teclado.nextDouble();
- System.out.println("Insira o pre�o: ");
- preco[nItens]= teclado.nextDouble();
- nItens++;
- System.out.println("Novo item adicionado na list!");
- }
- teclado.next();
- break;
- case'P': /*FALTA*/ /* Inserir item na posi�ao*/
- case'p':
- // guardar os valores da posicao
- String [] nomePos= new String[tamMax];
- Double [] quantidadePos= new Double[tamMax];
- Double [] precoPos= new Double[tamMax];
- if(nItens==tamMax)
- {
- System.out.println("Lista cheia.");
- }
- else {
- //criar uma vari�vel para cada item da lista e guardar
- System.out.println("\nInsira a posicao: ");
- posicao=teclado.nextInt();
- if(posicao>nItens) {
- //a posi��o inserida dos itens n�o vao pertencer � lista
- System.out.println("Posicao Errada");
- break;
- }
- System.out.println("\nInsira o nome do item: ");
- String nomeitem= teclado.next();
- System.out.println("Insira a quantidade: ");
- double quantidadeitem= teclado.nextDouble();
- System.out.println("Insira o pre�o: ");
- double precoitem= teclado.nextDouble();
- for(int i=0;i<nItens;i++){
- if(i<posicao) { //posi��es anterior alterada mantem se
- nomePos[i]=nome[i];
- quantidadePos[i]=quantidade[i];
- precoPos[i]=preco[i];
- } else if(i==posicao) { //a posi��o que vai ser alterado � substitu�da pelo novo item
- nomePos[i]=nomeitem;
- quantidadePos[i]=quantidadeitem;
- precoPos[i]=precoitem;
- nItens=0;
- } else {
- nomePos[i]=nome[i-1];
- quantidadePos[i]=quantidade[i-1];
- precoPos[i]=preco[i-1];
- }
- }
- //vai igualar a primeira posicao aos alterados
- nome=nomePos;
- quantidade=quantidadePos;
- preco=precoPos;
- }
- break;
- case'A': /* apagar ultimo da lista*/
- case'a':
- if (nItens > 0){
- nome[nItens - 1] = null;
- quantidade[nItens - 1] = -1;
- preco[nItens - 1] = -1;
- }
- break;
- case'N': /* apagar lista na posi�ao*/
- case'n':
- System.out.println("Entra a posicao: ");
- posicao = teclado.next().charAt(0);
- if (posicao >= 0 && posicao < nItens){
- nome[posicao] = null;
- quantidade[posicao] = -1;
- preco[posicao] = -1;
- }
- else{
- System.out.println("Posicao invalida!");
- }
- break;
- case'R': /* listar todos os itens*/
- case'r':
- System.out.printf("%-10s%-10s%-10s%-10s", "Itens", "Nome", "Quantidade", "Comparado");
- for (int i = 0; i < itemCount; i++)
- {
- // Position | Name | Quantidate | x or ""
- System.out.printf("%-10s%-10s%-10s%-10s%-10s",i, name[i], quanto[i], preco[i], (feito[i] ? "x" : ""));
- }
- break;
- case'L': /* Inserir lista*/
- case'l':
- break;
- case'V': /* Voltar ao menu principal*/
- case'v':
- break;
- default:
- System.out.println("op�ao Errada");
- break;
- }
- }while(menuEditar !='V'&& menuEditar !='v' );
- }break;
- case'F': /* Fazer Compras*/
- case'f':
- {
- char menuComprar;
- do{
- System.out.println("(M)arcar primeiro item por comprar");
- System.out.println("(D)esmarcar primeiro item comprado");
- System.out.println("Trocar estado por (n)ome");
- System.out.println("Trocar estado por (p)osi��o");
- System.out.println("(L)istar");
- System.out.println("(V)oltar");
- menuComprar = teclado.next().charAt(0);
- teclado.nextLine();
- switch(menuComprar)
- {
- case'M': /* marcar primeiro item comprado*/
- case'm':
- if(nItens > 0){
- feito[0] = true;
- }
- break;
- case'D': /* desmarcar primeiro item comprado*/
- case'd':
- if(nItens > 0){
- feito[0] = true;
- }
- break;
- case'N': /* estado por nome*/
- case'n':
- System.out.println("Escreve nome do item para alterar estado: ");
- String itenName = teclado.next();
- for (int i = 0; i < nItens; i++){
- if (nome[i] == itemName){
- feito[i] = !feito[i];
- }
- }
- break;
- case'P': /* estado por posi�ao*/
- case'p':
- System.out.println("Escreve nome do item para alterar estado: ");
- Integer pos = teclado.nextInt();
- if (pos >= 0 && post < nItens){
- feito[pos] = !feito[post];
- }
- break;
- case'L': /* listar*/
- case'l':
- {
- char menuListar;
- do{
- System.out.println("Listar (t)odos os itens.");
- System.out.println("Listar itens (c)omprados");
- System.out.println("Listar itens (p)or comprar");
- menuListar = teclado.next().charAt(0);
- teclado.nextLine();
- switch(menuListar)
- {
- case'T':
- case't':
- for (int i = 0; i < itemCount; i++)
- {
- System.out.printf("%-10s%-10s%-10s%-10s", name[i], quanto[i], preco[i], (feito[i] ? "x" : ""));
- }
- break;
- case'C':
- case'c':
- for (int i = 0; i < itemCount; i++)
- {
- if (feito[i] == true)
- {
- System.out.printf("%-10s%-10s%-10s%-10s", name[i], quanto[i], preco[i], (feito[i] ? "x" : ""));
- }
- }
- break;
- case'P':
- case'p':
- for (int i = 0; i < itemCount; i++)
- {
- if (feito[i] == false)
- {
- System.out.printf("%-10s%-10s%-10s%-10s", name[i], quanto[i], preco[i], (feito[i] ? "x" : ""));
- }
- }
- break;
- }
- }while(menuListar !='V'&& menuListar !='v' );
- }
- break;
- case'V':
- case'v':
- break;
- default:
- System.out.println("op�ao Errada");
- break;
- }
- }while(menuComprar !='V'&& menuComprar !='v' );
- }break;
- case'C': /* Fazer contas*/
- case'c':
- {
- char menuContas;
- do{
- System.out.println("Quanto custa a (l)ista?");
- System.out.println("Quanto j� (g)astei?");
- System.out.println("Quanto custa o que (f)alta comprar?");
- System.out.println("Qual o pre�o (m)�dio por item?");
- menuContas = teclado.next().charAt(0);
- teclado.nextLine();
- switch(menuContas)
- {
- case'L':
- case'l':
- Double precoTotalDaLita = 0;
- for (int i = 0; i < nItens; i++)
- {
- precoTotalDaLita += preco[i] * quantidade[i];
- }
- System.out.printf("A lista custa %s", precoTotalDaLita);
- teclado.next();
- break;
- case'G':
- case'g':
- Double montanteGasto = 0;
- for (int i = 0; i < nItens; i++)
- {
- if(feito[i] == true)
- {
- montanteGasto += preco[i] * quantidade[i];
- }
- }
- System.out.printf("Montante gastado na loja: %s", montanteGasto);
- teclado.next();
- break;
- case'F':
- case'f':
- Double precoTotalDosItensNaoComparado = 0;
- for (int i = 0; i < nItens; i++)
- {
- if(feito[i] == false)
- {
- precoTotalDosItensNaoComparado += preco[i] * quantidade[i];
- }
- }
- System.out.printf("Preco de itens nao comparado: %s", precoTotalDosItensNaoComparado);
- teclado.next();
- break;
- case'M':
- case'n':
- // this is still not clear
- Double precoTotal2 = 0;
- for (int i = 0; i < nItens; i++)
- {
- precoTotal2 = preco[i] * quantidade[i];
- }
- System.out.printf("Preco medio: %s", precoTotal2 / nItens);
- teclado.next();
- break;
- case'V':
- case'v':
- break;
- default:
- System.out.println("op�ao Errada");
- break;
- }
- }while(menuContas !='V'&& menuContas !='v' );
- }break;
- case'S': /* Op�ao sair*/
- case's':
- break;
- default:
- System.out.println("op�ao Errada");
- break;
- }
- }while(menuPrincipal !='S'&& menuPrincipal !='s' );
- System.out.println("Volte sempre!");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement