SlideShare uma empresa Scribd logo
2
Mais lidos
3
Mais lidos
4
Mais lidos
Universidade Federal de Uberlˆandia - UFU
Faculdade de Computac¸ ˜ao - FACOM
Lista de exerc´ıcios de programac¸ ˜ao em linguagem C
Exerc´ıcios: Structs
1. Escreva um trecho de c´odigo para fazer a criac¸ ˜ao dos novos tipos de dados conforme
solicitado abaixo:
• Hor´ario: composto de hora, minutos e segundos.
• Data: composto de dia, mˆes e ano.
• Compromisso: composto de uma data, hor´ario e texto que descreve o compromisso.
2. Implemente um programa que leia o nome, a idade e o enderec¸o de uma pessoa e
armazene os dados em uma estrutura.
3. Construa uma estrutura aluno com nome, n´umero de matr´ıcula e curso. Leia do usu´ario
a informac¸ ˜ao de 5 alunos, armazene em vetor dessa estrutura e imprima os dados na
tela.
4. Crie uma estrutura representando os alunos de um determinado curso. A estrutura deve
conter a matr´ıcula do aluno, nome, nota da primeira prova, nota da segunda prova e nota
da terceira prova.
(a) Permita ao usu´ario entrar com os dados de 5 alunos.
(b) Encontre o aluno com maior nota da primeira prova.
(c) Encontre o aluno com maior m´edia geral.
(d) Encontre o aluno com menor m´edia geral
(e) Para cada aluno diga se ele foi aprovado ou reprovado, considerando o valor 6 para
aprovac¸ ˜ao.
5. Considerando a estrutura
struct Vetor{
float x;
float y;
float z;
};
para representar um vetor no R3, implemente um programa que calcule a soma de dois
vetores.
6. Fac¸a um programa que realize a leitura dos seguintes dados relativos a um conjunto de
alunos: Matricula, Nome, C´odigo da Disciplina, Nota1 e Nota2. Considere uma turma de
at´e 10 alunos. Ap´os ler todos os dados digitados, e depois de armazen´a-los em um vetor
de estrutura, exibir na tela a listagem final dos alunos com as suas respectivas m´edias
finais (use uma m´edia ponderada: Nota1 com peso=1.0 e Nota2 com peso=2.0).
7. Fac¸a um programa que converta coordenadas polares para cartesianas:
• Crie e leia um ponto em coordenada polar, composto por raio (r) e argumento (a)
em radianos.
1
• Crie outro ponto, agora em coordenada cartesiana, composto por x e y, sabendo
que x = r ∗ cosa e y = r ∗ sina.
No programa principal, leia um ponto em coordenada polar e mostre as coordenadas do
ponto gerado no plano cartesiano.
8. Fac¸a um programa que armazene em um registro de dados (estrutura composta) os da-
dos de um funcion´ario de uma empresa, compostos de: Nome, Idade, Sexo (M/F), CPF,
Data de Nascimento, C´odigo do Setor onde trabalha (0-99), Cargo que ocupa (string de
at´e 30 caracteres) e Sal´ario. Os dados devem ser digitados pelo usu´ario, armazenados
na estrutura e exibidos na tela.
9. Fac¸a um programa que fac¸a operac¸ ˜oes simples de n´umeros complexos:
• Crie e leia dois n´umeros complexos z e w, compostos por parte real e parte ima-
gin´aria.
• Apresente a soma, subtrac¸ ˜ao e produto entre z e w, nessa ordem, bem como o
m´odulo de ambos.
10. Utilizando uma estrutura, fac¸a um programa que permita a entrada de nome, enderec¸o e
telefone de 5 pessoas e os imprima em ordem alfab´etica.
11. Fac¸a um programa que leia os dados de 10 alunos (Nome, matricula, M´edia Final), arma-
zenando em um vetor. Uma vez lidos os dados, divida estes dados em 2 novos vetores,
o vetor dos aprovados e o vetor dos reprovados, considerando a m´edia m´ınima para a
aprovac¸ ˜ao como sendo 5.0. Exibir na tela os dados do vetor de aprovados, seguido dos
dados do vetor de reprovados.
12. Escolha um jogo de cartas, baseado em um “baralho tradicional” (cada carta tem seu
naipe e seu valor) ou tipo “super trunfo” (cada carta possui um conjunto de atributos).
Implemente a parte de distribuic¸ ˜ao (sorteio) de cartas para 2 jogadores, considerando
que cada jogador ir´a receber 5 cartas. Exiba na tela as cartas que cada um dos jogadores
recebeu.
13. Pec¸a ao usu´ario para digitar seus dados pessoais (Nome, Enderec¸o, Data de Nasci-
mento, Cidade, CEP, email), verifique se as informac¸ ˜oes de Data de Nascimento, CEP
e email fazem sentido, e mostre ao usu´ario as informac¸ ˜oes, se est˜ao todas corretas, ou
mostre que alguma informac¸ ˜ao estava errada.
14. Fac¸a um programa que leia um vetor com os dados de 5 carros: marca (m´aximo 15
letras), ano e prec¸o. Leia um valor p e mostre as informac¸ ˜oes de todos os carros com
prec¸o menor que p. Repita este processo at´e que seja lido um valor p = 0.
15. Fac¸a um programa que leia um vetor com dados de 5 livros: t´ıtulo (m´aximo 30 letras),
autor (m´aximo 15 letras) e ano. Procure um livro por t´ıtulo, perguntando ao usu´ario qual
t´ıtulo deseja buscar. Mostre os dados de todos os livros encontrados.
16. Fac¸a um programa que seja uma agenda de compromissos e:
• Crie e leia um vetor de 5 estruturas de dados com: compromisso (m´aximo 60 letras)
e data. A data deve ser outra estrutura de dados contendo dia, mˆes e ano.
• Leia dois inteiros M e A e mostre todos os compromissos do mˆes M do ano A.
Repita o procedimento at´e ler M = 0.
17. Fac¸a um programa que controla o consumo de energia dos eletrodom´esticos de uma
casa e:
2
• Crie e leia 5 eletrodom´esticos que cont´em nome (m´aximo 15 letras), potˆencia (real,
em kW) e tempo ativo por dia (real, em horas).
• Leia um tempo t (em dias), calcule e mostre o consumo total na casa e o consumo
relativo de cada eletrodom´estico (consumo/consumo total) nesse per´ıodo de tempo.
Apresente este ´ultimo dado em porcentagem.
18. Fac¸a um programa que gerencie o estoque de um mercado e:
• Crie e leia um vetor de 5 produtos, com os dados: c´odigo (inteiro), nome (m´aximo
15 letras), prec¸o e quantidade.
• Leia um pedido, composto por um c´odigo de produto e a quantidade. Localize
este c´odigo no vetor e, se houver quantidade suficiente para atender ao pedido
integralmente, atualize o estoque e informe o usu´ario. Repita este processo at´e ler
um c´odigo igual a zero.
Se por algum motivo n˜ao for poss´ıvel atender ao pedido, mostre uma mensagem infor-
mando qual erro ocorreu.
19. Fac¸a um programa que controle o fluxo de vˆoos nos aeroportos de um pa´ıs. Com V = 5
(vˆoos) e A = 5 (aeroportos) e:
• Crie e leia um vetor de voos, sendo que cada voo cont´em um c´odigo de aeroporto
de origem e um de destino.
• Crie um vetor de aeroportos, sendo que cada aeroporto cont´em seu c´odigo, quanti-
dade de voos que saem e quantidade de voos que chegam.
Nota: Cada aeroporto ´e identificado por um c´odigo inteiro entre 0 e (A-1). N˜ao aceite
aeroportos de c´odigo inexistente.
20. Fac¸a um programa para armazenar um livro de receitas e:
• Crie um vetor de 5 receitas, que deve ter nome (m´aximo 25 letras), quantidade de
ingredientes e ingredientes.
• Para cada receita, leia seu nome e a quantidade de ingredientes. Ent˜ao crie e leia
o vetor de ingredientes, sendo que cada ingrediente cont´em nome e quantidade.
• Procure receita por nome, mostrando seus ingredientes se encontrar. Se n˜ao en-
contrar, informe ao usu´ario. Repita o processo at´e digitar uma string vazia.
21. Fac¸a um programa que armazena filmes produzidos por v´arios diretores e:
• Crie e leia um vetor de 5 diretores, cada um contendo nome (m´aximo 20 letras),
quantidade de filmes e filmes. O membro filmes ´e um vetor, que deve ser criado
ap´os ter lido quantidade de filmes. Cada filme ´e composto por nome, ano e durac¸ ˜ao.
• Procure um diretor por nome, mostrando todos os filmes que ele j´a produziu. Repita
o processo at´e digitar uma string vazia.
22. Definir a estrutura cuja representac¸ ˜ao gr´afica ´e dada a seguir, definir os campos com os
tipos b´asicos necess´arios.
3
(a) Crie um vetor Cadastro com 5 elementos.
(b) Permita ao usu´ario entrar com dados para preencher esse 5 cadastros.
(c) Encontre a pessoa com maior idade entre os cadastrados
(d) Encontre as pessoas do sexo masculino
(e) Encontre as pessoas com sal´ario maior que 1000.
(f) Imprima os dados da pessoa cuja identidade seja igual a um valor fornecido pelo
usu´ario
23. Escreva um programa que receba dois structs do tipo dma, cada um representando uma
data v´alida, e calcule o n´umero de dias que decorreram entre as duas datas.
struct dma {
int dia;
int mes;
int ano;
};
24. Fazer um programa para simular uma agenda de telefones. Para cada pessoa devem-se
ter os seguintes dados:
• Nome
• E-mail
• Enderec¸o (contendo campos para Rua, n´umero, complemento, bairro, cep, cidade,
estado, pa´ıs).
• Telefone (contendo campo para DDD e n´umero)
• Data de anivers´ario (contendo campo para dia, mˆes, ano).
• Observac¸ ˜oes: Uma linha (string) para alguma observac¸ ˜ao especial.
(a) Definir a estrutura acima.
(b) Declarar a vari´avel agenda (vetor) com capacidade de agendar at´e 100 nomes.
(c) Definir um bloco de instruc¸ ˜oes busca por primeiro nome: Imprime os dados da
pessoa com esse nome (se tiver mais de uma pessoa, imprime para todas).
(d) Definir um bloco de instruc¸ ˜oes busca por mˆes de anivers´ario: Imprime os dados de
todas as pessoas que fazem anivers´ario nesse mˆes.
(e) Definir um bloco de instruc¸ ˜oes busca por dia e mˆes de anivers´ario: Imprime os
dados de todas as pessoas que fazem anivers´ario nesse dia e mˆes.
(f) Definir um bloco de instruc¸ ˜oes insere pessoa: Insere por ordem alfab´etica de nome.
(g) Definir um bloco de instruc¸ ˜oes retira pessoa: Retira todos os dados dessa pessoa e
desloca todos os elementos seguintes do vetor para a posic¸ ˜ao anterior.
(h) Definir um bloco de instruc¸ ˜oes imprime agenda com as opc¸ ˜oes:
• Imprime nome, telefone e e-mail.
• Imprime todos os dados.
(i) O programa deve ter um menu principal oferecendo as opc¸ ˜oes acima.
4

