Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. José Olimpio Ferreira! 30/10/2013 CMP1048 - Técnicas de Programação I Lista de Exercícios N. 03 - STRUCT - ARRAYS - FUNÇÕES Exercício 01 - Escreva um programa em C++ que implemente o jogo da forca. Você deve pesquisar as regras na internet e adotar claramente estas regras segundo uma das fontes encontras ( sites ). Indicar a fonte ( site ) das regras adotadas no seu programa com comentário no início do arquivo de código do seu programa. Usar necessariamente funções e arrays ( vetores e/ou matrizes ). Exercício 02 - Criar um registro do tipo Estoque definido a seguir: struct Estoque { string descricao; int prodNum; int qde; double preco; void obtemEstoque(); void mostraEstoque(); }; Faça um programa ( função principal ) para usar este registro. Este programa deve: • Criar um vetor de 10 registros do tipo Estoque. • Solicitar do usuário o preenchimento dos 10 registros. • Mostrar no vídeo os 10 registros. Exercício 03 - Faça um programa em C++ para solicitar do usuário os coeficientes da equação do 30 grau e calcular o ponto de inflexão usando a derivada. Calcular e armazenar num vetor uma quantidade de coordenadas determinada pelo usuário mais um ponto de inflexão. • Calculo do ponto de inflexão usando a derivada. • f’(x) = 3ax2 + 2bx + c -----> f’’(x) = 6ax + 2b = 0 -----> xi = -2*b / (6*a) • aplica-se o resultado de xi em f(x) = ax3 + bx2 + cx + d • Tome a metade das coordenadas para o eixo X menores do que o ponto de inflexão, igualmente espaçadas de 1 em 1 unidade, e calcule a sua correspondente no eixo Y. • Tome a metade coordenadas para o eixo X maiores do que o ponto de inflexão, igualmente espaçadas de 1 em 1 unidade, e calcule a sua correspondente no eixo Y. Exercício 04 - Criar um registro do tipo Fracao que contenha dois membros de dados do tipo inteiro: numerador e denominador, e seis funções membro: soma(), subtrai(), divide(), multiplica(), mdc() e simplifica(). Faça um programa para implementar uma calculadora de frações com as operações de adicionar, multiplicar, subtrair e dividir, onde todas as frações devem ser armazenadas em registros do tipo Fracao. Exercício 05 - Criar um registro do tipo Tempo que contenha três membros de dados do tipo inteiro: horas, minutos e segundos, e cinco funções membro: validaTempo(), converteTempoSgundos(), converteSegundosTempo(), obtemTempo() e mostraTempo(). A função converteSegundosTempo() deve retornar um registro do tipo Tempo. A função converteTempoSgundos() deve retornar um long long. O tempo deve ser obtido e mostrado no formato h:min:seg ( 12:43:25 ). Fazer um’programa para: • Solicitar do usuário pelo menos dois tempos e armazená-los em registros do tipo Tempo. • Mostrar os tempos no vídeo. • Determinar o total de segundos de cada tempo e mostrá-los no vídeo. • Determinar a diferença entre dois tempos, transformando-os em segundos e fazendo a diferença, e converte-la para o formato h:min:seg. Exibir na tela esta diferença convertida para h:min:seg. Exercício 06 - Criar um registro do tipo Data que contenha três membros de dados do tipo inteiro: dia, mes e ano, e cinco funções membro: obtemData(), mostraData(), validaData(), determinaDiaSemana() e calculaDiasEntreDatas(). A data deve ser obtida e mostrada no formato dia/mês/ano ( por exemplo: 31/12/2007 ). Para o cálculo do número de dias entre duas datas e a determinação do dia da semana faça uma pesquisa ( biblioteca ou internet ). Fazer um programa para: • Solicitar do usuário pelo menos duas datas e armazená-las em registros do tipo Data. • Determinar o dia da semana de cada data. • Mostrar as datas no vídeo com os respectivos dias da semana. • Determinar e mostrar no vídeo o número de dias entre as duas datas. Boa Sorte!
Compartilhar