Академический Документы
Профессиональный Документы
Культура Документы
Para resolver o problema irei construir um menu com as opções para o usuário,
desta forma deixamos o programa mais amigável.
########################
inicio
variáveis
mat_armazem: matriz[1..5,1..4] decimal
i,j,opc: inteiro
total: decimal
{comandos}
repita
{menu com as opções}
escreva("### MENU PRINCIPAL ###\n")
escreva("1 - Cadastrar produto no armazém\n")
escreva("2 - Cadatrar valor unitario do produto\n")
escreva("3 - Ver relatório\n")
escreva("4 - Sair\n")
escreva("Digite o codigo da opção: ")
leia(opc)
{valida a opção}
enquanto não(opc>=1 e opc<=4)faça {enquanto opção inválida}
escreva("Opção inválida! informe novamente: ")
leia(opc)
fim-enquanto
{visualizar relatório}
3:
escreva("\n\n### RELATÓRIO ###\n\n")
{EXIBE A QUANTIDADE DE CADA PRODUTO POR ARMAZÉM - não estava na questão, coloquei porque
achei interessante}
para(i<-1 até 5)faça
escreva("\n Armazém ",i)
para(j<-1 até 4)faça
escreva("\n Produto ",j,": ",mat_armazem[i][j])
fim-para
fim-para
{
A) CALCULA E EXIBE A QUANTIDADE DE ITENS ARMAZENADO EM CADA ARMAZEM
}
escreva("\n\nQUANTIDADE DE ITENS ARMAZENADOS POR ARMAZÉM\n")
para(i<-1 até 4)faça
total<-0
para(j<-1 até 4)faça
total<-total + mat_armazem[i][j]
para
escreva("\n Armazém ",i,": ",total)
fim-para
{
B) CALCULA E EXIBE O CUSTO TOTAL DE CADA PRODUTO
}
escreva("\n\nCUSTO TOTAL POR PRODUTO\n")
para(j<-1 até 4)faça
total<-0
para(i<-1 até 4)faça
total<-total + mat_armazem[i][j]*mat_armazem[5][j]
fim-para
escreva("\n Produto ",i,": R$ ",total)
fim-para
{
C) CALCULA E EXIBE O CUSTO TOTAL DE CADA ARMAZÉM
}
escreva("\n\nCUSTO TOTAL POR ARMAZÉM\n")
para(i<-1 até 4)faça
total<-0
para(j<-1 até 4)faça
total<-total + mat_armazem[i][j]*mat_armazem[5][j]
fim-para
escreva("\n Armazem ",i,": R$ ",total)
}
{sair do sistema}
4:
escreva("\n\n##### FIM DO PROGRAMA ARAMAZÉM ######")
fim-caso
até(opc="4")
int main()
{
float mat_armazem[5][4];//matriz para os produtos nos armazéns (linha=armazém,coluna=produto)
int i,j,opc;
float total;
//percorre todas as posições da matriz para atribuir valor 0
for(i=0;i< 5;i++){//REPETIÇÃO COM VARIÁVEL DE CONTROLE (PARA)
for(j=0;j< 4;j++){
mat_armazem[i][j]=0;
}
}
//CADASTRO DO PRODUTO
case 1:
printf("\n\n### CADASTRAR PRODUTO NO ARMAZÉM ###\n");
printf("Digite o código do armazém: ");
scanf("%i",&i);//armazena a linha da matriz (armazém)
printf("Digite o código do produto: ");
scanf("%i",&j);//armazena a coluna da matriz (produto)
//VISUALIZAR RELATÓRIO
case 3:
printf("\n\n### RELATÓRIO ###\n\n");
break;
//SAIR
case 4:
printf("\n\n##### FIM DO PROGRAMA ARAMAZÉM ######");
break;
}
printf("\n\n\n");
//FIM DA REPETIÇÃO COM O TESTE NO FINAL (ATÉ)
}while(opc!=4);//NO C ELE REPETE ENQUANTO (WHILE) CONDIÇÃO VERDADEIRA