Mais conteúdo relacionado

PDF
Panfleto - Importância da Vacinação para a Criança
PPTX
INFECÇÕES SEXUALMENTE TRANSMISSIVEIS.pptx
PDF
Novo calendário da vacinação 2013
PPT
Influenza H1N1
PPT
Breve trabalho sobre medicamentos
PPTX
Slide do curso
DOC
Iniciativa reforma art 61 LIC (prescripcion cuentas bancarias)
PDF
Linguagem C - Alocação Dinâmica [exercícios]
Panfleto - Importância da Vacinação para a Criança
INFECÇÕES SEXUALMENTE TRANSMISSIVEIS.pptx
Novo calendário da vacinação 2013
Influenza H1N1
Breve trabalho sobre medicamentos
Slide do curso
Iniciativa reforma art 61 LIC (prescripcion cuentas bancarias)
Linguagem C - Alocação Dinâmica [exercícios]

Semelhante a Linguagem C - Structs [exercícios] (20)

PDF
Linguagem C - Arquivos [exercícios]
ODT
Lista Exercicios 04
PPT
programação c 11 aula
PDF
Linguagem C - Vetores e matrizes [exercícios]
PDF
Lista p1 - 2012-1
PPT
Lógica De Programação
PDF
Estrutura de dados 3
PDF
Introdução a estrutura de dados
PPT
Algop - aula 08
PDF
ESTRUTURA_DE_DADOS.pdf
PPT
Algop - aula 08 - respostas
PPTX
Aula 8 - Vetores e Matrizes.pptx
DOCX
Exercícios da Aula de LAB 01
PDF
[Curso Java Basico] Exercicios Aula 19
PDF
Registros Pascal Exercício
PDF
Cea030.lista.04
PDF
mod5-estruturas-dadosdinamicas
PPT
Estruturas
PDF
Alg aula 06 - vetores tp1
Linguagem C - Arquivos [exercícios]
Lista Exercicios 04
programação c 11 aula
Linguagem C - Vetores e matrizes [exercícios]
Lista p1 - 2012-1
Lógica De Programação
Estrutura de dados 3
Introdução a estrutura de dados
Algop - aula 08
ESTRUTURA_DE_DADOS.pdf
Algop - aula 08 - respostas
Aula 8 - Vetores e Matrizes.pptx
Exercícios da Aula de LAB 01
[Curso Java Basico] Exercicios Aula 19
Registros Pascal Exercício
Cea030.lista.04
mod5-estruturas-dadosdinamicas
Estruturas
Alg aula 06 - vetores tp1
Anúncio

