Buscar

ATIVIDADE PRÁTICA Lógica de programação e algoritimos -2020

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER 
ESCOLA SUPERIOR POLITÉCNICA 
GRAD –GST GESTÃO DA TECNOLOGIA DA INFORMAÇÃO 
DISCIPLINA DE LÓGICA DE PROGRAMAÇÃO E ALGORITMOS 
 
 
 
 
 
 
 
ATIVIDADE PRÁTICA 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1 EXERCÍCIO 1 
Faça um algoritmo em linguagem C para calcular quanto cada cliente gastou em pedidos 
realizados em uma lancheria. A lancheria vende os seguintes produtos: 
 
Ao iniciar o programa, deve-se aparecer na tela um menu com todos os itens vendidos e seus 
respectivos preços. O usuário deve escolher digitando de 1-7 qual item quer comprar. Observe 
que o usuário pode comprar o mesmo item diversas vezes e também pode comprar vários itens 
diferentes (exemplo: 2 águas e um cachorro-quente, no mesmo pedido). Para encerrar o 
processo de compra, o usuário deve digitar um valor diferente de 1- 7. Ao encerrar a compra, 
devese listar todos os itens comprados, seus preços individuais e o total a se pagar. Imprima na 
tela um teste do seu programa utilizando os três primeiros e os últimos dígitos do seu RU da 
UNINTER como os valores de entrada para os pedidos. Os três primeiros dígitos serão os itens 
comprados, e os três últimos a quantidade de cada item comprado. Por exemplo, se seu RU for 
1234567, a compra resultante será: 
 
 
Solução do aluno: 
#include <stdio.h> 
 
#include <stdlib.h> 
1 
 
#include <locale.h> 
 
#include <string.h> 
 int 
main() 
 
