Programação de Computadores - 27/06/2016
Exercícios
Questão 1)
Suponha a existência de um programa que realiza o controle das vendas de passagens de um ônibus mapeando os acentos disponíveis e os acentos vendidos como no esquema, sendo que os acentos disponíveis possuem o valor 0 (zero), e os acentos ocupados a idade da pessoa que está ocupando o acento:
a) Faça uma função que carrega a matriz com os dados de ocupação do ônibus a partir de um arquivo preexistente.
b) Faça uma função que grave a matriz com os dados de ocupação do ônibus em um arquivo.
c) Faça uma função que realiza a reserva de um acento dados acento (linha), fila (coluna) e idade.
d) Faça uma função que retorne a posição (acento e fila) da pessoa mais velha no ônibus.
e) Faça uma função que retorne quanto acentos estão disponíveis na janela.
f) Faça uma função que retorne a média das idades das pessoas no ônibus.
Resposta minha (finalizada - funções 3, 4, 5 e 6 testadas no CodeBlocks):
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int assentos[4][21];
int i=0,j=0;
int funcao=0;
int fila=0;
int coluna=0;
int idade=0;
int assentoslivresjanelas=0;
int passageiros=0;
int idademedia=0;
// resposta da letra a: função que carrega a matriz com os dados de ocupacao do onibus a partir de um arquivo preexistente
void leitura(){
ifstream le_tabela("onibus.txt");
for (i=0;i<4;i++){
for (j=0;j<21;j++){
le_tabela>>assentos[i][j];
} // fechamento do for
}// fechamento do for
le_tabela.close();
} // fechamento do void leitura
// resposta da letra b: função que grava a matriz com os dados de ocupacao do onibus em um arquivo
void gravacao(){
ofstream grava_matriz("dadosdoonibus.txt");
for (i=0;i<4;i++){
for (j=0;j<21;j++){
grava_matriz<<assentos[i][j]<<endl;
} // fechamento do for
}// fechamento do for
grava_matriz.close();
cout<<"** Matriz gravada com sucesso. Arquivo: dadosdoonibus.txt **"<<endl<<endl;
cout<<"Retornando ao menu principal"<<endl<<endl;
} // fechamento do void gravacao
// resposta da letra c: função que realiza reserva
void reserva(){
cout<<" || Reserva de Assentos || "<<endl<<endl;
cout<<"** digite '-1' para sair da funcao**"<<endl<<endl;
cout<<"Insira a linha (fila) desejada"<<endl<<endl;
cin>>fila;
cout<<"Insira a coluna desejada"<<endl<<endl;
cin>>coluna;
if (assentos[fila-1][coluna-1]==0){
cout<<"Digite a idade do passageiro"<<endl<<endl;
cin>>idade;
assentos[fila-1][coluna-1]=idade;
cout<<"** Assento reservado com sucesso **"<<endl<<endl;
} // fechamento do if
else if (assentos[fila-1][coluna-1]!=0){
cout<<"** Assento ocupado **"<<endl<<endl;
cout<<"** Se desejar tentar reservar outro assento, entre no menu reserva novamente **"<<endl<<endl;
} // fechamento do if
} // fechamento do void reserva
void pessoamaisvelha(){
idade=0;
for (i=0;i<4;i++){
for (j=0;j<21;j++){
if (idade<assentos[i][j]){
idade=assentos[i][j];
fila=i;
coluna=j;
}
} // fechamento do for
}// fechamento do for
cout<<"A pessoa mais velha no onibus tem "<<idade<<" anos e esta no assento posicionado na fila "<<fila<<" e na coluna "<<coluna<<" ."<<endl<<endl;
} // fechamento do void pessoamaisvelha
void janelaslivres(){
assentoslivresjanelas=0;
// Para a lateral esquerda do onibus
for (j=0;j<21;j++){
if (assentos[0][j]==0){
assentoslivresjanelas++;
}
}// fechamento do for
// Para a lateral direita do onibus
for (j=0;j<21;j++){
if (assentos[3][j]==0){
assentoslivresjanelas++;
}
}// fechamento do for
cout<<"Existem "<<assentoslivresjanelas<<" assentos livres em janelas no onibus."<<endl<<endl;
} // fechamento do void janelaslivres
void mediaidades(){
idade=0;
passageiros=0;
idademedia=0;
for (i=0;i<4;i++){
for (j=0;j<21;j++){
if (assentos[i][j]!=0){
idade=idade+assentos[i][j];
passageiros++;
}
} // fechamento do for
}// fechamento do for
idademedia=idade/passageiros;
cout<<"A idade media dos passageiros e: "<<idademedia<<" anos."<<endl<<endl;
} // fechamento do void mediaidades
int main()
{
funcao=0;
cout << "|| Controle de vendas de passagens ||" << endl<<endl;
while (funcao!=-1){
cout<<"|| Menu principal ||"<<endl<<endl;
cout<<"Digite o numero da funcao desejada ou '-1' para encerrar"<<endl<<endl;
cout<<"|| Funcao 1: carrega a matriz com os dados de ocupacao do onibus a partir de um arquivo preexistente ||"<<endl<<endl;
cout<<"|| Funcao 2: grava a matriz com os dados de ocupacao do onibus em um arquivo ||"<<endl<<endl;
cout<<"|| Funcao 3: realiza reserva ||"<<endl<<endl;
cout<<"|| Funcao 4: retornar a posicao do assento (fila e coluna) da pessoa mais velha no ônibus ||"<<endl<<endl;
cout<<"|| Funcao 5: retorna o numero de assentos disponiveis nas janelas ||"<<endl<<endl;
cout<<"|| Funcao 6: retorna a media das idades das pessoas no onibus ||"<<endl<<endl;
cin>>funcao;
if (funcao==1){
leitura();
} // fechamento do if
if (funcao==2){
gravacao();
} // fechamento do if
if (funcao==3){
reserva();
} // fechamento do if
if (funcao==4){
pessoamaisvelha();
} // fechamento do if
if (funcao==5){
janelaslivres();
} // fechamento do if
if (funcao==6){
mediaidades();
} // fechamento do if
} // fechamento do while
return 0;
}
Questão 2)
O que o programa a seguir mostra na tela após ser executado?
#include<cstdlib>
#include<iostream>
using namespace std;
int selecao (intx,inty){
int M[10][10],i,j;
for(i=0;i<5;i++){
for(j=0;j<5;j++){
M[i][j]=i+j;
}
}
return M[x][y];
}
int main{
int P;
P=selecao(5,6);
cout<<P;
return 0;
}
Resposta minha:
Como a matriz só é preenchida até a posição [4][4], o ponto P receberá o valor de vazio, caso a matriz esteja limpa na posição [5][6] antes da execução do programa.
Lucas T R Freitas
Ave Maria, cheia de graça, o Senhor é convosco, bendita sois vós entre as mulheres e bendito é o fruto do vosso ventre, Jesus. Santa Maria, Mãe de Deus, rogai por nós pecadores, agora e na hora da nossa morte. Amém.
Mostrando postagens com marcador Programação de Computadores. Mostrar todas as postagens
Mostrando postagens com marcador Programação de Computadores. Mostrar todas as postagens
segunda-feira, 27 de junho de 2016
Programação de Computadores - 27 de Junho de 2016
Programação de Computadores - 27 de Junho de 2016
Resolução de exercícios:
Questão única:
Você foi convidado pelo professor de programação para ajudar no controle dos registros acadêmicos e para isso deve fazr um programa em c++ (construindo uma função para cada item) que permita:
a) Ler a nota de 40 alunos e gravá-los em um arquivo externo.
b) Recuperar os dados do arquivo gravado inserindo em 2 vetores distintos, um primeiro contendo as notas maiores ou iguais a 5,0 e um segundo contendo as notas menores que 5,0.
c) Imprimir as notas armazenadas no primeiro vetor e as armazenadas no segundo vetor separadamente (sem "lixo").
d) Imprimir a quantidade de notas do segundo vetor que estão entre 4,0 e 5,0.
e) Imprimir uma mensagem dizendo se a quantidade de notas do primeiro vetor está acima ou abiaxo de 6,0.
Resposta minha (letra a pronto e testada no codeblocks):
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
// Declarando e zerando as variáveis
float notadoaluno=0;
int funcao=0;
int sairfuncao=0;
int i=0;
int contmaior5=0;
int contmenor5=0;
int notasentre4e5=0;
float notamaiorigual5[40];
float notamenor5[40];
// resposta da letra a: Ler a nota de 40 alunos e gravá-los em um arquivo externo.
void leitura(){
ofstream gravanotadoaluno("notas.txt");
sairfuncao=0;
cout<<endl<<endl<<"|| Bem vindo a funcao de gravacao das notas nos alunos ||"<<endl<<endl;
for (i=0;i<40;i++){
if (sairfuncao!=-1){
cout<<"**Informe a nota do aluno || "<<i+1<<" || ou digite '-1' para sair.**"<<endl;
cin>>sairfuncao;
if (sairfuncao!=-1){
notadoaluno=sairfuncao;
cout<<endl<<"A nota do aluno "<<i+1<<" e: "<<notadoaluno<<endl<<endl<<endl;
gravanotadoaluno<<notadoaluno<<endl;
} // fechamento do if
} // fechamento do if
} // fechamento do for
gravanotadoaluno.close();
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void leitura
// resposta da letra b: Separar as notas dos alunos em dois vetores: notas maiores ou iguais a 5 e notas menores que 5
void separanotas(){
ifstream separar("notas.txt");
sairfuncao=0;
contmaior5=0;
contmenor5=0;
cout<<endl<<endl<<"|| Separando as notas dos alunos em dois vetores: notas maiores ou iguais a 5 e notas menores que 5 ||"<<endl<<endl;
for (i=0;i<40;i++){
if (sairfuncao!=-1){
separar>>notadoaluno;
if (notadoaluno>=5){
notamaiorigual5[contmaior5]=notadoaluno;
contmaior5++;
} // fechamento do if
if (notadoaluno<5){
notamenor5[contmenor5]=notadoaluno;
contmenor5++;
} // fechamento do if
} // fechamento do if
} // fechamento do for
cout<<endl<<endl;
cout<<"Notas separadas."<<endl;
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void separanotas
// resposta da letra c: Imprimir as notas dos vetores
void imprimenotas(){
ifstream separar("notas.txt");
sairfuncao=0;
cout<<endl<<endl<<"|| Separando as notas dos alunos em dois vetores: notas maiores ou iguais a 5 e notas menores que 5 ||"<<endl<<endl;
cout<<"Notas maiores ou iguais a cinco: "<<contmaior5<<" notas."<<endl;
for (i=0;i<contmaior5;i++){
if (sairfuncao!=-1){
cout<<"A nota na posicao "<<i+1<<" e: "<<notamaiorigual5[i]<<endl;
} // fechamento do if
} // fechamento do for
cout<<endl<<endl<<endl;
cout<<"Notas menores que cinco: "<<contmenor5<<" notas."<<endl;
for (i=0;i<contmenor5;i++){
if (sairfuncao!=-1){
cout<<"A nota na posicao "<<i+1<<" e: "<<notamenor5[i]<<endl;
} // fechamento do if
} // fechamento do for
cout<<endl<<endl;
cout<<"Notas impressas."<<endl;
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void imprimenotas
// resposta da letra d: Imprimir as notas entre 4 e 5 do segundo vetores
void imprimenotasentre4e5(){
sairfuncao=0;
cout<<endl<<endl<<"|| Contando as notas entre 4 e 5 dos alunos entre as notas menores que 5 ||"<<endl<<endl;
for (i=0;i<contmenor5;i++){
if (notamenor5[i]>=4 && notamenor5[i]<5){
notasentre4e5++;
} // fechamento do if
} // fechamento do for
cout<<endl<<endl;
cout<<"A quantidade de notas entre 4 e 5 e: "<<notasentre4e5<<"."<<endl;
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void imprimenotasentre4e5
// resposta da letra e: Imprimir uma mensagem dizendo se a quantidade de notas do primeiro vetor está acima ou abaixo de 6,0
void imprimenotas6(){
sairfuncao=0;
if (contmaior5<6){
cout<<endl<<endl<<"|| A quantidade de notas do primeiro vetor esta abaixo de 6 ||"<<endl<<endl;
}
if (contmaior5>6){
cout<<endl<<endl<<"|| A quantidade de notas do primeiro vetor esta acima de 6 ||"<<endl<<endl;
}
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void imprimenotas6
int main()
{
cout<<endl<<endl << "-- Bem-vindo ao programa de registros academicos --" << endl<<endl;
cout<<endl;
funcao=100; // mudando o valor da variável sair
while (funcao!=-1){
cout<<"|| Menu de funcoes ||"<<endl;
cout<<endl;
cout<<endl;
cout<<"|| Registros Academicos - Funcoes ||"<<endl<<endl;
cout<<"|| Funcao (1): Ler as notas dos 40 alunos e gravar em um arquivo txt externo. ||"<<endl<<endl;
cout<<"|| Funcao (2): Separar as notas dos alunos em dois vetores: notas maiores ou iguais a 5 e notas menores que 5. ||"<<endl<<endl;
cout<<"|| Funcao (3): Imprimir as notas separadas em vetores: notas maiores ou iguais a 5 e notas menores que 5. ||"<<endl<<endl;
cout<<"|| Funcao (4): Imprimir a quantidade de notas que estao entre 4 e 5. ||"<<endl<<endl;
cout<<"|| Funcao (5): Imprimir as notas separadas em vetores: notas maiores ou iguais a 5 e notas menores que 5. ||"<<endl<<endl;
cout<<endl;
cout<<"Informe o numero da funcao desejada ou digite -1 para sair"<<endl<<endl;
cout<<endl<<endl<<endl;
cin>>funcao;
if (funcao==1){
leitura();
}// fechamento do if
if (funcao==2){
separanotas();
}// fechamento do if
if (funcao==3){
imprimenotas();
}// fechamento do if
if (funcao==4){
imprimenotasentre4e5();
}// fechamento do if
if (funcao==5){
imprimenotas6();
}// fechamento do if
} // fechamento do while
return 0;
}
Lucas T R Freitas
Resolução de exercícios:
Questão única:
Você foi convidado pelo professor de programação para ajudar no controle dos registros acadêmicos e para isso deve fazr um programa em c++ (construindo uma função para cada item) que permita:
a) Ler a nota de 40 alunos e gravá-los em um arquivo externo.
b) Recuperar os dados do arquivo gravado inserindo em 2 vetores distintos, um primeiro contendo as notas maiores ou iguais a 5,0 e um segundo contendo as notas menores que 5,0.
c) Imprimir as notas armazenadas no primeiro vetor e as armazenadas no segundo vetor separadamente (sem "lixo").
d) Imprimir a quantidade de notas do segundo vetor que estão entre 4,0 e 5,0.
e) Imprimir uma mensagem dizendo se a quantidade de notas do primeiro vetor está acima ou abiaxo de 6,0.
Resposta minha (letra a pronto e testada no codeblocks):
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
// Declarando e zerando as variáveis
float notadoaluno=0;
int funcao=0;
int sairfuncao=0;
int i=0;
int contmaior5=0;
int contmenor5=0;
int notasentre4e5=0;
float notamaiorigual5[40];
float notamenor5[40];
// resposta da letra a: Ler a nota de 40 alunos e gravá-los em um arquivo externo.
void leitura(){
ofstream gravanotadoaluno("notas.txt");
sairfuncao=0;
cout<<endl<<endl<<"|| Bem vindo a funcao de gravacao das notas nos alunos ||"<<endl<<endl;
for (i=0;i<40;i++){
if (sairfuncao!=-1){
cout<<"**Informe a nota do aluno || "<<i+1<<" || ou digite '-1' para sair.**"<<endl;
cin>>sairfuncao;
if (sairfuncao!=-1){
notadoaluno=sairfuncao;
cout<<endl<<"A nota do aluno "<<i+1<<" e: "<<notadoaluno<<endl<<endl<<endl;
gravanotadoaluno<<notadoaluno<<endl;
} // fechamento do if
} // fechamento do if
} // fechamento do for
gravanotadoaluno.close();
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void leitura
// resposta da letra b: Separar as notas dos alunos em dois vetores: notas maiores ou iguais a 5 e notas menores que 5
void separanotas(){
ifstream separar("notas.txt");
sairfuncao=0;
contmaior5=0;
contmenor5=0;
cout<<endl<<endl<<"|| Separando as notas dos alunos em dois vetores: notas maiores ou iguais a 5 e notas menores que 5 ||"<<endl<<endl;
for (i=0;i<40;i++){
if (sairfuncao!=-1){
separar>>notadoaluno;
if (notadoaluno>=5){
notamaiorigual5[contmaior5]=notadoaluno;
contmaior5++;
} // fechamento do if
if (notadoaluno<5){
notamenor5[contmenor5]=notadoaluno;
contmenor5++;
} // fechamento do if
} // fechamento do if
} // fechamento do for
cout<<endl<<endl;
cout<<"Notas separadas."<<endl;
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void separanotas
// resposta da letra c: Imprimir as notas dos vetores
void imprimenotas(){
ifstream separar("notas.txt");
sairfuncao=0;
cout<<endl<<endl<<"|| Separando as notas dos alunos em dois vetores: notas maiores ou iguais a 5 e notas menores que 5 ||"<<endl<<endl;
cout<<"Notas maiores ou iguais a cinco: "<<contmaior5<<" notas."<<endl;
for (i=0;i<contmaior5;i++){
if (sairfuncao!=-1){
cout<<"A nota na posicao "<<i+1<<" e: "<<notamaiorigual5[i]<<endl;
} // fechamento do if
} // fechamento do for
cout<<endl<<endl<<endl;
cout<<"Notas menores que cinco: "<<contmenor5<<" notas."<<endl;
for (i=0;i<contmenor5;i++){
if (sairfuncao!=-1){
cout<<"A nota na posicao "<<i+1<<" e: "<<notamenor5[i]<<endl;
} // fechamento do if
} // fechamento do for
cout<<endl<<endl;
cout<<"Notas impressas."<<endl;
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void imprimenotas
// resposta da letra d: Imprimir as notas entre 4 e 5 do segundo vetores
void imprimenotasentre4e5(){
sairfuncao=0;
cout<<endl<<endl<<"|| Contando as notas entre 4 e 5 dos alunos entre as notas menores que 5 ||"<<endl<<endl;
for (i=0;i<contmenor5;i++){
if (notamenor5[i]>=4 && notamenor5[i]<5){
notasentre4e5++;
} // fechamento do if
} // fechamento do for
cout<<endl<<endl;
cout<<"A quantidade de notas entre 4 e 5 e: "<<notasentre4e5<<"."<<endl;
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void imprimenotasentre4e5
// resposta da letra e: Imprimir uma mensagem dizendo se a quantidade de notas do primeiro vetor está acima ou abaixo de 6,0
void imprimenotas6(){
sairfuncao=0;
if (contmaior5<6){
cout<<endl<<endl<<"|| A quantidade de notas do primeiro vetor esta abaixo de 6 ||"<<endl<<endl;
}
if (contmaior5>6){
cout<<endl<<endl<<"|| A quantidade de notas do primeiro vetor esta acima de 6 ||"<<endl<<endl;
}
cout<<endl<<endl;
cout<<"Retornando ao menu principal."<<endl;
cout<<endl<<endl<<endl;
} // fechamento do void imprimenotas6
int main()
{
cout<<endl<<endl << "-- Bem-vindo ao programa de registros academicos --" << endl<<endl;
cout<<endl;
funcao=100; // mudando o valor da variável sair
while (funcao!=-1){
cout<<"|| Menu de funcoes ||"<<endl;
cout<<endl;
cout<<endl;
cout<<"|| Registros Academicos - Funcoes ||"<<endl<<endl;
cout<<"|| Funcao (1): Ler as notas dos 40 alunos e gravar em um arquivo txt externo. ||"<<endl<<endl;
cout<<"|| Funcao (2): Separar as notas dos alunos em dois vetores: notas maiores ou iguais a 5 e notas menores que 5. ||"<<endl<<endl;
cout<<"|| Funcao (3): Imprimir as notas separadas em vetores: notas maiores ou iguais a 5 e notas menores que 5. ||"<<endl<<endl;
cout<<"|| Funcao (4): Imprimir a quantidade de notas que estao entre 4 e 5. ||"<<endl<<endl;
cout<<"|| Funcao (5): Imprimir as notas separadas em vetores: notas maiores ou iguais a 5 e notas menores que 5. ||"<<endl<<endl;
cout<<endl;
cout<<"Informe o numero da funcao desejada ou digite -1 para sair"<<endl<<endl;
cout<<endl<<endl<<endl;
cin>>funcao;
if (funcao==1){
leitura();
}// fechamento do if
if (funcao==2){
separanotas();
}// fechamento do if
if (funcao==3){
imprimenotas();
}// fechamento do if
if (funcao==4){
imprimenotasentre4e5();
}// fechamento do if
if (funcao==5){
imprimenotas6();
}// fechamento do if
} // fechamento do while
return 0;
}
Lucas T R Freitas
quinta-feira, 23 de junho de 2016
Trabalho em sala - Exercício para fazer em dupla - Sistema Gerenciador de Cinema
Trabalho em sala - Exercício para fazer em dupla - Sistema Gerenciador de Cinema
Resposta minha (dupla Lucas e Stéfani) - testado e funcionando - menus ficaram esquisitos:
#include <iostream>
using namespace std;
int main()
{
int i=0,j=0, menup=0, sair=0;
string mat [15][10];
for (i=0;i<15;i++){
for (j=0;j<10;j++){
mat[i][j]="Vago";
}
}
while (sair!=5){
cout <<" *_*_*_*_*_*_*_*_*_*_*_*_*_* "<< endl;
cout <<" * MENU PRINCIPAL * "<< endl;
cout <<" * * "<< endl;
cout <<" * 1- Reserva * "<< endl;
cout <<" * 2- Compra * "<< endl;
cout <<" * 3- Mapa de cadeiras * "<< endl;
cout <<" * 4- Arrecadação total * "<< endl;
cout <<" * 5- Sair * "<< endl;
cout <<" * * "<< endl;
cout <<" *_ _ _ _ _ _ _ _ _ _ _ _ _* "<< endl;
cout <<" * * * * * * * * * * * * * * "<< endl;
cout << "Digite a opção desejada"<<endl ;
cin>>menup;
if (menup==1){
}
if (menup==2){
string reserva() {
cout <<" *_*_*_*_*_*_*_*_*_*_*_*_*_* "<< endl;
cout <<" * * "<< endl;
cout <<" * 2- COMPRA * "<< endl;
cout <<" * * "<< endl;
cout <<" * Informe a fila: * "<< endl;
cout <<" * * "<< endl;
cout <<" * Informe a cadeira: * "<< endl;
cout <<" * * "<< endl;
cout <<" * 0_Retornar ao menu * "<< endl;
cout <<" *_ _ _ _ _ _ _ _ _ _ _ _ _* "<< endl;
cout <<" * * * * * * * * * * * * * * "<< endl;
}
}
if (menup==3){
string reserva() {
cout <<" *_*_*_*_*_*_*_*_*_*_*_*_*_* "<< endl;
cout <<" * * "<< endl;
cout <<" * * "<< endl;
cout <<" * 3- MOSTRAR * "<< endl;
cout <<" * MAPA * "<< endl;
cout <<" * DE * "<< endl;
cout <<" * CADEIRAS * "<< endl;
cout <<" * * "<< endl;
cout <<" * 0_Retornar ao menu * "<< endl;
cout <<" *_ _ _ _ _ _ _ _ _ _ _ _ _* "<< endl;
cout <<" * * * * * * * * * * * * * * "<< endl;
}
}
if (menup==4){
string reserva() {
cout <<" *_*_*_*_*_*_*_*_*_*_*_*_*_* "<< endl;
cout <<" * * "<< endl;
cout <<" * * "<< endl;
cout <<" * 4- Arrecadação * "<< endl;
cout <<" * total * "<< endl;
cout <<" * * "<< endl;
cout <<" * * "<< endl;
cout <<" * * "<< endl;
cout <<" * 0_Retornar ao menu * "<< endl;
cout <<" *_ _ _ _ _ _ _ _ _ _ _ _ _* "<< endl;
cout <<" * * * * * * * * * * * * * * "<< endl;
}
}
if (menup==5){
string reserva() {
cout <<" *_*_*_*_*_*_*_*_*_*_*_*_*_* "<< endl;
cout <<" * * "<< endl;
cout <<" * * "<< endl;
cout <<" * 5- Sair * "<< endl;
cout <<" * * "<< endl;
cout <<" * * "<< endl;
cout <<" * * "<< endl;
cout <<" * * "<< endl;
cout <<" * * "<< endl;
cout <<" *_ _ _ _ _ _ _ _ _ _ _ _ _* "<< endl;
cout <<" * * * * * * * * * * * * * * "<< endl;
}
}
return 0;
}
Lucas T R Freitas
quarta-feira, 22 de junho de 2016
Programação de Computadores - 22 de Junho de 2016
Programação de Computadores - 22 de Junho de 2016
Correção da professora
Correção dos exercícios
int main (){
int mat[6] [22];
void carrega(){
int i,j;
ifstream leitura ("dados.txt");
for(i=0;i<6;i++){
for(j=0;j<22;j++){
leitura>>mat[i][j]
} // fechamento do for
} // fechamento do for
leitura.close();
} // fechamento do void carrega
// Observação: esta função carrega a matriz com dados existentes em um arquivo externo.
void gravar_dados(){
int i,j;
ofstream gravar ("dadosocupacao.txt");
for(i=0;i<6;i++){
for(j=0;j<22;j++){
if((mat[i][j])!=0){
gravar<<mat[i][]<<endl;
} // fechamento do if
} // fechamento do for
} // fechamento do for
gravar.close();
} //fechamento do void gravar_dados
// Observação: esta função grava em um arquivo externo os dados dos assentos ocupados.
void reserva (){
int i,j, opcao,idade,fila,cadeira;
cout<<"Para reservar digite 0 - Para sair digite -1";
cin>>opcao;
while (opcao!=-1){
cout<<"Informe a idade"<<endl;
cin>>idade;
cout<<"Informe a fila e a cadeira"<<endl;
cin>>fila;
cin>>cadeira;
if(mat[fila][cadeira]==0){
mat[fila][cadeira]=idade;
} // fechamento
else{
cout<<"lugarocupado"<<endl;
}
cout<<"Para reservar digite 0 - Para sair digite -1"<<endl;
cin>>opcao;
} // fechamento do while
} // fechamento do void reserva
//Observação: essa função permite que o usuário realize a reserva de um assento informando sua idade, fila e cadeira.
void primeira_classe(){
int i,j,menor=0,posicaoi,posicaoj;
for(i=0;i<6;i++){
for(j=0;j<4;j++){
if (mat[i][j]!=0){
if (mat[i][j]<menor)||(menor==0){
menor=mat[i][j];
posicaoi=i;
posicaoj=j;
} // fechamento do if
} // fechamento do if
} // fechamento do for
} // fechamento do for
cout<<"A pessoa mais nova na primeira classe tem "<<menor<<" anos e está sentada na fila "<<posicaoi<<" cadeira "<<posicaoj<<endl;
} // fechamento do void primeira_classe
void corredor(){
int i,j,corredor=0;
for(i=2;i<4;i++){
for(j=0;j<22;j++){
if (mat[i][j])!=0{
corredor++;
} // fechamento do if
} // fechamento do for
} // fechamento do for
cout<<"Total de assentos ocupados no corredor: "<<corredor<<endl;
}// fechamento do void corredor
// Observacao: esta função retorna quantas pessoas estão sentadas no corredor, isto é, fila 2 e 3.
void janela(){
int i,j,soma=0,contjanela=0;
for(i=0;i<1;i++){
for(j=0;j<22;j++){
if(mat[i][j]!=0){
soma=soma+mat[i][j];
contjanela++;
}// fechamento do if
} // fechamento do for
} // fechamento do for
for(i=5;i<6;i++){
for(j=0;j<22;j++){
if(mat[i][j]!=0){
soma=soma+mat[i][j];
contjanela++;
}
}// fechamento do for
} // fechamento do for
cout<<"A média das idades das pessoas sentadas na janela é: "<<soma/contjanela<<endl;
Carrega();
gravar_dados();
reserva();
primeira_classe();
corredor();
janela();
return 0;
} // fechamento do void janela
} // Fechamento do int main
Lucas T R Freitas
Correção da professora
Correção dos exercícios
int main (){
int mat[6] [22];
void carrega(){
int i,j;
ifstream leitura ("dados.txt");
for(i=0;i<6;i++){
for(j=0;j<22;j++){
leitura>>mat[i][j]
} // fechamento do for
} // fechamento do for
leitura.close();
} // fechamento do void carrega
// Observação: esta função carrega a matriz com dados existentes em um arquivo externo.
void gravar_dados(){
int i,j;
ofstream gravar ("dadosocupacao.txt");
for(i=0;i<6;i++){
for(j=0;j<22;j++){
if((mat[i][j])!=0){
gravar<<mat[i][]<<endl;
} // fechamento do if
} // fechamento do for
} // fechamento do for
gravar.close();
} //fechamento do void gravar_dados
// Observação: esta função grava em um arquivo externo os dados dos assentos ocupados.
void reserva (){
int i,j, opcao,idade,fila,cadeira;
cout<<"Para reservar digite 0 - Para sair digite -1";
cin>>opcao;
while (opcao!=-1){
cout<<"Informe a idade"<<endl;
cin>>idade;
cout<<"Informe a fila e a cadeira"<<endl;
cin>>fila;
cin>>cadeira;
if(mat[fila][cadeira]==0){
mat[fila][cadeira]=idade;
} // fechamento
else{
cout<<"lugarocupado"<<endl;
}
cout<<"Para reservar digite 0 - Para sair digite -1"<<endl;
cin>>opcao;
} // fechamento do while
} // fechamento do void reserva
//Observação: essa função permite que o usuário realize a reserva de um assento informando sua idade, fila e cadeira.
void primeira_classe(){
int i,j,menor=0,posicaoi,posicaoj;
for(i=0;i<6;i++){
for(j=0;j<4;j++){
if (mat[i][j]!=0){
if (mat[i][j]<menor)||(menor==0){
menor=mat[i][j];
posicaoi=i;
posicaoj=j;
} // fechamento do if
} // fechamento do if
} // fechamento do for
} // fechamento do for
cout<<"A pessoa mais nova na primeira classe tem "<<menor<<" anos e está sentada na fila "<<posicaoi<<" cadeira "<<posicaoj<<endl;
} // fechamento do void primeira_classe
void corredor(){
int i,j,corredor=0;
for(i=2;i<4;i++){
for(j=0;j<22;j++){
if (mat[i][j])!=0{
corredor++;
} // fechamento do if
} // fechamento do for
} // fechamento do for
cout<<"Total de assentos ocupados no corredor: "<<corredor<<endl;
}// fechamento do void corredor
// Observacao: esta função retorna quantas pessoas estão sentadas no corredor, isto é, fila 2 e 3.
void janela(){
int i,j,soma=0,contjanela=0;
for(i=0;i<1;i++){
for(j=0;j<22;j++){
if(mat[i][j]!=0){
soma=soma+mat[i][j];
contjanela++;
}// fechamento do if
} // fechamento do for
} // fechamento do for
for(i=5;i<6;i++){
for(j=0;j<22;j++){
if(mat[i][j]!=0){
soma=soma+mat[i][j];
contjanela++;
}
}// fechamento do for
} // fechamento do for
cout<<"A média das idades das pessoas sentadas na janela é: "<<soma/contjanela<<endl;
Carrega();
gravar_dados();
reserva();
primeira_classe();
corredor();
janela();
return 0;
} // fechamento do void janela
} // Fechamento do int main
Lucas T R Freitas
quarta-feira, 8 de junho de 2016
Programação de Computadores - 08 de Junho de 2016
Programação de Computadores - 08 de Junho de 2016
Exercício para fazer em dupla
*------------*------------*------------*
Sistema Gerenciador de Cinema
*------------*------------*------------*
* *
* Menu Principal *
* *
* 1- Reserva *
* 2- Compra *
* 3- Mapa de cadeiras *
* 4- Arrecadação total *
* 5- Sair *
*------------*------------*------------*
* by Zirlene *
*------------*------------*------------*
1- Reserva (dentro de um quadrado)
Informe a fila
Informe a cadeira
0 - Retorna ao Menu
Obs: o cinema possui uma estrutura de 15 filas (linhas) com 10 cadeiras (colunas) em cada fila. Uma cadeira só pode ser reservada se não existir reserva para ela ou não estiver comprada. Ao realizar a reserva o sistema deve atribuir "R" para a cadeira.
2- Compra (dentro de um quadrado)
Informe a fila
Informe a cadeira
0- Retorna ao Menu
Obs: uma compra só pode ser feita se for para um lugar disponível ou reservado. Deverá ser atribuído "C" para a cadeira comprada. O valor do bilhete do cinema é de R$40,00. Se a cadeira comprada vier de uma reserva ganhará 10% de desconto.
3- Mostrar mapa cadeiras (dentro de um quadrado)
0- Retorna ao menu
Obs: Deverá mostrar a matriz 15x10 completa com os lugares disponíveis, reservados e comprados
4- Arrecadação total
0- Retorna ao menu
Obs: Deve apresentar:
Lucas T R Freitas
Exercício para fazer em dupla
*------------*------------*------------*
Sistema Gerenciador de Cinema
*------------*------------*------------*
* *
* Menu Principal *
* *
* 1- Reserva *
* 2- Compra *
* 3- Mapa de cadeiras *
* 4- Arrecadação total *
* 5- Sair *
*------------*------------*------------*
* by Zirlene *
*------------*------------*------------*
1- Reserva (dentro de um quadrado)
Informe a fila
Informe a cadeira
0 - Retorna ao Menu
Obs: o cinema possui uma estrutura de 15 filas (linhas) com 10 cadeiras (colunas) em cada fila. Uma cadeira só pode ser reservada se não existir reserva para ela ou não estiver comprada. Ao realizar a reserva o sistema deve atribuir "R" para a cadeira.
2- Compra (dentro de um quadrado)
Informe a fila
Informe a cadeira
0- Retorna ao Menu
Obs: uma compra só pode ser feita se for para um lugar disponível ou reservado. Deverá ser atribuído "C" para a cadeira comprada. O valor do bilhete do cinema é de R$40,00. Se a cadeira comprada vier de uma reserva ganhará 10% de desconto.
3- Mostrar mapa cadeiras (dentro de um quadrado)
0- Retorna ao menu
Obs: Deverá mostrar a matriz 15x10 completa com os lugares disponíveis, reservados e comprados
4- Arrecadação total
0- Retorna ao menu
Obs: Deve apresentar:
- Quantidade de reservas
- Quantidade de entradas compradas
- Quantidade de entradas compradas com reservas
- Total arrecadado
5- Sair
Obs: encerrar o sistema.
Lucas T R Freitas
segunda-feira, 6 de junho de 2016
Programação de computadores - 06 de Junho de 2016
Programação de computadores - 06 de Junho de 2016
Estruturas homogêneas - Matrizes
Declaração matriz em c++
int main(){
int dados [3] [2] // tipo de dados nome da matriz [linhas] [colunas]
} // fechamento do int main
Colocando elementos em uma matriz
int main () {
int i, j;
int mat [3] [4];
for (i=0; i<3;i++){
for(j=0; j<4;j++){
cin>>mat[i][j];
} // fechamento do for
} // fechamento do for
// retirando elementos de uma matriz
for (i=0;i<3;i++){
for (j=0;j<4;j++){
cout<<mat[i][j]<<"|";
} // fechamento do for
cout<<endl;
} // fechamento do for
Return 0;
} // fechamento do int main
Exercícios
Resolução minha:
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
// declarando as variáveis
int a=0, b=0, i=0, j=0, sair=0, somalinha=0, somatotal=0, somadiagonal=0, multiplos3=0;
// declarando a matriz
int matriz1 [a] [b];
// Entrando com os parâmetros da matriz
cout<<"Escreva o número de linhas da matriz."<<endl;
cin>>a;
cout<<"Escreva o número de colunas da matriz."<<endl;
cin>>b;
// Entrando com os dados da matriz
for(i=0;i<a;i++){
for(j=0;j<b;j++){
cout<<"Escreva o número da posicao linha "<<i<<" coluna "<<j<<"."<<endl;
cin>> matriz1[i][j];
}
}
// Saindo com os dados da matriz
for(i=0;i<a;i++){
for(j=0;j<b;j++){
cout<<"O número da posicao linha "<<i<<" coluna "<<j<<" é: ";
cout<< matriz1[i][j]<<endl;
}
}
// resposta da letra a - A soma dos elementos de cada linha
for(i=0;i<a;i++){
somalinha=0;
for(j=0;j<b;j++){
somalinha=somalinha+matriz1[i][j];
}
cout<<"A soma dos número posicao linha "<<i<<" é: "<<somalinha<<"."<<endl;
}
// resposta da letra b - A média dos elementos informados
for(i=0;i<a;i++){
for(j=0;j<b;j++){
somatotal=somatotal+matriz1[i][j];
}
}
cout<<"A soma de todos os elementos é "<<somatotal<<" e a media é "<<somatotal/(a*b)<<"."<<endl;
// resposta da letra c - A soma dos elementos da diagonal principal
for(i=0;i<a;i++){
for(j=0;j<b;j++){
if(i==j){
somadiagonal=somadiagonal+matriz1[i][j];
} // fechamento do if
}
}
cout<<"A soma dos elementos da diagonal da matriz é "<<somadiagonal<<"."<<endl;
// resposta da letra d - A quantidade de elementos múltiplos de 3
for(i=0;i<a;i++){
for(j=0;j<b;j++){
if(matriz1[i][j]%3==0){
multiplos3++;
} // fechamento do if
}
}
cout<<"A quantidade de elementos multiplos de 3 da matriz é "<<multiplos3<<"."<<endl;
// Encerrando o programa
system ("Pause");
while(sair==0){
cout << "Digite 1 para sair" << endl;
cin>> sair;
} // fechamento do while
return 0;
}
Lucas T R Freitas
Estruturas homogêneas - Matrizes
Declaração matriz em c++
int main(){
int dados [3] [2] // tipo de dados nome da matriz [linhas] [colunas]
} // fechamento do int main
Colocando elementos em uma matriz
int main () {
int i, j;
int mat [3] [4];
for (i=0; i<3;i++){
for(j=0; j<4;j++){
cin>>mat[i][j];
} // fechamento do for
} // fechamento do for
// retirando elementos de uma matriz
for (i=0;i<3;i++){
for (j=0;j<4;j++){
cout<<mat[i][j]<<"|";
} // fechamento do for
cout<<endl;
} // fechamento do for
Return 0;
} // fechamento do int main
Exercícios
- Faça um algoritmo que leia uma matriz quadrada 4x4 de números inteiros e retorne:
- a) A soma dos elementos de cada linha.
- b) A média dos elementos informados.
- c) A soma dos elementos da diagonal principal.
- d) A quantidade de elementos múltiplos de 3.
Resolução minha:
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main()
{
// declarando as variáveis
int a=0, b=0, i=0, j=0, sair=0, somalinha=0, somatotal=0, somadiagonal=0, multiplos3=0;
// declarando a matriz
int matriz1 [a] [b];
// Entrando com os parâmetros da matriz
cout<<"Escreva o número de linhas da matriz."<<endl;
cin>>a;
cout<<"Escreva o número de colunas da matriz."<<endl;
cin>>b;
// Entrando com os dados da matriz
for(i=0;i<a;i++){
for(j=0;j<b;j++){
cout<<"Escreva o número da posicao linha "<<i<<" coluna "<<j<<"."<<endl;
cin>> matriz1[i][j];
}
}
// Saindo com os dados da matriz
for(i=0;i<a;i++){
for(j=0;j<b;j++){
cout<<"O número da posicao linha "<<i<<" coluna "<<j<<" é: ";
cout<< matriz1[i][j]<<endl;
}
}
// resposta da letra a - A soma dos elementos de cada linha
for(i=0;i<a;i++){
somalinha=0;
for(j=0;j<b;j++){
somalinha=somalinha+matriz1[i][j];
}
cout<<"A soma dos número posicao linha "<<i<<" é: "<<somalinha<<"."<<endl;
}
// resposta da letra b - A média dos elementos informados
for(i=0;i<a;i++){
for(j=0;j<b;j++){
somatotal=somatotal+matriz1[i][j];
}
}
cout<<"A soma de todos os elementos é "<<somatotal<<" e a media é "<<somatotal/(a*b)<<"."<<endl;
// resposta da letra c - A soma dos elementos da diagonal principal
for(i=0;i<a;i++){
for(j=0;j<b;j++){
if(i==j){
somadiagonal=somadiagonal+matriz1[i][j];
} // fechamento do if
}
}
cout<<"A soma dos elementos da diagonal da matriz é "<<somadiagonal<<"."<<endl;
// resposta da letra d - A quantidade de elementos múltiplos de 3
for(i=0;i<a;i++){
for(j=0;j<b;j++){
if(matriz1[i][j]%3==0){
multiplos3++;
} // fechamento do if
}
}
cout<<"A quantidade de elementos multiplos de 3 da matriz é "<<multiplos3<<"."<<endl;
// Encerrando o programa
system ("Pause");
while(sair==0){
cout << "Digite 1 para sair" << endl;
cin>> sair;
} // fechamento do while
return 0;
}
Lucas T R Freitas
segunda-feira, 30 de maio de 2016
Programação de computadores - 30 de Maio de 2016
Programação de computadores - 30 de Maio de 2016
# include <iostream>
# include <fstream>
using namespace std;
int vetpar[10];
int vetimpar[10];
void gravacao(){
// gravar 10 números em um arquivo externo
} fechamento do void gravação
void gravacao(){
// ler o arquivo externo e separar os 10 números em 2 vetores par e ímpar sem lixo
} fechamento do void gravação
void imprimir(){
// imprimir os dois vetores
} fechamento do void gravação
void maiorprimoimpar(){
// verificar qual o maior número ímpar no vetor ímpar
// verifcar se esse número é primo ou não
} fechamento do void gravação
void Media(){
// retornar a media dos números contidos no vetor par
} fechamento do void gravação
int main(){
gravacao();
leitura();
maiorprimoimpar();
media();
return 0;
} // fechamento do int main
int Somar(int x, int y){
int soma;
soma = (x+y)
return soma;
} // fechamento do int soma
int main (){
cout<<"Informe dois números<<endl;
cin>>n1;
cin>>n2;
resultado=Somar(n1,n2);
cout<<resultado<<endl;
return 0;
} // fechamento do int main
ofstream grava ("arq.txt");
cout<<"Informe 10 números"<<endl;
for(I=0;I<10;I++){
cin>>num;
grava<<num<<endl;
} // fechamento do for
grava.close();
Lucas T R Freitas
# include <iostream>
# include <fstream>
using namespace std;
int vetpar[10];
int vetimpar[10];
void gravacao(){
// gravar 10 números em um arquivo externo
} fechamento do void gravação
void gravacao(){
// ler o arquivo externo e separar os 10 números em 2 vetores par e ímpar sem lixo
} fechamento do void gravação
void imprimir(){
// imprimir os dois vetores
} fechamento do void gravação
void maiorprimoimpar(){
// verificar qual o maior número ímpar no vetor ímpar
// verifcar se esse número é primo ou não
} fechamento do void gravação
void Media(){
// retornar a media dos números contidos no vetor par
} fechamento do void gravação
int main(){
gravacao();
leitura();
maiorprimoimpar();
media();
return 0;
} // fechamento do int main
int Somar(int x, int y){
int soma;
soma = (x+y)
return soma;
} // fechamento do int soma
int main (){
cout<<"Informe dois números<<endl;
cin>>n1;
cin>>n2;
resultado=Somar(n1,n2);
cout<<resultado<<endl;
return 0;
} // fechamento do int main
ofstream grava ("arq.txt");
cout<<"Informe 10 números"<<endl;
for(I=0;I<10;I++){
cin>>num;
grava<<num<<endl;
} // fechamento do for
grava.close();
Lucas T R Freitas
quarta-feira, 25 de maio de 2016
Programação de computadores - 25 de Maio de 2016
Programação de computadores - 25 de Maio de 2016
Correção do exercício
a) ler 40 números para um arquivo
b) separar as notas em 2 vetores:
>=5,0
<5,0
c) imprimir as notas
d) quantidade de notas entre 4 e 5
e) Média das notas
Resposta:
#include <iostream>
#include <fstream>
using namespace std;
const int qtdNotas = 10;
float nota1[qtdNotas]; // Notas maiores ou iguais a 5
float nota2[qtdNotas]; // Notas menores que 5
int cont1=0, cont2=0;
void LeNotas(){
ofstream arqNotas("dados.txt");
for(int i=0;i<qtdNotas;i++){
float nota;
cout<<"Informe uma nota: ";
cin>>nota;
arqNotas<<nota<<endl;
} // fechamento do for
arqNotas.close();
} // fechamento do void
void SeparaNotas(){
ifstream arqNotas("dados.txt");
for(int i=0; i<qtdNotas;i++){
float nota=0;
arqNotas>>nota;
if(nota>=5.0){
nota1[cont1] = nota;
cont1++;
} // fechamento do if
else{
nota2[cont2] = nota;
cont2++;
} // fechamento do else
} // fechamento do for
arqNotas.close();
} // fechamento do void
void ImprimeNotas(){
cout<<"Notas maiores ou iguais a 5: ";
for(int i=0;i<cont1;i++){
cout<<nota1[i]<<",";
} // fechamento do for
cout<<endl;
cout<<"Notas menores que 5: ";
for(int i =0; i<cont2;i++){
cout<<nota2[i]<<", ";
} // fechamento do for
} // fechamento do void
int QtdNotasEsuplementar(){
int contNotasES=0;
for(int i=0;i<cont2;i++){
if(nota2[i]>=4.0 && nota2[i] < 5.0){
contNotasES++;
} // fechamento do if
} // fechamento do for
return contNotasES;
} // fechamento do void
float MediaV1() {
float soma=0;
for(int i=0; i<cont1;i++){
soma = soma+nota1[i];
} // fechamento do for
float media = soma/cont1;
return media;
} // fechamento do float
void MediaV2() {
float soma=0;
for(int i=0; i<cont1;i++){
soma = soma+nota1[i];
} // fechamento do for
float media = soma/cont1;
cout<<"Media: "<<media<<endl;
if(media>6){
cout<<"A media está acima de 6.0";
} // fechamento do if
else{
cout<<"A média está abaixo de 6.0";
} // fechamento do else
} // fechamento do float
int main(){
LeNotas();
SeparaNotas();
Imprime Notas();
int qtd = QtdNotasESuplementar();
cout<<"Quantidade para o exames suplementar: "<<qtd<<endl;
// versão 1 para o cálculo da média
float m = MediaV1();
if(m>=6){
cout<<"A média está acima de 6.0";
} // fechamento do if
else{
cout<<"A média está abaixo de 6.0";
} // fechamento do else
// versão 2 para o cálculo da média
MediaV2();
return 0;
} // fechamento do int main
Lucas T R Freitas
Correção do exercício
a) ler 40 números para um arquivo
b) separar as notas em 2 vetores:
>=5,0
<5,0
c) imprimir as notas
d) quantidade de notas entre 4 e 5
e) Média das notas
Resposta:
#include <iostream>
#include <fstream>
using namespace std;
const int qtdNotas = 10;
float nota1[qtdNotas]; // Notas maiores ou iguais a 5
float nota2[qtdNotas]; // Notas menores que 5
int cont1=0, cont2=0;
void LeNotas(){
ofstream arqNotas("dados.txt");
for(int i=0;i<qtdNotas;i++){
float nota;
cout<<"Informe uma nota: ";
cin>>nota;
arqNotas<<nota<<endl;
} // fechamento do for
arqNotas.close();
} // fechamento do void
void SeparaNotas(){
ifstream arqNotas("dados.txt");
for(int i=0; i<qtdNotas;i++){
float nota=0;
arqNotas>>nota;
if(nota>=5.0){
nota1[cont1] = nota;
cont1++;
} // fechamento do if
else{
nota2[cont2] = nota;
cont2++;
} // fechamento do else
} // fechamento do for
arqNotas.close();
} // fechamento do void
void ImprimeNotas(){
cout<<"Notas maiores ou iguais a 5: ";
for(int i=0;i<cont1;i++){
cout<<nota1[i]<<",";
} // fechamento do for
cout<<endl;
cout<<"Notas menores que 5: ";
for(int i =0; i<cont2;i++){
cout<<nota2[i]<<", ";
} // fechamento do for
} // fechamento do void
int QtdNotasEsuplementar(){
int contNotasES=0;
for(int i=0;i<cont2;i++){
if(nota2[i]>=4.0 && nota2[i] < 5.0){
contNotasES++;
} // fechamento do if
} // fechamento do for
return contNotasES;
} // fechamento do void
float MediaV1() {
float soma=0;
for(int i=0; i<cont1;i++){
soma = soma+nota1[i];
} // fechamento do for
float media = soma/cont1;
return media;
} // fechamento do float
void MediaV2() {
float soma=0;
for(int i=0; i<cont1;i++){
soma = soma+nota1[i];
} // fechamento do for
float media = soma/cont1;
cout<<"Media: "<<media<<endl;
if(media>6){
cout<<"A media está acima de 6.0";
} // fechamento do if
else{
cout<<"A média está abaixo de 6.0";
} // fechamento do else
} // fechamento do float
int main(){
LeNotas();
SeparaNotas();
Imprime Notas();
int qtd = QtdNotasESuplementar();
cout<<"Quantidade para o exames suplementar: "<<qtd<<endl;
// versão 1 para o cálculo da média
float m = MediaV1();
if(m>=6){
cout<<"A média está acima de 6.0";
} // fechamento do if
else{
cout<<"A média está abaixo de 6.0";
} // fechamento do else
// versão 2 para o cálculo da média
MediaV2();
return 0;
} // fechamento do int main
Lucas T R Freitas
segunda-feira, 23 de maio de 2016
Programação de Computadores - 23 de Maio de 2016
Programação de Computadores - 23 de Maio de 2016
Correção da professora:
int main(){
string des[10],busca;
float pcusto[10];
int tipo[10];
float pvenda[10];
int i, cont1, cont2;
float soma1,soma2;
float media1,media2;
float perc1,perc2;
cont1=0;
cont2=0;
soma1=0;
soma2=0;
media1=0;
media2=0;
// vetores entrada
cout>> "Informe a descrição, o preço de custo e o tipo 1 (perecível) ou 2 (não perecível");
for (i=0;i<10;i++){
cin>> des[i];
cin>>pcusto[i];
cin>>tipo[i];
} // fechamento do for
// calculando o preço de venda
for (i=0;i<10;i++){
if (tipo[i]==1){
pvenda[i]=((pcusto[i]*0.15)+pcusto[i]);
cout<<"O produto "<<des[i]<<" possui preço de venda igual a "<<pvenda[i]<<endl;
}// fechamento do if
else{
if (tipo[i]==2){
pvenda[i]=((pcusto[i]*0.20)+ pcusto[i])
cout<<"O produto "<<des[i]<<" possui preço de venda igual a "<< pvenda[i]<<endl;
} // fechamento do if
} // fechamento do else
} // fechamento do for
// media dos preços de venda
for (i=0;i<10;i++){
if (tipo[i]==1){
cont1=cont1+1;
soma1=soma1+(pvenda[i]);
} // fechamento do if
else{
if(tipo[i]==2){
cont2=cont2+1;
soma2=soma2+(pvenda[i]);
} // fechamento do if
} // fechamento do else
} // fechamento do for
media1=soma1/cont1;
media2=coma2/cont2;
cout<<"A média do tipo 1 é "<<media1<<endl;
cout<<"A média do tipo 2 é "<<media2<<endl;
// percentual por tipo
perc1=((cont1/10)*100);
perc2=((cont2/10)*100);
cout<<"O percentual do tipo 1 é: "<<perc1<<endl;
cout<<"O percentual do tipo 2 é: "<<perc2<<endl;
// busca por nome
cout<< "Informe o nome do produto."<<endl;
cin>>busca;
for(i=0;i<10;i++){
if (busca==des[i]){
cout<<pvenda[i];
} // fechamento do if
} // fechamento do for
// gravando no arquivo externo
ofstream grava("arq.txt");
for(i=0;i<10;i++){
if(pcusto[i]<=1000 && pcusto[i]<=2000){
grava<<pcusto[i]<<endl;
} // fechamento do if
} // fechamento do for
grava.close();
} // fechamento do int main
Exercício em sala:
Você foi convidado pelo professor de programação para ajudar no controle dos registros acadêmicos e para isso você deve fazer um programa em c++ (construindo uma função para cada item) que permita:
a) ler a nota de 40 alunos e gravá-los em um arquivo externo.
b) recuperar os dados do arquivo gravado inserindo em 2 vetores distintos, um primeiro contendo as notas maiores ou iguais a 5,0 e um segundo contendo as notas menores que 5,0.
c) Imprimir as notas armazenadas no primeiro vetor e as armazenadas no segundo vetor separadamente (sem "lixo").
d) Imprimir a quantidade de notas do segundo vetor que estão entre 4,0 e 5,0.
e) Imprimir uma mensagem dizendo a quantidade de notas do primeiro vetor que está acima ou abaixo de 6,0.
Lucas T R Freitas
Correção da professora:
int main(){
string des[10],busca;
float pcusto[10];
int tipo[10];
float pvenda[10];
int i, cont1, cont2;
float soma1,soma2;
float media1,media2;
float perc1,perc2;
cont1=0;
cont2=0;
soma1=0;
soma2=0;
media1=0;
media2=0;
// vetores entrada
cout>> "Informe a descrição, o preço de custo e o tipo 1 (perecível) ou 2 (não perecível");
for (i=0;i<10;i++){
cin>> des[i];
cin>>pcusto[i];
cin>>tipo[i];
} // fechamento do for
// calculando o preço de venda
for (i=0;i<10;i++){
if (tipo[i]==1){
pvenda[i]=((pcusto[i]*0.15)+pcusto[i]);
cout<<"O produto "<<des[i]<<" possui preço de venda igual a "<<pvenda[i]<<endl;
}// fechamento do if
else{
if (tipo[i]==2){
pvenda[i]=((pcusto[i]*0.20)+ pcusto[i])
cout<<"O produto "<<des[i]<<" possui preço de venda igual a "<< pvenda[i]<<endl;
} // fechamento do if
} // fechamento do else
} // fechamento do for
// media dos preços de venda
for (i=0;i<10;i++){
if (tipo[i]==1){
cont1=cont1+1;
soma1=soma1+(pvenda[i]);
} // fechamento do if
else{
if(tipo[i]==2){
cont2=cont2+1;
soma2=soma2+(pvenda[i]);
} // fechamento do if
} // fechamento do else
} // fechamento do for
media1=soma1/cont1;
media2=coma2/cont2;
cout<<"A média do tipo 1 é "<<media1<<endl;
cout<<"A média do tipo 2 é "<<media2<<endl;
// percentual por tipo
perc1=((cont1/10)*100);
perc2=((cont2/10)*100);
cout<<"O percentual do tipo 1 é: "<<perc1<<endl;
cout<<"O percentual do tipo 2 é: "<<perc2<<endl;
// busca por nome
cout<< "Informe o nome do produto."<<endl;
cin>>busca;
for(i=0;i<10;i++){
if (busca==des[i]){
cout<<pvenda[i];
} // fechamento do if
} // fechamento do for
// gravando no arquivo externo
ofstream grava("arq.txt");
for(i=0;i<10;i++){
if(pcusto[i]<=1000 && pcusto[i]<=2000){
grava<<pcusto[i]<<endl;
} // fechamento do if
} // fechamento do for
grava.close();
} // fechamento do int main
Exercício em sala:
Você foi convidado pelo professor de programação para ajudar no controle dos registros acadêmicos e para isso você deve fazer um programa em c++ (construindo uma função para cada item) que permita:
a) ler a nota de 40 alunos e gravá-los em um arquivo externo.
b) recuperar os dados do arquivo gravado inserindo em 2 vetores distintos, um primeiro contendo as notas maiores ou iguais a 5,0 e um segundo contendo as notas menores que 5,0.
c) Imprimir as notas armazenadas no primeiro vetor e as armazenadas no segundo vetor separadamente (sem "lixo").
d) Imprimir a quantidade de notas do segundo vetor que estão entre 4,0 e 5,0.
e) Imprimir uma mensagem dizendo a quantidade de notas do primeiro vetor que está acima ou abaixo de 6,0.
Lucas T R Freitas
quarta-feira, 18 de maio de 2016
Programação de Computadores - 18 de Maio de 2016
Programação de Computadores - 18 de Maio de 2016
Correção da professora:
# include <iostream>
# include <fstream>
using namespace std;
int main(){
int i;
int vet[10];
// transferindo os dados do arquivo para o vetor
ifstream lendo ("dados1.txt");
for (i=0;i<=10;i++){
lendo>>vet[i];
} // fechamento do for
lendo.close();
// gravando os números do vetor em ordem inversa no arquivo dados2.txt
ofstream grava ("dados2.txt")
for (i=9;i>=0;i--){
grava<<vet[i]<<endl;
} // fechamento do for
grava.close();
return 0;
}// fechamento do int main
Exercício
Faça um programa em c++ que leia em vetores a descrição, o preço de custo e o tipo de 10 produtos. Considere tipo "perecível" e "não perecível".
O algoritmo deverá calcular e retornar:
a) em um novo vetor o preço de venda de cada produto. Considere que produtos perecíveis devem possuir um lucro de 15% e não perecíveis 20%.
b) a média dos preços de venda dos produtos perecíveis e não perecíveis
c) o percentual de produtos perecíveis e não perecíveis
d) permitir que o usuário realize uma busca do produto por nome e retorne o preço de venda.
e) gravar em um arquivo externo o nome dos produtos com preços de custo entre R$ 1.000,00 e R$ 2.000,00.
Resposta minha
#include <iostream>
#include <fstream>
using namespace std
int main(){
//declarando os vetores
string descricao[10];
float precocusto[10];
string tipo[10];
float precovenda[10];
// declarando as variáveis
int i;
float media;
// recebendo os dados dos produtos
for (i=0;i<10;i++){
cout<<""Informe a descrição do produto "<<i<<"."<<endl;
cin>>descricao[i];
cout<<""Informe o preço de custo do produto "<<i<<"."<<endl;
cin>>precocusto[i];
cout<<""Informe o tipo (perecível ou não perecível) do produto "<<i<<"."<<endl;
cin>>tipo[i];
} // fechamento do for
// calculando o preço de venda - Resposta da letra A
for (i=0;i<10;i++){
if (tipo[i]="perecivel"){
precovenda[i]=precocusto[i]*1.15;
} // fechamento do if
else{
precovenda[i]=precocusto[i]*1.20;
} // fechamento do else
} // fechamento do for
// calculando a média dos preços - Resposta da letra B
for(i=0;i<10;i++){
if (tipo[i]="perecivel"){
precovenda[i]=precocusto[i]*1.15;
} // fechamento do if
else{
precovenda[i]=precocusto[i]*1.20;
} // fechamento do else
} // fechamento do for
}// fechamento do int main
Lucas T R Freitas
Faça um algoritmo
que realize a leitura de 10 números em um arquivo chamado
“dados1.txt”, armazene esses dados em um vetor, e, em seguida,
grave outro arquivo chamado “dados2.txt” com o valor do vetor em
ordem inversa.
Correção da professora:
# include <iostream>
# include <fstream>
using namespace std;
int main(){
int i;
int vet[10];
// transferindo os dados do arquivo para o vetor
ifstream lendo ("dados1.txt");
for (i=0;i<=10;i++){
lendo>>vet[i];
} // fechamento do for
lendo.close();
// gravando os números do vetor em ordem inversa no arquivo dados2.txt
ofstream grava ("dados2.txt")
for (i=9;i>=0;i--){
grava<<vet[i]<<endl;
} // fechamento do for
grava.close();
return 0;
}// fechamento do int main
Exercício
Faça um programa em c++ que leia em vetores a descrição, o preço de custo e o tipo de 10 produtos. Considere tipo "perecível" e "não perecível".
O algoritmo deverá calcular e retornar:
a) em um novo vetor o preço de venda de cada produto. Considere que produtos perecíveis devem possuir um lucro de 15% e não perecíveis 20%.
b) a média dos preços de venda dos produtos perecíveis e não perecíveis
c) o percentual de produtos perecíveis e não perecíveis
d) permitir que o usuário realize uma busca do produto por nome e retorne o preço de venda.
e) gravar em um arquivo externo o nome dos produtos com preços de custo entre R$ 1.000,00 e R$ 2.000,00.
Resposta minha
#include <iostream>
#include <fstream>
using namespace std
int main(){
//declarando os vetores
string descricao[10];
float precocusto[10];
string tipo[10];
float precovenda[10];
// declarando as variáveis
int i;
float media;
// recebendo os dados dos produtos
for (i=0;i<10;i++){
cout<<""Informe a descrição do produto "<<i<<"."<<endl;
cin>>descricao[i];
cout<<""Informe o preço de custo do produto "<<i<<"."<<endl;
cin>>precocusto[i];
cout<<""Informe o tipo (perecível ou não perecível) do produto "<<i<<"."<<endl;
cin>>tipo[i];
} // fechamento do for
// calculando o preço de venda - Resposta da letra A
for (i=0;i<10;i++){
if (tipo[i]="perecivel"){
precovenda[i]=precocusto[i]*1.15;
} // fechamento do if
else{
precovenda[i]=precocusto[i]*1.20;
} // fechamento do else
} // fechamento do for
// calculando a média dos preços - Resposta da letra B
for(i=0;i<10;i++){
if (tipo[i]="perecivel"){
precovenda[i]=precocusto[i]*1.15;
} // fechamento do if
else{
precovenda[i]=precocusto[i]*1.20;
} // fechamento do else
} // fechamento do for
}// fechamento do int main
Lucas T R Freitas
Assinar:
Postagens (Atom)