Mais de Matheus Alves (20)

PDF
Estudo bíblico - Feridas na alma
PDF
Inglês - Cronograma de estudos e gramática
PDF
Sustentabilidade - resumo (Pablo Pessoa)
PDF
Links úteis para estudar a bíblia
PDF
Técnicas assistivas - seminário(diabetes)
PDF
Apostila de Cálculo (UFRPE) - Volume 2
PDF
Apostila de Cálculo (UFRPE) - Volume 3
PDF
Resumo - CAP1 - As regras do método sociológico[Durkheim]
PDF
Linguagem C - Ponteiros [exercícios]
PDF
Linguagem C - Recursão [exercícios]
PDF
Linguagem C - Strings [exercícios]
PDF
Linguagem C - Comandos condicionais [exercícios]
PDF
Diferença entre computadores analógicos e digitais
PDF
Silogismo e subjetividade - breve definição
PDF
Lista de exercícios - vetores(Alguns gabaritos estão errados)
PDF
Matemática elementar volume 7 (Geometria Analítica)
DOCX
Síntese - O mito da caverna
PDF
Lógica de programação - 3ª edição
PDF
Apostila de informática básica - PRONATEC
DOCX
Projeto de pesquisa - Automação Residencial
Estudo bíblico - Feridas na alma
Inglês - Cronograma de estudos e gramática
Sustentabilidade - resumo (Pablo Pessoa)
Links úteis para estudar a bíblia
Técnicas assistivas - seminário(diabetes)
Apostila de Cálculo (UFRPE) - Volume 2
Apostila de Cálculo (UFRPE) - Volume 3
Resumo - CAP1 - As regras do método sociológico[Durkheim]
Linguagem C - Ponteiros [exercícios]
Linguagem C - Recursão [exercícios]
Linguagem C - Strings [exercícios]
Linguagem C - Comandos condicionais [exercícios]
Diferença entre computadores analógicos e digitais
Silogismo e subjetividade - breve definição
Lista de exercícios - vetores(Alguns gabaritos estão errados)
Matemática elementar volume 7 (Geometria Analítica)
Síntese - O mito da caverna
Lógica de programação - 3ª edição
Apostila de informática básica - PRONATEC
Projeto de pesquisa - Automação Residencial
Anúncio

