22.10.2014 Views

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

SHOW MORE
SHOW LESS

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 />

{

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!