Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
fato também é indicado no vetor Nome que é um vetor de ponteiros para variáveis do tipo char.<br />
6. Este ex<strong>em</strong>plo mostra uma situação <strong>em</strong> que há a necessidade de vários vetores. Trata-se de um<br />
programa para administrar os pedidos de uma lanchonete, cujo cardápio é o seguinte:<br />
Codigo Produto Preço<br />
101 Refrigerante 1.20<br />
102 Suco 1.00<br />
103 Sanduíche 2.50<br />
104 Salgado 1.00<br />
105 Torta 2.00<br />
Uma possível solução é considerar três vetores globais, inicializados como no ex<strong>em</strong>plo anterior, de tal<br />
forma que seja possível para cada pedido gerar vetores com os códigos dos produtos solicitados e, a partir<br />
daí, se possa armazenar as quantidades de cada it<strong>em</strong> do pedido.<br />
#include <br />
#include <br />
int Cod[5] = {101, 102, 103, 104, 105};<br />
char *Prod[5] = {"Refrigerante", "Suco", "Sanduiche", "Salgado", "Torta"};<br />
float Precos[5] = {1.20, 1.00, 2.50, 1.00, 2.00};<br />
int Pedido(int *c, int *q, float *v)<br />
{<br />
int i = 0;<br />
do<br />
{<br />
do<br />
{<br />
puts("Código (100 para encerrar o pedido):");<br />
scanf("%d", &c[i]);<br />
if (c[i] < 100 || c[i] > 105)<br />
printf("\a Codigo invalido");<br />
}<br />
while (c[i] < 100 || c[i] > 105);<br />
if (c[i] != 100)<br />
{<br />
puts("Quantidade");<br />
scanf("%d", &q[i]);<br />
v[i] = q[i]*Precos[c[i] - 101];<br />
i++;<br />
}<br />
}<br />
while (c[i] != 100);<br />
return i;<br />
}<br />
void ExibePedido(int *c, int *q, float *v, int t)<br />
{<br />
int i;<br />
float Total = 0.0;<br />
clrscr();<br />
puts("Código Discriminação Quantidade Valor \n");<br />
for (i = 0; i < t; i++)<br />
{<br />
printf("%d %s %10.d %10.2f\n", Cod[c[i] - 101], Prod[c[i] - 101], q[i], v[i]);<br />
Total = Total + v[i];<br />
}<br />
printf("\nValor total do pedido: %.2f\n\n", Total);<br />
}<br />
main()<br />
{