Último (20)

PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
PDF
Células Introdução para as aulas de EJA.
PDF
Metabolismo_energético_3ano_pre_vest_2026.pdf
PDF
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
PPTX
Aula 13 - Tópico Frasal - Argumentação.pptx
PPTX
INDÚSTRIA_ Histórico da industrialização.pptx
PPTX
biossegurança e segurança no trabalho (6).pptx
PPTX
435434725-A-Mineracao-No-Brasil-Colonial.pptx
PDF
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
PPTX
Noções de Saúde e Segurança do Trabalho.pptx
PDF
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
PPTX
Realismo e Naturalismo: Aluísio Azevedo.
PPTX
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
PPTX
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
PPTX
Trabalho Cidades sustentáveis ou Utopia.pptx
PDF
saeb_documentos_de_referencia_versao_1.0.pdf
PDF
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
PPTX
A História da Europa na Baixa Idade Média.pptx
PPTX
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
Organizador Curricular da Educação em Tempo Integral.pdf
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
Células Introdução para as aulas de EJA.
Metabolismo_energético_3ano_pre_vest_2026.pdf
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
Aula 13 - Tópico Frasal - Argumentação.pptx
INDÚSTRIA_ Histórico da industrialização.pptx
biossegurança e segurança no trabalho (6).pptx
435434725-A-Mineracao-No-Brasil-Colonial.pptx
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
Noções de Saúde e Segurança do Trabalho.pptx
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
Realismo e Naturalismo: Aluísio Azevedo.
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
Slides Lição 7, CPAD, Uma Igreja Que Não Teme A Perseguição, 3Tr25.pptx
Trabalho Cidades sustentáveis ou Utopia.pptx
saeb_documentos_de_referencia_versao_1.0.pdf
ESPELHOS DA ALMA A PSICOLOGIA POR TRÁS DOS CONTOS DE FADAS.pdf
A História da Europa na Baixa Idade Média.pptx
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...