{ 
 setlocale(LC_ALL, ""); // Acentuação em português 
 
 // declaração de variáveis 
 
 int opcao, indice = 0; 
 
 float qtd, total = 0; 
 
 float pedido[99][4]; 
 
 char produto[20]; 
 
 //float pedido[][4] = { 0.00,0.00,0.00,0.00 }; declarar a matriz desta forma gerou um 
erro em tempo de execução ... 
 
 // Menu de Opções 
 
 system("cls"); 
 
 printf("ITEM PRODUTO CÓDIGO VALOR UNITÁRIO\n"); 
 
 printf("1 CACHORRO-QUENTE 100 5,00\n"); 
 
 printf("2 X-SALADA 101 8,79\n"); 
 
 printf("3 X-BACON 102 9,99\n"); 
 
 printf("4 MISTO 103 6,89\n"); 
 
 printf("5 SALADA 104 4,80\n"); 
 printf("6 ÁGUA 105 3,49\n"); 
 printf("7 REFRIGERANTE 106 4,99\n"); 
 do // Escolha dos 
pedidos 
 
 { 
 
 printf("\nEscolha um item : "); 
 
 scanf_s("%d", &opcao); 
 
 if (opcao >= 1 && opcao <= 7) 
 
 { 
 
 printf("Quantidade : "); // Quantidade desejada do item 
 
 scanf_s("%f", &qtd); 
 
 if (qtd <= 0) 
 
 
 
 
 { 
 printf("Quantidade deve ser maior que ZERO !!!!!\n\n"); 
 
 system("pause"); 
 
 break; 
 
 } 
 
 } 
 
 switch (opcao) // Montagem da lista de pedidos 
 
 { 
 
 case 1: 
 
 pedido[indice][0] = opcao; 
 
 pedido[indice][2] = qtd; 
 
 pedido[indice][3] = 5.00; 
 
 //pedido[indice][1] = strcpy_s(produto, "cahorroquente"); 
 
 //printf("\n%s\n", produto); 
 
 indice++; 
 
 break; 
 
 case 2: 
 
 pedido[indice][0] = opcao; 
 
 pedido[indice][2] = qtd; 
 
 pedido[indice][3] = 8.79; 
 
 indice++; 
 
 break; 
 
 case 3: 
 
 pedido[indice][0] = opcao; 
 
 pedido[indice][2] = qtd; 
 
 pedido[indice][3] = 9.99; 
 
 indice++; 
 
 break; 
 
 
 case 4: 
 
 pedido[indice][0] = opcao; 
 pedido[indice][2] = qtd; 
 pedido[indice][3] = 6.89; 
 indice++; 
 
 break; 
 
 case 5: 
 
 pedido[indice][0] = opcao; 
 
 pedido[indice][2] = qtd; 
 
 pedido[indice][3] = 4.80; 
 
 indice++; 
 
 break; 
 
 case 6: 
 
 pedido[indice][0] = opcao; 
 
 pedido[indice][2] = qtd; 
 
 pedido[indice][3] = 3.49; 
 
 indice++; 
 
 break; 
 
 case 7: 
 
 pedido[indice][0] = opcao; 
 
 pedido[indice][2] = qtd; 
 
 pedido[indice][3] = 4.99; 
 
 indice++; 
 
 break; 
 
 } 
 
 } while (opcao >= 1 && opcao <= 7); 
 system("cls"); // Impressão do relatório de 
pedidos 
 printf("Relatório dos 
Pedidos\n"); 
 
 
 printf("\nITEM QTDE PREÇO VALOR\n"); 
 for (int i = 0; i < indice; 
i++) 
 
 { 
 printf("%.1f %.1f %.2f %.2f\n", pedido[i][0], pedido[i][2], 
pedido[i][3], (pedido[i][2] * pedido[i][3])); total = total + (pedido[i][2] * 
pedido[i][3]); 
} 
printf("\n\nValor Total do Pedido %.2f\n\n", total); // Impressão do valor 
total dos pedidos 
 
 system("pause"); 
 
 return 0; 
 
} 
 
Imagem do código funcionando no seu computador 
 
 
 
 
 
Exercício 2: 
Faça um algoritmo em linguagem C que receba como dado de entrada a quantidade máxima em 
milímetros que um reservatório de água suporta. E também como dado de entrada informe 
quantos milímetros de chuva tivemos em cada mês do ano, e quantos milímetros deste 
reservatório por mês foi gasto. Armazene as informações de cada mês em vetores de dados. 
Sabendo a capacidade do reservatório, quanto choveu em cada mês e quanto foi gasto. Informe 
o valor disponível de água, em milímetros, para cada mês do ano. Caso o reservatório fique 
vazio em algum momento, informe isso na tela. Caso o reservatório fique cheio em algum 
momento, também informe isso na tela. Imprima na tela um teste do seu programa utilizando o 
seu RU da UNINTER como os valores de entrada, cada dígito do seu RU será um dos valores 
gastos, em milímetros, por mês. Por exemplo, se seu RU for 1234567, faça: 
 
 
Solução do aluno: 
#include<stdio.h> 
#include<stdlib.h> 
#include<locale.h> 
//**funções auxiliares**// 
void janeiro(); void 
fevereiro(); void marco(); 
void abril(); void maio(); 
void junho(); 
void julho(); void 
agosto(); void 
setembro(); void 
outubro(); void 
novembro(); void 
dezembro(); void 
valores_janeiro(); void 
valores_fevereiro(); void 
valores_marco(); void 
valores_abril(); void 
valores_maio(); void 
valores_junho(); void 
valores_julho(); void 
valores_agosto(); void 
valores_setembro(); void 
valores_outubro(); void 
valores_novembro(); void 
valores_dezembro(); 
 
//variaveis// bool 
fim = true; 
int quantidadeMaxima, nivel, mut, c; 
int jan[4], fev[4], mar[4], abr[4], mai[4], jun[4], jul[4], ago[4], set[4], out[4], 
nov[4], dez[4]; 
 
 
 
//função principal// int 
main() { 
 
 do { 
 //imprime instruções ao usuario// 
 printf("\n Digite a quantidade maxima em milimetros do reservatorio entre 
10 a 99: "); 
 scanf_s("%d", &quantidadeMaxima); //valor digitado e adiciona na 
variavel// 
 while ((c = getchar()) != '\n' && c != EOF) {} //limpa buffer// 
 //laço para aceitar somente numero de 10 a 99// 
 while ((quantidadeMaxima > 99) || (quantidadeMaxima < 10)); 
 } 
 while ((quantidadeMaxima > 99) || (quantidadeMaxima < 10)); 
 //laço para chamar as funcões na ordem// 
 while (fim) { 
 mut++;// variavel auxila a chamada dos meses na ordem// 
 
 switch (mut) 
 { 
 
 case 1: janeiro(); 
 break; 
 
 case 2: fevereiro(); 
 break; 
 
 case 3: marco(); 
 break; 
 
 case 4: abril(); 
 break; 
 
 case 5: maio(); 
 break; 
 case 6: junho(); 
 break; 
 case 7: julho(); 
 break; 
 
 case 8: agosto(); 
 break; 
 
 case 9: setembro(); 
 break; 
 
 case 10: outubro(); 
 break; 
 
 case 11: novembro(); 
 break; 
 
 case 12: dezembro(); 
 break; 
 
 default: fim = false; 
 break; 
 } 
 } 
 
 
 system("cls");// limpa a tela// 
 printf("\n\n\n\n"); 
 
 //imprime uma tabela com todas as informações// 
 printf("\n/************************************************/");printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 printf("\n * mes * quant chuva * consumo * nivel *"); 
printf("\n * * * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); valores_junho(); 
 valores_julho(); valores_agosto(); 
 valores_setembro(); 
 valores_outubro(); 
 valores_novembro(); 
 valores_dezembro(); 
 printf("\n\n/************************************************/\n\n"); 
 
 system("pause"); 
 return 0; 
} 
 
//*** funções auxiliares ***// void 
janeiro() { 
 
do { 
 system("cls");// limpa a tela// 
 //imprime a quantidade maxima do reservatório// printf("\n\n 
Quantidade maxima do reservatorio: %d mm", quantidadeMa- 
xima); 
 
 //imprime instrucões ao usuário// 
 printf("\n\n Digite a quantidade de chuva caiu Janeiro "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", &jan[0]);// 
pega o valor digitado e adiciona no vetor// while ((c = getchar()) != '\n' 
&& c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo// 
 } while (jan[0] < 0); 
 
 do { 
 // limpa a tela// 
 
 
system("cls"); 
 //imprime a quantidade maxima do reservatório// 
 
xima); 
printf("\n\n Quantidade maxima do reservatorio: %d mm", quantidadeMa- 
 //imprime informações ao usuário// 
 printf("\n\n Digite a quantidade de chuva caiu Janeiro "); 
 
 
printf("\n Nao pode haver numero negativo : %d ", jan[0]); 
 //imprime instrucões ao usuário// 
 printf("\n\n Digite a quantidade de agua foi consumida em Janeiro: "); 
 printf("\n Nao pode haver numero negativo : "); 
 scanf_s("%d", &jan[1]);// pega o valor digitado e adiciona no vetor// 
 
 
chado.// 
while ((c = getchar()) != '\n' && c != EOF) {} //limpa buffer de te- 
 // laço para não aceitar numero negativo// 
 } while (jan[1] < 0); 
 
 //nivel da caixa// 
 jan[3] = jan[0] - jan[1]; 
 
}//fim void janeiro// void 
fevereiro() { 
 
 do { 
 
 // limpa a tela// 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório// printf("\n\n 
Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 
 //imprime o histórico do mês anterior// 
 printf("\n * mes * quant chuva * consumo * nivel *"); printf("\n * * 
* * *"); 
 
 valores_janeiro(); 
 
 //imprime instrucões ao usuário// printf("\n\n Digite 
a quantidade de chuva caiu Fevereiro "); printf("\n Nao pode haver 
numero negativo : "); scanf_s("%d", &fev[0]);// pega o valor digitado 
e adiciona no vetor// while ((c = getchar()) != '\n' && c != EOF) {} 
//limpa buffer de techado.// 
 // laço para não aceitar numero negativo// 
} while (fev[0] < 0); 
do { 
 // limpa a tela// 
 
 
system("cls"); 
 //imprime a quantidade maxima do reservatório// 
 
xima); 
printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMa- 
 
 //imprime o histórico do mês anterior// 
 printf("\n * mes * quant chuva * consumo * nivel *"); 
 
 
 printf("\n * * * * *"); 
 
 
 valores_janeiro(); 
 //imprime informações ao usuário// 
 printf("\n\n Digite a quantidade de chuva caiu Fevereiro "); 
 
 
 printf("\n Nao pode haver numero negativo : %d ", fev[0]); 
 //imprime instrucões ao usuário// 
 
"); 
 printf("\n\n Digite a quantidade de agua foi consumida em Fevereiro: 
 printf("\n Nao pode haver numero negativo : "); 
 scanf_s("%d", &fev[1]);// pega o valor digitado e adiciona no vetor// 
 
 while ((c = getchar()) != '\n' && c != EOF) {} //limpa buffer de te- 
chado.// 
 // laço para não aceitar numero negativo 
 } while (fev[1] < 0); 
 
 //nivel da caixa 
 fev[3] = (jan[3] + fev[0]) - fev[1]; 
 
}//fim void fevereiro 
 
void marco() { 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório printf("\n\n 
Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Marco "); printf("\n 
Nao pode haver numero negativo : "); scanf_s("%d", &mar[0]);// pega o valor 
digitado e adiciona no vetor while ((c = getchar()) != '\n' && c != EOF) 
{} //limpa buffer de techado. // laço para não aceitar numero negativo 
} while (mar[0] < 0); 
do { 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 
 //imprime informações ao usuário printf("\n\n 
Digite a quantidade de chuva caiu Marco "); printf("\n Nao 
pode haver numero negativo : %d ", mar[0]); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de agua foi consumida em Marco: "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", 
&mar[1]);// pega o valor digitado e adiciona no vetor while ((c = 
getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (mar[1] < 0); 
 
 
 //nivel da caixa 
 mar[3] = (fev[3] + mar[0]) - mar[1]; 
 
}//fim void marco() void 
abril() { 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório printf("\n\n 
Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 
 //imprime o histórico do mês anterior 
 printf("\n * mes * quant chuva * consumo * nivel *"); printf("\n * * 
* * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); valores_marco(); 
 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Abril "); printf("\n 
Nao pode haver numero negativo : "); scanf_s("%d", &abr[0]);// pega o valor 
digitado e adiciona no vetor while ((c = getchar()) != '\n' && c != EOF) 
{} //limpa buffer de techado. 
 // laço para não aceitar numero negativo 
} while (abr[0] < 0); 
do { 
 // limpa a tela 
 system("cls"); 
 //imprime a quantidade maxima do reservatório printf("\n\n 
Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); 
 
 //imprime informações ao usuário printf("\n\n 
Digite a quantidade de chuva caiu Abril "); printf("\n Nao 
pode haver numero negativo : %d ", abr[0]); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de agua foi consumida em Abril: "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", 
&abr[1]);// pega o valor digitado e adiciona no vetor while ((c = 
getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (abr[1] < 0); 
 
 //nivel da caixa 
 abr[3] = (mar[3] + abr[0]) - abr[1]; 
 
 
}//fim void abril() void 
maio() { 
 
 do { 
 
 // limpa a tela 
 system("cls");//imprime a quantidade maxima do reservatório printf("\n\n 
Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Maio "); printf("\n 
Nao pode haver numero negativo : "); scanf_s("%d", &mai[0]);// pega o valor 
digitado e adiciona no vetor while ((c = getchar()) != '\n' && c != EOF) 
{} //limpa buffer de techado. 
 // laço para não aceitar numero negativo 
} while (mai[0] < 0); 
do { 
 // limpa a tela 
 system("cls"); 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 
 //imprime informações ao usuário printf("\n\n 
Digite a quantidade de chuva caiu Maio "); printf("\n Nao 
pode haver numero negativo : %d ", mai[0]); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de agua foi consumida em Maio: "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", 
&mai[1]);// pega o valor digitado e adiciona no vetor while ((c = 
getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (mai[1] < 0); 
 
 //nivel da caixa 
 mai[3] = (abr[3] + mai[0]) - mai[1]; 
 
}//fim void maio() 
 
 
void junho() { 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório printf("\n\n 
Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 
 //imprime o histórico do mês anterior 
 printf("\n * mes * quant chuva * consumo * nivel *"); printf("\n * * 
* * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Junho "); 
printf("\n Nao pode haver numero negativo : "); 
scanf_s("%d", &jun[0]);// pega o valor digitado e adiciona no vetor 
while ((c = getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
// laço para não aceitar numero negativo 
} while (jun[0] < 0); 
do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 
 //imprime informações ao usuário printf("\n\n 
Digite a quantidade de chuva caiu Junho "); printf("\n Nao 
pode haver numero negativo : %d ", jun[0]); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de agua foi consumida em Junho: "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", 
&jun[1]);// pega o valor digitado e adiciona no vetor while ((c = 
getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (jun[1] < 0); 
 
 //nivel da caixa 
 jun[3] = (mai[3] + jun[0]) - jun[1]; 
}//fim void junho() 
 
 
void julho() { 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior 
 printf("\n * mes * quant chuva * consumo * nivel *"); printf("\n * * 
* * *"); 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); 
valores_abril(); valores_maio(); 
valores_junho(); 
//imprime instrucões ao usuário printf("\n\n Digite a 
quantidade de chuva caiu Julho "); printf("\n Nao pode 
haver numero negativo : "); 
 scanf_s("%d", &jul[0]);// pega o valor digitado e adiciona no vetor 
 while ((c = getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (jul[0] < 0); 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 valores_junho(); 
 
 //imprime informações ao usuário printf("\n\n 
Digite a quantidade de chuva caiu Julho "); printf("\n Nao 
pode haver numero negativo : %d ", jul[0]); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de agua foi consumida em Julho: "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", 
&jul[1]);// pega o valor digitado e adiciona no vetor while ((c = 
getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (jul[1] < 0); 
 
 
 //nivel da caixa jul[3] = 
(jun[3] + jul[0]) - jul[1]; 
 
}//fim void julho() 
 
void agosto() { 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
//imprime o histórico do mês anterior 
printf("\n * mes * quant chuva * consumo * nivel *"); 
printf("\n * * * * *"); 
valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); 
 valores_abril(); 
 valores_maio(); 
 valores_junho(); valores_julho(); 
 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Agosto "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", &ago[0]);// 
pega o valor digitado e adiciona no vetor while ((c = getchar()) != '\n' 
&& c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (ago[0] < 0); 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 valores_junho(); valores_julho(); 
 
 //imprime informações ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Agosto "); 
 printf("\n Nao pode haver numero negativo : %d ", ago[0]); 
 //imprime instrucões ao usuário printf("\n\n Digite a 
quantidade de agua foi consumida em Agosto: "); printf("\n Nao pode 
haver numero negativo : "); scanf_s("%d", &ago[1]);// pega o valor 
 
digitado e adiciona no vetor while ((c = getchar()) != '\n' && c != EOF) 
{} //limpa buffer de techado. 
 
 //laço para não aceitar numero negativo 
 } while (ago[1] < 0); 
 ago[3] = (jul[3] + ago[0]) - 
ago[1]; 
}//fim void agosto() 
void setembro() { do 
{ 
 // limpa a tela 
 system("cls"); //imprime a 
quantidade maxima do reservatório 
printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMa- 
xima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 valores_junho(); valores_julho(); 
 valores_agosto(); 
 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Setembro "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", &set[0]);// 
pega o valor digitado e adiciona no vetor while ((c = getchar()) != '\n' 
&& c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (set[0] < 0); 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 valores_junho(); valores_julho(); 
 valores_agosto(); 
 
 //imprime informações ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Setembro 
"); printf("\n Nao pode haver numero negativo : %d ", set[0]); 
 
 //imprime instrucões ao usuário printf("\n\n Digite a 
quantidade de agua foi consumida em Setembro: "); printf("\n Nao pode 
haver numero negativo : "); scanf_s("%d", &set[1]);// pega o valor 
digitado e adiciona no vetor while ((c = getchar()) != '\n' && c != EOF) 
{} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
} while (set[1] < 0); 
//nivel da caixa 
set[3] = (ago[3] + set[0]) - set[1]; 
}//fim void setembro() 
 
void outubro() { 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 valores_junho(); valores_julho(); 
 valores_agosto(); 
 valores_setembro(); 
 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Outubro "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", &out[0]);// 
pega o valor digitado e adiciona no vetor while ((c = getchar()) != '\n' 
&& c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (out[0] < 0); 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório printf("\n\n 
Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 
 //imprime o histórico do mês anterior 
 printf("\n * mes * quant chuva * consumo * nivel *"); printf("\n * * 
* * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); valores_junho(); 
 
 valores_julho(); valores_agosto(); 
 valores_setembro(); //imprime informações ao 
usuário 
printf("\n\n Digite a quantidade de chuva caiu Outubro "); 
 printf("\n Nao pode haver numero negativo : %d ", out[0]); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de agua foi consumida em Outubro: "); 
 printf("\n Nao pode haver numero negativo : "); 
 scanf_s("%d", &out[1]);// pega o valor digitado e adiciona no vetor while 
((c = getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (out[1] < 0); 
 
 //nivel da caixa 
 out[3] = (set[3] + out[0]) - out[1]; 
 
}//fim void outobro() 
 
void novembro() { 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maxima do reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 valores_junho(); valores_julho(); 
 valores_agosto(); 
 valores_setembro(); 
 valores_outubro(); 
 
 //imprime instrucões ao usuário printf("\n\n Digite a 
quantidade de chuva caiu Novembro "); printf("\n Nao pode haver numero 
negativo : "); scanf_s("%d", &nov[0]);// pega o valor digitado e adiciona 
no vetor while ((c = getchar()) != '\n' && c != EOF) {} //limpa buffer de 
techado. 
 // laço para não aceitar numero negativo 
 } while (nov[0] < 0); 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório printf("\n\n 
Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 //imprime o histórico do mês anterior 
 
printf("\n * mes * quant chuva * consumo * nivel *"); 
printf("\n * * * * *"); 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); 
 valores_abril(); valores_maio(); 
 valores_junho(); 
 valores_julho(); valores_agosto(); 
 valores_setembro(); 
 valores_outubro(); 
 
 //imprime informações ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Novembro 
"); printf("\n Nao pode haver numero negativo : %d ", nov[0]); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de agua foi consumida em Novembro: "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", 
&nov[1]);// pega o valor digitado e adiciona no vetor while ((c = 
getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (nov[1] < 0); 
 
 //nivel da caixa 
 nov[3] = (out[3] + nov[0]) - nov[1]; 
 
}//fim void novembro() 
 
void dezembro() { 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório printf("\n\n 
Quantidade maxima do reservatorio: %d mm\n\n", quantidadeMaxima); 
 
 //imprime o histórico do mês anterior 
 printf("\n * mes * quant chuva * consumo * nivel *"); printf("\n * * 
* * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 valores_junho(); valores_julho(); 
 valores_agosto(); 
 valores_setembro(); 
 valores_outubro(); 
 valores_novembro(); 
 //imprime instrucões ao usuário printf("\n\n Digite a 
quantidade de chuva caiu Dezembro "); printf("\n Nao pode haver 
numero negativo : "); scanf_s("%d", &dez[0]);// pega o valor 
digitado e adiciona no vetor while ((c = getchar()) != '\n' && c != 
EOF) {} //limpa buffer de techado. 
 // laço para não aceitar numero negativo 
} while (dez[0] < 0); 
 
 do { 
 
 // limpa a tela 
 system("cls"); 
 
 //imprime a quantidade maxima do reservatório 
 printf("\n\n Quantidade maximado reservatorio: %d mm\n\n", 
quantidadeMaxima); 
 
 //imprime o histórico do mês anterior printf("\n * 
mes * quant chuva * consumo * nivel *"); printf("\n * 
* * * *"); 
 
 valores_janeiro(); 
 valores_fevereiro(); 
 valores_marco(); valores_abril(); 
 valores_maio(); 
 valores_junho(); valores_julho(); 
 valores_agosto(); 
 valores_setembro(); 
 valores_outubro(); 
 valores_novembro(); 
 
 //imprime informações ao usuário 
 printf("\n\n Digite a quantidade de chuva caiu Dezembro 
"); printf("\n Nao pode haver numero negativo : %d ", dez[0]); 
 //imprime instrucões ao usuário 
 printf("\n\n Digite a quantidade de agua foi consumida em Dezembro: "); 
 printf("\n Nao pode haver numero negativo : "); scanf_s("%d", 
&dez[1]);// pega o valor digitado e adiciona no vetor while ((c = 
getchar()) != '\n' && c != EOF) {} //limpa buffer de techado. 
 
 // laço para não aceitar numero negativo 
 } while (dez[1] < 0); 
 
 //nivel da caixa dez[3] = 
(nov[3] + dez[0]) - dez[1]; 
 
}//fim void dezembro() void 
valores_janeiro() { 
 
 printf("\n * jan "); 
 
 if (jan[0] >= 10) { 
 
 printf("* %d mm ", jan[0]); 
} 
else 
{ 
 printf("* %d mm ", jan[0]); 
} if (jan[1] >= 
10) { printf("* 
%d mm ", 
jan[1]); 
 
} 
else 
{ 
 printf("* %d mm ", jan[1]); 
 } 
 
 if (jan[3] >= quantidadeMaxima) { 
 
 jan[3] = quantidadeMaxima; printf("* %d mm 
*", jan[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (jan[3] <= 0) { 
 
 jan[3] = 0; 
 
 printf("* %d mm *", jan[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 
 } 
 else { 
 
 if (jan[3] >= 10) { 
 
 printf("* %d mm *", jan[3]); 
 } 
 else { 
 
 printf("* %d mm *", jan[3]); 
 } 
 } 
} 
void valores_fevereiro() { 
 
 printf("\n * fev "); 
 
 if (fev[0] >= 10) { 
 
 printf("* %d mm ", fev[0]); 
 } 
 else { 
 
 printf("* %d mm ", fev[0]); 
 } 
 
 if (fev[1] >= 10) { 
 
 printf("* %d mm ", fev[1]); 
 } 
 else { 
 printf("* %d mm ", fev[1]); 
} if (fev[3] >= 
quantidadeMaxima) { 
 fev[3] = quantidadeMaxima; 
 
 printf("* %d mm *", fev[3]); printf(" 
atencao reservatorio cheio!!!"); 
} 
else if (fev[3] <= 0) { 
 fev[3] = 0; 
 
 printf("* %d mm *", fev[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 } 
 else { 
 
 if (fev[3] >= 10) { 
 
 printf("* %d mm *", fev[3]); 
 } 
 else { 
 
 printf("* %d mm *", fev[3]); 
 } 
 } 
} 
void valores_marco() { 
 
 printf("\n * mar "); 
 
 if (mar[0] >= 10) { 
 
 printf("* %d mm ", mar[0]); 
 } 
 else { 
 
 printf("* %d mm ", mar[0]); 
 } 
 
 if (mar[1] >= 10) { 
 
 printf("* %d mm ", mar[1]); 
 } 
 else { 
 
 printf("* %d mm ", mar[1]); 
 } 
 if (mar[3] >= quantidadeMaxima) 
{ 
 
 mar[3] = quantidadeMaxima; 
 
 printf("* %d mm *", mar[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (mar[3] <= 0) { 
 mar[3] = 0; 
 
 
 
 
 printf( 
 
 
 
 
 printf("* %d mm *", mar[3]); 
 " atencao reservatorio vazio!!!"); 
} 
else 
{ 
 
if 
(mar[
3] >= 
10) { 
 printf("* %d mm *", mar[3]); 
 } 
 else { 
 
 printf("* %d mm *", mar[3]); 
 } 
 } 
} 
void valores_abril() { 
 
 printf("\n * abr "); 
 
 if (abr[0] >= 10) { 
 
 printf("* %d mm ", abr[0]); 
 } 
 else { 
 
 printf("* %d mm ", abr[0]); 
 } 
 
 if (abr[1] >= 10) { 
 
 printf("* %d mm ", abr[1]); 
 } 
 else { 
 
 printf("* %d mm ", abr[1]); 
 } 
 
 if (abr[3] >= quantidadeMaxima) { 
 
 abr[3] = quantidadeMaxima; 
 
 
 printf("* %d mm *", abr[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (abr[3] <= 0) { 
 
 abr[3] = 0; 
 
 printf("* %d mm *", abr[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 } 
 else { if 
(abr[3] >= 10) { 
 
 printf("* %d mm *", abr[3]); 
 } 
 else { 
 
 printf("* %d mm *", abr[3]); 
 
 } 
 } 
} void 
valores_maio() { 
printf("\n * mai "); 
if (mai[0] >= 10) { 
 printf("* %d mm ", mai[0]); 
 } 
 else { 
 
 printf("* %d mm ", mai[0]); 
 } 
 
 if (mai[1] >= 10) { 
 
 printf("* %d mm ", mai[1]); 
 } 
 else { 
 
 printf("* %d mm ", mai[1]); 
 } 
 
 if (mai[3] >= quantidadeMaxima) { 
 
 mai[3] = quantidadeMaxima; 
 
 printf("* %d mm *", mai[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (mai[3] <= 0) { 
 
 mai[3] = 0; 
 
 
 
 
 
 printf( 
 
 
 
 
 printf("* %d mm *", mai[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 } 
 else { 
 
 if (mai[3] >= 10) { 
 
 printf("* %d mm *", mai[3]); 
 } 
 else { 
 
 printf("* %d mm *", mai[3]); 
 } 
 } 
} 
void valores_junho() { 
 
 printf("\n * jun "); 
 
 if (jun[0] >= 10) { 
 printf("* %d mm ", jun[0]); 
} 
else 
{ 
 "* %d mm ", jun[0]); 
} 
if (jun[1] >= 10) { 
 printf("* %d mm ", jun[1]); 
} 
else 
{ 
 printf("* %d mm ", jun[1]); 
 } 
 
 if (jun[3] >= quantidadeMaxima) { 
 
 jun[3] = quantidadeMaxima; 
 
 printf("* %d mm *", jun[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (jun[3] <= 0) { 
 
 
 jun[3] = 0; 
 
 printf("* %d mm *", jun[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 } 
 else { 
 
 if (jun[3] >= 10) { 
 
 printf("* %d mm *", jun[3]); 
 } 
 else { 
 
 printf("* %d mm *", jun[3]); 
 } 
 } 
} void 
valores_julho() { 
printf("\n * jul "); 
 
 if (jul[0] >= 10) { 
 
 printf("* %d mm ", jul[0]); 
 } 
 else { 
 
 printf("* %d mm ", jul[0]); 
 } 
 
 if (jul[1] >= 10) { 
 
 printf("* %d mm ", jul[1]); 
 } 
 else { 
 printf("* %d mm ", jul[1]); 
} if (jul[3] >= 
quantidadeMaxima) { 
 jul[3] = quantidadeMaxima; 
 printf("* %d mm *", 
jul[3]); printf(" atencao 
reservatorio cheio!!!"); 
} 
else if (jul[3] <= 0) { 
 jul[3] = 0; 
 
 printf("* %d mm *", jul[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 } 
 
 
 
 
 printf( 
 
 
 
 
 else { 
 
 if (jul[3] >= 10) { 
 
 printf("* %d mm *", jul[3]); 
 } 
 else { 
 
 printf("* %d mm *", jul[3]); 
 } 
 } 
} 
void valores_agosto() { 
 
 printf("\n * ago "); 
 
 if (ago[0] >= 10) { 
 
 printf("* %d mm ", ago[0]); 
 } 
 else { 
 
 printf("* %d mm ", ago[0]); 
 } 
 
 if (ago[1] >= 10) { 
 
 printf("* %d mm ", ago[1]); 
 } 
 else { 
 
 printf("* %d mm ", ago[1]); 
 } 
 if (ago[3] >= quantidadeMaxima) 
{ 
 
 ago[3] = quantidadeMaxima; 
 
 printf("* %d mm *", ago[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (ago[3] <= 0) { 
 ago[3] = 0; 
 
 printf("* %d mm *", ago[3]); 
 " atencao reservatorio vazio!!!"); 
} 
else 
{ 
 
if 
(ago[
3] >= 
10) { 
 printf("* %d mm *", ago[3]); 
 } 
 else { 
 
 printf("* %d mm *", ago[3]); 
 } 
 } 
} 
void valores_setembro() { 
 
 printf("\n * set "); 
 
 if (set[0] >= 10) { 
 
 printf("* %d mm ", set[0]); 
 } 
 else { 
 
 printf("* %d mm ", set[0]); 
 } 
 
 if (set[1] >= 10) { 
 
 printf("* %d mm ", set[1]); 
 } 
 else {printf("* %d mm ", set[1]); 
 } 
 
 if (set[3] >= quantidadeMaxima) { 
 
 set[3] = quantidadeMaxima; 
 
 printf("* %d mm *", set[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (set[3] <= 0) { 
 
 set[3] = 0; 
 
 printf("* %d mm *", set[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 } 
 
 
 
 
 printf( 
 
 
 
 
 else { 
 
 if (set[3] >= 10) { 
 
 printf("* %d mm *", set[3]); 
 } 
 else { 
 
 printf("* %d mm *", set[3]); 
 } 
 } 
} 
 
void valores_outubro() { 
 
 printf("\n * out "); 
 
 if (out[0] >= 10) { 
 
 printf("* %d mm ", out[0]); 
 } 
 else { 
 
 printf("* %d mm ", out[0]); 
 } 
 
 if (out[1] >= 10) { 
 
 printf("* %d mm ", out[1]); 
 } 
 else { 
 
 printf("* %d mm ", out[1]); 
 } 
 
 if (out[3] >= quantidadeMaxima) { 
 
 out[3] = quantidadeMaxima; 
 
 printf("* %d mm *", out[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (out[3] <= 0) { 
 
 out[3] = 0; 
 
 printf("* %d mm *", out[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 } 
 else { 
 
 if (out[3] >= 10) { 
 
 printf("* %d mm *", out[3]); 
 } 
 else { 
 
 printf("* %d mm *", out[3]); 
 } 
 } 
} 
void valores_novembro() { 
 
 printf("\n * nov "); 
 
 if (nov[0] >= 10) { 
 
 
 printf("* %d mm ", nov[0]); 
 } 
 else { 
 
 printf("* %d mm ", nov[0]); 
 } 
 
 
 
 if (nov[1] >= 10) { 
 
 printf("* %d mm ", nov[1]); 
 } 
 else { 
 
 printf("* %d mm ", nov[1]); 
 } 
 
 if (nov[3] >= quantidadeMaxima) { 
 
 nov[3] = quantidadeMaxima; 
 
 printf("* %d mm *", nov[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (nov[3] <= 0) { 
 
 nov[3] = 0; 
 
 printf("* %d mm *", nov[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 } 
 else { 
 
 if (nov[3] >= 10) { 
 
 printf("* %d mm *", nov[3]); 
 } 
 else { 
 
 printf("* %d mm *", nov[3]); 
 } 
 } 
} 
void valores_dezembro() { 
 
 printf("\n * dez "); 
 
 if (dez[0] >= 10) { 
 
 printf("* %d mm ", dez[0]); 
 } 
 
 else { 
 
 printf("* %d mm ", dez[0]); 
 } 
 
 if (dez[1] >= 10) { 
 
 printf("* %d mm ", dez[1]); 
 
 } 
 else { 
 
 printf("* %d mm ", dez[1]); 
 } 
 if (dez[3] >= quantidadeMaxima) { 
 
 dez[3] = quantidadeMaxima; 
 
 printf("* %d mm *", dez[3]); 
 printf(" atencao reservatorio cheio!!!"); 
 
 } 
 else if (dez[3] <= 0) { 
 
 dez[3] = 0; 
 
 printf("* %d mm *", dez[3]); 
 printf(" atencao reservatorio vazio!!!"); 
 } 
 else { 
 
 if (dez[3] >= 10) { 
 
 printf("* %d mm *", dez[3]); 
 } 
 else { 
 
 printf("* %d mm *", dez[3]); 
 } 
 } 
 
} 
Imagem do código funcionando no seu computador: 
 
 
Exercício 3: 
 Faça um algoritmo em linguagem C que receba como dado de entrada uma matriz de caracteres. 
Cada posição da matriz deve armazenar um caractere. A dimensão da matriz deverá ser 
MxN, onde M e N são dados de entrada escolhidos pelo usuário. Declare a matriz como sendo 
de dimensão máxima 10x10, e valide os valores de M e N, que devem estar entre 1 e 10, 
 
incluindo 1 e 10. Para a validação, o usuário deve ficar preso no programa enquanto não digitar 
um número válido para M e para N. Após escolhida a dimensão da matriz e povoado ela com 
caracteres. Faça: • Conte o número de ocorrências de cada caractere que aparece na matriz. 
Após a contagem, liste cada caractere digitado e o número de ocorrências; • Crie uma função 
que receba como parâmetro o primeiro caractere cadastrado na matriz. A função deve retornar 
um dado numérico. Se o caractere for maiúsculo, retorne na função o resultado deste caractere 
dividido por 10. Caso contrário, retorne o resultado do caractere multiplicado por 2; Imprima 
na tela um teste do seu programa utilizando como primeiro caractere a primeira letra do seu 
nome 
 
Solução do aluno: 
// ** Bibliotecas **// 
#include<stdio.h> 
#include<stdlib.h> 
 
// ** funções auxiliares **// void 
digQuantMxN(); void 
digDadosMatriz(); void 
imprimirMatriz(); void 
mostraOcorrenciaCaracteres(); void 
manipulaDado(); 
 
// *** variaveis **// 
int i, j, k, m, n, c, x, indice, cont; 
float pri, resultado; 
char str[10][10], vetor[100], aux; 
 
// ** função principal **// int 
main() { 
 digQuantMxN();//Função pede para o usuário digitar os valores de linha e coluna da 
matriz. 
 printf("\n\n");//pula duas linhas para 
organização. 
 digDadosMatriz();//Função pede para o usuário digite os valores da 
matriz. 
 printf("\n");//pula duas linhas para 
organização. 
 imprimirMatriz();//Função que imprime a 
matriz. 
 printf("\n\n");//pula duas linhas para 
organização. 
 
 mostraOcorrenciaCaracteres();//Função que mostra as ocorrencias dos caracteres 
 printf("\n\n");//pula duas linhas para 
organização. 
 manipulaDado();//função manipula o primeiro dados da 
matriz. 
 printf("\n\n");//pula duas linhas para 
organização. 
 
 
 system("pause"); 
 return 0; 
} 
 
// *** função para digitar a quantidade de linha e coluna **// void 
digQuantMxN() { 
 
 do { 
 //imprime instrucões ao usuário printf(" \n\n Digite a 
quantidade de linhas de 1 a 10: "); scanf_s("%d", &m);// amarzena o dado na 
variavel. while ((c = getchar()) != '\n' && c != EOF) {} //limpa buffer de 
techado. 
 
 } while (m < 1 || m > 10);// validação dos numeros de 1 a 10 
 
 do { 
 //imprime instrucões ao usuário printf(" \n\n Digite a 
quantidade de colunas de 1 a 10: "); scanf_s("%d", &n);// amarzena o dado na 
variavel. while ((c = getchar()) != '\n' && c != EOF) {} //limpa buffer de 
techado. 
 
 } while (n < 1 || n > 10);// validação dos numeros de 1 a 10 
} 
 
// *** função para carregar dados na matriz **// void 
digDadosMatriz() { 
 
 for (i = 0; i < m; i++) { 
 
 for (j = 0; j < n; j++) { 
 
 //mostra para o usuario a posição que esta a matriz. 
 printf(" Digite o caracter [%d] [%d]: ", i, j); scanf_s("%c", 
&str[i][j]);// amarzena o dado digitado pelo usuário e armazena na variavel. 
 while ((c = getchar()) != '\n' && c != EOF) {} //limpa buffer de 
techado. 
 
 } 
 } 
} 
 
// ** função imprime os dados da matriz **// void 
imprimirMatriz() { 
 
 // imprime mensagem para usuario 
 printf(" Matriz formada MxN.\n"); 
 
 for (i = 0; i < m; i++) { 
 
 printf(" \n");//dá espaço na tela 
 
 //imprime o valor da matriz 
 for (j = 0; j < n; j++) { 
 
 printf(" %c\t", str[i][j]); 
 
 
 } 
 } 
} 
 
// ** função mostra as ocorrencias dos caracteres **// void 
mostraOcorrenciaCaracteres() { 
 indice = 0;// inicia a variavel em 
0. 
 
 //transforma a matriz em vetor 
 for (i = 0; i < m; i++) { 
 
 for (j = 0; j < n; j++) { 
 
 vetor[indice] = str[i][j]; 
 indice++; 
 
 } 
 } 
 
 for (i = 0; i < indice; i++) { 
 for (j = i + 1; j < indice; j++) { 
 if (vetor[i] > vetor[j]) { 
 aux = vetor[i]; 
 vetor[i] = vetor[j]; 
 vetor[j] = aux; 
 } 
 } 
 } 
 
 cont = 1; //Se está na lista então aparece pelo menos 1 vez for (i = 1; 
i < indice; i++) { //Note que começa com i=1 para já comparar o segundo com o 
primeiro no if abaixo: 
 
contador 
if (vetor[i] == vetor[i - 1]) { //Se é igual ao anterior incrementa o 
 cont++; 
 } 
 
 
else { //Se mudou o número 
 
 
 if (cont >= 2) { 
 //Acabou de contar o número anterior então podemos imprimir 
 //o número de vezes queele aparece: 
 
1], cont); 
 
 printf(" O caracter %c aparece %d vezes!\n", vetor[i - 
 //Recomeça a contagem para o novo número: 
 
 
 cont = 1; 
 } 
 
 
 else { 
 
 //Acabou de contar o número anterior então podemos imprimir 
 //o número de vezes que ele aparece: 
 
cont); 
 printf(" O caracter %c aparece %d vez!\n", vetor[i - 1], 
 //Recomeça a contagem para o novo número: 
 
 
 cont = 1; 
 } 
 
 } 
} 
 
 if (cont >= 2) { 
 
 //Também imprime para o último número: 
 printf(" O caracter %c aparece %d vezes!\n", vetor[i - 1], cont); 
 
 } 
 else { 
 
 //Também imprime para o último número: 
 printf(" O caracter %c aparece %d vez!\n", vetor[i - 1], cont); 
 } 
 
} 
 
// ** função manipula primeiro dado da matriz void 
manipulaDado() { 
 
 //imprime informações ao usuário 
 pri = str[0][0]; 
 printf(" O primeiro caracter da matriz = \"%c\" \n", str[0][0]); 
 
 if ((pri >= 65) && (pri <= 90)) { 
 
 printf(" O caracter \"%c\" eh uma letra maiusculo", str[0][0]); 
 resultado = pri / 10; 
 printf("\n A funcao pedida para esse tipo de caracter resulta em: %.1f ", 
resultado); 
 } 
 else { 
 
 printf(" O caracter \" %c \" eh uma letra minuscula", str[0][0]); 
 resultado = pri * 2; 
 
 printf("\n A funcao pedida para esse tipo de caracter resulta em: %.0f 
", resultado); 
 
 } 
 
 
} 
 
 
 
 
 
 
 
 
 
 
 
 
Imagem do código funcionando no seu computador

Continue navegando