Linguagem C - Structs [exercícios]

  • 1. Universidade Federal de Uberlˆandia - UFU Faculdade de Computac¸ ˜ao - FACOM Lista de exerc´ıcios de programac¸ ˜ao em linguagem C Exerc´ıcios: Structs 1. Escreva um trecho de c´odigo para fazer a criac¸ ˜ao dos novos tipos de dados conforme solicitado abaixo: • Hor´ario: composto de hora, minutos e segundos. • Data: composto de dia, mˆes e ano. • Compromisso: composto de uma data, hor´ario e texto que descreve o compromisso. 2. Implemente um programa que leia o nome, a idade e o enderec¸o de uma pessoa e armazene os dados em uma estrutura. 3. Construa uma estrutura aluno com nome, n´umero de matr´ıcula e curso. Leia do usu´ario a informac¸ ˜ao de 5 alunos, armazene em vetor dessa estrutura e imprima os dados na tela. 4. Crie uma estrutura representando os alunos de um determinado curso. A estrutura deve conter a matr´ıcula do aluno, nome, nota da primeira prova, nota da segunda prova e nota da terceira prova. (a) Permita ao usu´ario entrar com os dados de 5 alunos. (b) Encontre o aluno com maior nota da primeira prova. (c) Encontre o aluno com maior m´edia geral. (d) Encontre o aluno com menor m´edia geral (e) Para cada aluno diga se ele foi aprovado ou reprovado, considerando o valor 6 para aprovac¸ ˜ao. 5. Considerando a estrutura struct Vetor{ float x; float y; float z; }; para representar um vetor no R3, implemente um programa que calcule a soma de dois vetores. 6. Fac¸a um programa que realize a leitura dos seguintes dados relativos a um conjunto de alunos: Matricula, Nome, C´odigo da Disciplina, Nota1 e Nota2. Considere uma turma de at´e 10 alunos. Ap´os ler todos os dados digitados, e depois de armazen´a-los em um vetor de estrutura, exibir na tela a listagem final dos alunos com as suas respectivas m´edias finais (use uma m´edia ponderada: Nota1 com peso=1.0 e Nota2 com peso=2.0). 7. Fac¸a um programa que converta coordenadas polares para cartesianas: • Crie e leia um ponto em coordenada polar, composto por raio (r) e argumento (a) em radianos. 1
  • 2. • Crie outro ponto, agora em coordenada cartesiana, composto por x e y, sabendo que x = r ∗ cosa e y = r ∗ sina. No programa principal, leia um ponto em coordenada polar e mostre as coordenadas do ponto gerado no plano cartesiano. 8. Fac¸a um programa que armazene em um registro de dados (estrutura composta) os da- dos de um funcion´ario de uma empresa, compostos de: Nome, Idade, Sexo (M/F), CPF, Data de Nascimento, C´odigo do Setor onde trabalha (0-99), Cargo que ocupa (string de at´e 30 caracteres) e Sal´ario. Os dados devem ser digitados pelo usu´ario, armazenados na estrutura e exibidos na tela. 9. Fac¸a um programa que fac¸a operac¸ ˜oes simples de n´umeros complexos: • Crie e leia dois n´umeros complexos z e w, compostos por parte real e parte ima- gin´aria. • Apresente a soma, subtrac¸ ˜ao e produto entre z e w, nessa ordem, bem como o m´odulo de ambos. 10. Utilizando uma estrutura, fac¸a um programa que permita a entrada de nome, enderec¸o e telefone de 5 pessoas e os imprima em ordem alfab´etica. 11. Fac¸a um programa que leia os dados de 10 alunos (Nome, matricula, M´edia Final), arma- zenando em um vetor. Uma vez lidos os dados, divida estes dados em 2 novos vetores, o vetor dos aprovados e o vetor dos reprovados, considerando a m´edia m´ınima para a aprovac¸ ˜ao como sendo 5.0. Exibir na tela os dados do vetor de aprovados, seguido dos dados do vetor de reprovados. 12. Escolha um jogo de cartas, baseado em um “baralho tradicional” (cada carta tem seu naipe e seu valor) ou tipo “super trunfo” (cada carta possui um conjunto de atributos). Implemente a parte de distribuic¸ ˜ao (sorteio) de cartas para 2 jogadores, considerando que cada jogador ir´a receber 5 cartas. Exiba na tela as cartas que cada um dos jogadores recebeu. 13. Pec¸a ao usu´ario para digitar seus dados pessoais (Nome, Enderec¸o, Data de Nasci- mento, Cidade, CEP, email), verifique se as informac¸ ˜oes de Data de Nascimento, CEP e email fazem sentido, e mostre ao usu´ario as informac¸ ˜oes, se est˜ao todas corretas, ou mostre que alguma informac¸ ˜ao estava errada. 14. Fac¸a um programa que leia um vetor com os dados de 5 carros: marca (m´aximo 15 letras), ano e prec¸o. Leia um valor p e mostre as informac¸ ˜oes de todos os carros com prec¸o menor que p. Repita este processo at´e que seja lido um valor p = 0. 15. Fac¸a um programa que leia um vetor com dados de 5 livros: t´ıtulo (m´aximo 30 letras), autor (m´aximo 15 letras) e ano. Procure um livro por t´ıtulo, perguntando ao usu´ario qual t´ıtulo deseja buscar. Mostre os dados de todos os livros encontrados. 16. Fac¸a um programa que seja uma agenda de compromissos e: • Crie e leia um vetor de 5 estruturas de dados com: compromisso (m´aximo 60 letras) e data. A data deve ser outra estrutura de dados contendo dia, mˆes e ano. • Leia dois inteiros M e A e mostre todos os compromissos do mˆes M do ano A. Repita o procedimento at´e ler M = 0. 17. Fac¸a um programa que controla o consumo de energia dos eletrodom´esticos de uma casa e: 2
  • 3. • Crie e leia 5 eletrodom´esticos que cont´em nome (m´aximo 15 letras), potˆencia (real, em kW) e tempo ativo por dia (real, em horas). • Leia um tempo t (em dias), calcule e mostre o consumo total na casa e o consumo relativo de cada eletrodom´estico (consumo/consumo total) nesse per´ıodo de tempo. Apresente este ´ultimo dado em porcentagem. 18. Fac¸a um programa que gerencie o estoque de um mercado e: • Crie e leia um vetor de 5 produtos, com os dados: c´odigo (inteiro), nome (m´aximo 15 letras), prec¸o e quantidade. • Leia um pedido, composto por um c´odigo de produto e a quantidade. Localize este c´odigo no vetor e, se houver quantidade suficiente para atender ao pedido integralmente, atualize o estoque e informe o usu´ario. Repita este processo at´e ler um c´odigo igual a zero. Se por algum motivo n˜ao for poss´ıvel atender ao pedido, mostre uma mensagem infor- mando qual erro ocorreu. 19. Fac¸a um programa que controle o fluxo de vˆoos nos aeroportos de um pa´ıs. Com V = 5 (vˆoos) e A = 5 (aeroportos) e: • Crie e leia um vetor de voos, sendo que cada voo cont´em um c´odigo de aeroporto de origem e um de destino. • Crie um vetor de aeroportos, sendo que cada aeroporto cont´em seu c´odigo, quanti- dade de voos que saem e quantidade de voos que chegam. Nota: Cada aeroporto ´e identificado por um c´odigo inteiro entre 0 e (A-1). N˜ao aceite aeroportos de c´odigo inexistente. 20. Fac¸a um programa para armazenar um livro de receitas e: • Crie um vetor de 5 receitas, que deve ter nome (m´aximo 25 letras), quantidade de ingredientes e ingredientes. • Para cada receita, leia seu nome e a quantidade de ingredientes. Ent˜ao crie e leia o vetor de ingredientes, sendo que cada ingrediente cont´em nome e quantidade. • Procure receita por nome, mostrando seus ingredientes se encontrar. Se n˜ao en- contrar, informe ao usu´ario. Repita o processo at´e digitar uma string vazia. 21. Fac¸a um programa que armazena filmes produzidos por v´arios diretores e: • Crie e leia um vetor de 5 diretores, cada um contendo nome (m´aximo 20 letras), quantidade de filmes e filmes. O membro filmes ´e um vetor, que deve ser criado ap´os ter lido quantidade de filmes. Cada filme ´e composto por nome, ano e durac¸ ˜ao. • Procure um diretor por nome, mostrando todos os filmes que ele j´a produziu. Repita o processo at´e digitar uma string vazia. 22. Definir a estrutura cuja representac¸ ˜ao gr´afica ´e dada a seguir, definir os campos com os tipos b´asicos necess´arios. 3
  • 4. (a) Crie um vetor Cadastro com 5 elementos. (b) Permita ao usu´ario entrar com dados para preencher esse 5 cadastros. (c) Encontre a pessoa com maior idade entre os cadastrados (d) Encontre as pessoas do sexo masculino (e) Encontre as pessoas com sal´ario maior que 1000. (f) Imprima os dados da pessoa cuja identidade seja igual a um valor fornecido pelo usu´ario 23. Escreva um programa que receba dois structs do tipo dma, cada um representando uma data v´alida, e calcule o n´umero de dias que decorreram entre as duas datas. struct dma { int dia; int mes; int ano; }; 24. Fazer um programa para simular uma agenda de telefones. Para cada pessoa devem-se ter os seguintes dados: • Nome • E-mail • Enderec¸o (contendo campos para Rua, n´umero, complemento, bairro, cep, cidade, estado, pa´ıs). • Telefone (contendo campo para DDD e n´umero) • Data de anivers´ario (contendo campo para dia, mˆes, ano). • Observac¸ ˜oes: Uma linha (string) para alguma observac¸ ˜ao especial. (a) Definir a estrutura acima. (b) Declarar a vari´avel agenda (vetor) com capacidade de agendar at´e 100 nomes. (c) Definir um bloco de instruc¸ ˜oes busca por primeiro nome: Imprime os dados da pessoa com esse nome (se tiver mais de uma pessoa, imprime para todas). (d) Definir um bloco de instruc¸ ˜oes busca por mˆes de anivers´ario: Imprime os dados de todas as pessoas que fazem anivers´ario nesse mˆes. (e) Definir um bloco de instruc¸ ˜oes busca por dia e mˆes de anivers´ario: Imprime os dados de todas as pessoas que fazem anivers´ario nesse dia e mˆes. (f) Definir um bloco de instruc¸ ˜oes insere pessoa: Insere por ordem alfab´etica de nome. (g) Definir um bloco de instruc¸ ˜oes retira pessoa: Retira todos os dados dessa pessoa e desloca todos os elementos seguintes do vetor para a posic¸ ˜ao anterior. (h) Definir um bloco de instruc¸ ˜oes imprime agenda com as opc¸ ˜oes: • Imprime nome, telefone e e-mail. • Imprime todos os dados. (i) O programa deve ter um menu principal oferecendo as opc¸ ˜oes acima. 4