Exercícios de Funções 03/09/2010

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Exercícios de Funções 03/09/2010

Mensagem  Renancr em Dom 5 Set 2010 - 15:24

1) Elabore um programa utilizando funções que resolva o problema a seguir:

Uma escola irá realizar sua olimpíada de matemática. Poderão participar da olimpíada os alunos que não possuírem falta na disciplina de matemática, bem como média superior a 7 na referida disciplina. Os alunos selecionados a participar serão divididos em categorias conforme a tabela a seguir:

IdadeSérieCategoria
10 a 12 anos5ª ou 6ªNível 1
13 ou 14 anos7ª ou 8ªNível 2

Aqueles que não se enquadrarem em nenhuma categoria deverão ser informados com a seguinte frase: "Você não se enquadra em nenhuma categoria - participe da prova seletiva"
Assim, o programa deve verificar e mostrar se o aluno pode participar da olimpíada e se puder participar deverá mostrar em que categoria irá competir.

Código:
#include <iostream>
#include <string.h>
using namespace std;

const int tam=10;
struct inscri
{
  int serie, idade, falta;
  char nome[50];
  float nota;
};

int menu();
void inscricao(int &ctl, inscri olimp[tam]);
void check(int ctl, inscri olimp[tam]);

void main()
{
  int op, ctl=0;
  inscri olimp[tam];
  do{
      op=menu();
      if(op == 1)
      {
        system("cls");
        inscricao(ctl, olimp);
        system("pause");
      }
      else
        if(op == 2)
        {
            system("cls");
            check(ctl, olimp);
            system("pause");
        }
  }while(op != 3);
}

int menu()
{
  int opc;
  do{
      system("cls");
      cout<< "=====================================================\n";
      cout<< "\t\tOlimpiada de matematica.\n";
      cout<< "=====================================================\n\n";
      cout<< "1- Inscrever-se.\n";
      cout<< "2- Checar quais alunos foram aprovados, e em quais categorias.\n";
      cout<< "3- Sair.\n";
      cout<< "\n=====================================================\n";
      cout<< "\tDigite a opcao desejada.\n\t";
      cin>> opc;
      if(opc < 1 || opc > 3)
      {
        system("cls");
        cout<< "Opcao invalida tente novamente.\n";
        system("pause");
      }
  }while(opc < 1 || opc > 3);
  return opc;
}

void inscricao(int &ctl, inscri olimp[tam])
{
   if(ctl < tam)
   {
      cout<< "Digite o nome do aluno:\t";
      fflush(stdin);
      gets_s(olimp[ctl].nome);
      cout<< "\nDigite a idade do aluno:\t";
      cin>> olimp[ctl].idade;
      cout<< "\nDigite a serie que o aluno esta cursando:\t";
      cin>> olimp[ctl].serie;
      cout<< "\nDigite a nota obitida na materia de matematica:\t";
      cin>> olimp[ctl].nota;
      cout<< "\nDigite a quantidade de faltas obitida na materia de matematica:\t";
      cin>> olimp[ctl].falta;
      ctl++;
   }
   else
   {
      cout<< "Numero maximo de alunos ja cadastrado.\n";
      system("cls");
   }
}

void check(int ctl, inscri olimp[tam])
{
  int nv1[tam], nv2[tam], selnv1[tam], selnv2[tam], i, nv_1=0, nv_2=0, selnv_1=0, selnv_2=0, chk, op;
  for(i=0; i<ctl; i++)
  {
      nv1[i]=tam+1;
      nv2[i]=tam+1;
      selnv1[i]=tam+1;
      selnv2[i]=tam+1;
  }
  do{
      cout<< "================================================================================\n";
      cout<< "Digite qual nivel ou prova seletiva a qual seja verificar os candidatos selecionados.\n";
      cout<< "================================================================================\n";
      cout<< "1- Checar candidatos aprovados para o Nivel 1.\n";
      cout<< "2- Checar candidatos aprovados para o Nivel 2.\n";
      cout<< "3- Checar candidatos para prova seletiva do Nivel 1.\n";
      cout<< "4- Checar candidatos para prova seletiva do Nivel 2.\n";
      cout<< "5- Sair\n";
      cout<< "=================================================================================\n";
      cout<< "Digite a opcao.\n";
      cin>> op;
      if(op<1 || op>5)
      {
        system("cls");
        cout<< "Opcao invalida tente novamente.\n";
        system("pause");
      }
  }while(op<1 || op >5);
  if(op == 1)
  {
      system("cls");
      for(i=0; i < ctl; i++)
      {
        if(olimp[i].serie == 5 || olimp[i].serie == 6)
            if(olimp[i].nota >= 7)
              if( olimp[i].falta == 0)
              {
                  nv1[nv_1]=i;
                  nv_1++;
              }
      }
      cout<< "=======================================================================\n";
      cout<< "\tAprovados para o Nivel 1, da olimpiada de matematica.\n";
      cout<< "=======================================================================\n";
      for(i=0; i < ctl; i++)
      {
        if(nv1[i] != tam+1)
        {
            chk=nv1[i];
            cout<< "=====================================================\n";
            cout<< "Nome:\t" << olimp[chk].nome << endl;
            cout<< "Idade:\t" << olimp[chk].idade << endl;
            cout<< "Serie:\t" << olimp[chk].serie << endl;
            cout<< "Nota:\t" << olimp[chk].nota << endl;
            cout<< "Faltas:\t" << olimp[chk].falta << endl;
         cout<< "=====================================================\n";
        }
      }
  }
  else
      if(op == 2)
      {
        system("cls");
        for(i=0; i < ctl; i++)
        {
            if(olimp[i].serie == 7 || olimp[ctl].serie == 8)
              if(olimp[i].nota >= 7)
                  if( olimp[i].falta == 0)
                  {
                    nv2[nv_2]=i;
                    nv_2++;
                  }
        }
        cout<< "=======================================================================\n";
        cout<< "\tAprovados para o Nivel 2, da olimpiada de matematica.\n";
        cout<< "=======================================================================\n";
        for(i=0; i < ctl; i++)
        {
            if(nv2[i] != tam+1)
            {
              chk=nv2[i];
              cout<< "=====================================================\n";
              cout<< "Nome:\t" << olimp[chk].nome << endl;
              cout<< "Idade:\t" << olimp[chk].idade << endl;
              cout<< "Serie:\t" << olimp[chk].serie << endl;
              cout<< "Nota:\t" << olimp[chk].nota << endl;
              cout<< "Faltas:\t" << olimp[chk].falta << endl;
           cout<< "=====================================================\n";
            }
        }
      }
      else
        if(op == 3)
        {
            system("cls");
            for(i=0; i < ctl; i++)
            {
              if(olimp[i].serie <= 6)
              if(olimp[i].falta != 0 || olimp[i].nota < 7)
                  {
                      selnv1[selnv_1]=i;
                      selnv_1++;
                  }
            }
            cout<< "=======================================================================\n";
            cout<< "\tProva seletiva para Nivel 1, da olimpiada de matematica.\n";
            cout<< "=======================================================================\n";
            for(i=0; i < ctl; i++)
            {
              if(selnv1[i] != tam+1)
              {
                  chk=selnv1[i];
                  cout<< "=====================================================\n";
                  cout<< "Nome:\t" << olimp[chk].nome << endl;
                  cout<< "Idade:\t" << olimp[chk].idade << endl;
                  cout<< "Serie:\t" << olimp[chk].serie << endl;
                  cout<< "Nota:\t" << olimp[chk].nota << endl;
                  cout<< "Faltas:\t" << olimp[chk].falta << endl;
              cout<< "=====================================================\n";
              }
            }
        }
        else
            if(op == 4)
            {
              system("cls");
              for(i=0; i < ctl; i++)
              {
                  if(olimp[i].serie == 7 || olimp[i].serie == 8)
                 if( olimp[i].falta != 0 || olimp[i].nota < 7)
                      {
                          selnv2[selnv_2]=i;
                          selnv_2++;
                      }
              }
              cout<< "=======================================================================\n";
              cout<< "\tProva seletiva para Nivel 2, da olimpiada de matematica.\n";
              cout<< "=======================================================================\n";
              for(i=0; i < ctl; i++)
              {
                  if(selnv2[i] != tam+1)
                  {
                    chk=selnv2[i];
                    cout<< "=====================================================\n";
                    cout<< "Nome:\t" << olimp[chk].nome << endl;
                    cout<< "Idade:\t" << olimp[chk].idade << endl;
                    cout<< "Serie:\t" << olimp[chk].serie << endl;
                    cout<< "Nota:\t" << olimp[chk].nota << endl;
                    cout<< "Faltas:\t" << olimp[chk].falta << endl;
                cout<< "=====================================================\n";
                  }
              }
            }
}
avatar
Renancr

Mensagens : 118
Data de inscrição : 08/03/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Exercícios de Funções 03/09/2010

Mensagem  Renancr em Qua 8 Set 2010 - 21:26

2) Elabore um programa utilizando funções que efetue a entrada de dados inteiros em uma matriz de 5 linhas por 7 colunas.
O programa deverá buscar por um valor solicitado pelo usuário e caso o valor exista na matriz, mostre os índices de linha e de coluna em que o elemento se encontra, caso não exista o elemento na matriz emita uma mensagem ao usuário. O programa deverá ter as seguintes funções:
- main;
- Entrada de dados na matriz;
- Busca pelo elemento.
As mensagens referentes a encontrar ou não o elemento devem ser emitidas na função main.

Código:
#include <iostream>
using namespace std;

const int linha=5;
const int coluna=7;

int menu();
void entradado(int vetor[linha][coluna]);
void busca(int vetor[linha][coluna]);

void main()
{
  int op, vetor[linha][coluna];
  do{
      op=menu();
      if(op == 1)
      {
        system("cls");
        entradado(vetor);
        system("pause");
      }
      else
        if(op == 2)
        {
            system("cls");
            busca(vetor);
            system("pause");
        }
  }while(op != 3);
}

int menu()
{
  int op;
  do{
      system("cls");
      cout<< "===============================================\n";
      cout<< "\t1- Entrar com valores na matriz.\n";
      cout<< "\t2- Buscar valor.\n";
      cout<< "\t3- Sair.\n";
      cout<< "===============================================\n";
      cout<< "\n\tDigite a opcao desejada.\n\t";
      cin>> op;
      if(op < 1 || op > 3)
      {
        system("cls");
        cout<< "Opcao invalida.\n";
        system("pause");
      }
  }while(op < 1 || op > 3);
  return op;
}

void entradado(int vetor[linha][coluna])
{
   int l, c;
   system("cls");
   for(l=0; l < linha; l++)
      for(c=0; c < coluna; c++)
      {
         cout<< "Digite o valor na linha " << l+1 << " coluna " << c+1 << ":\t";
         cin>> vetor[l][c];
      }
}

void busca(int vetor[linha][coluna])
{
   int l, c, chk, cont=0;
   system("cls");
   cout<< "Digite o valor para procuralo na matriz:\t";
   cin>> chk;
   cout<< "\n\n";
   for(l=0; l < linha; l++)
      for(c=0; c < coluna; c++)
         if(vetor[l][c] == chk)
         {
            cout<< "O valor " << chk << " foi encontrado na linha " << l+1 << " coluna " << c+1 << endl;
            cont++;
         }
   if(cont == 0)
      cout<< "O valor " << chk << " nao foi encontrado na matriz.\n";
}
avatar
Renancr

Mensagens : 118
Data de inscrição : 08/03/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Exercícios de Funções 03/09/2010

Mensagem  Renancr em Qui 9 Set 2010 - 11:15

3) Elabore um programa para calcular áreas de figuras planas que constam no seguinte menu de opções que será disponibilizado ao usuário:

Programa para calculo de áreas
1 - Area de um quadrado
2 - Area de um triangulo
3 - Area de um trapezio
4 - Area de um retangulo
5 - Area de um paralelogramo
6 - Area de um losango
7 - Sair

As fórmulas para os respectivos cálculos são:

Quadrado: área = lado*lado;

Triângulo: área = (base*altura)/2

Trapézio: área = [(Base maior + base menor) * altura]/2

Retângulo: área = lado maior*lado menor

Paralelogramo: área = base *altura

Losango: área = (Diagonal maior * diagonal menor)/2

Observação: Na solução deste exercício, a impressão das áreas devem ser feitas na função main.

Código:
#include <iostream>
using namespace std;

int menu();
float arquad(float lado);
float artri(float altura, float base);
float artrap(float base, float base2, float altura);
float arret(float lado,float lado2);
float arplg(float base, float altura);
float arlog(float dmaior, float dmenor);

void main()
{
  int op;
  float result, x1, x2, altura;
  do{
      op=menu();
      if(op == 1)
      {
        system("cls");
       cout<< "Digite o tamanho lado do quadrado.\n";
       cin>> x1;
        result=arquad(x1);
        system("cls");
       cout<< "========================================================\n";
        cout<< "\tA area do quadaro e: " << result << endl;
       cout<< "========================================================\n";
        system("pause");
      }
      else
        if(op == 2)
        {
            system("cls");
         cout<< "Digite a altuta do triangulo.\n";
         cin>> altura;
         cout<< "Digite a base do triangulo.\n";
         cin>> x1;
            result=artri(altura, x1);
            system("cls");
         cout<< "========================================================\n";
            cout<< "\tA area do triangulo e: " << result << endl;
         cout<< "========================================================\n";
            system("pause");
        }
        else
            if(op == 3)
            {
              system("cls");
           cout<< "Digite a base maior do trapesio.\n";
           cin>> x1;
           do{
              cout<< "Digite a base menor do trapesio.\n";
              cin>> x2;
              if(x2 >= x1)
              {
                 system("cls");
                 cout<< "O valor digitado " << x2 << " nao pode ser maior ou igual a " << x1 << endl;
                 system("pause");
              }
           }while(x2 >= x1);
           cout<< "Digite a altura do trapesio.\n";
           cin>> altura;
              result=artrap(x1, x2, altura);
              system("cls");
           cout<< "========================================================\n";
              cout<< "\tA area do trapesio e: " << result << endl;
           cout<< "========================================================\n";
              system("pause");
            }
            else
              if(op == 4)
              {
                  system("cls");
              cout<< "Digite o lado maior do retangulo.\n";
              cin>> x1;
              do{
                 cout<< "Digite o lado menor do retangulo.\n";
                 cin>> x2;
                 if(x2 >= x1)
                 {
                    system("cls");
                    cout<< "O valor digitado " << x2 << " nao pode ser maior ou igual a " << x1 << endl;
                    system("pause");
                 }
              }while(x2 >= x1);
                  result=arret(x1, x2);
                  system("cls");
              cout<< "========================================================\n";
                  cout<< "\tA area do retangulo e: " << result << endl;
              cout<< "========================================================\n";
                  system("pause");
              }
              else
                  if(op == 5)
                  {
                    system("cls");
                cout<< "Digite a base do paralelogramo.\n";
                cin>> x1;
                cout<< "Digite a altura do paralelogramo.\n";
                cin>> altura;
                    result=arplg(x1, altura);
                    system("cls");
                cout<< "========================================================\n";
                    cout<< "\tA area do paralelogramo e: " << result << endl;
                cout<< "========================================================\n";
                    system("pause");
                  }
                  else
                    if(op == 6)
                    {
                        system("cls");
                  cout<< "Digite a diagonal maior do losango.\n";
                  cin>> x1;
                  do{
                     cout<< "Digite a diagonal menor do losango.\n";
                     cin>> x2;
                     if(x2 >= x1)
                     {
                        system("cls");
                        cout<< "O valor digitado " << x2 << " nao pode ser maior ou igual a " << x1 << endl;
                        system("pause");
                     }
                  }while(x2 >= x1);
                        result=arlog(x1, x2);
                        system("cls");
                  cout<< "========================================================\n";
                        cout<< "\tA area do losango e: " << result << endl;
                  cout<< "========================================================\n";
                        system("pause");
                    }
  }while(op!=7);
}

int menu()
{
  int op;
  do{
      system("cls");
      cout<< "====================================================\n";
      cout<< "\tCalculo de Area\n";
      cout<< "====================================================\n";
      cout<< "\t1 - Area de um quadrado\n";
      cout<< "\t2 - Area de um triangulo\n";
      cout<< "\t3 - Area de um trapezio\n";
      cout<< "\t4 - Area de um retangulo\n";
      cout<< "\t5 - Area de um paralelogramo\n";
      cout<< "\t6 - Area de um losango\n";
      cout<< "\t7 - Sair\n";
      cout<< "====================================================\n";
      cout<< "\n\tDigite a opcao\n\t";
      cin>> op;
      if(op < 1 || op > 7)
      {
        system("cls");
        cout<< "Opcao invalida\n";
        system("pause");
      }
  }while(op < 1 || op > 7);
  return op;
}

float arquad(float lado)
{
   float result;
   result = lado*lado;
   return result;
}
float artri(float altura, float base)
{
  float result;
  result= (altura * base)/2;
  return result;
}
float artrap(float base, float base2, float altura)
{
  float result;
  result = (base + base2)* altura / 2;
  return result;
}
float arret(float lado,float lado2)
{
  float result;
  result = lado * lado2;
  return result;
}
float arplg(float base, float altura)
{
  float result;
  result= base * altura;
  return result;
}
float arlog(float dmaior, float dmenor)
{
  float result;
  result= (dmaior * dmenor) / 2;
  return result;
}
avatar
Renancr

Mensagens : 118
Data de inscrição : 08/03/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Exercícios de Funções 03/09/2010

Mensagem  Renancr em Qua 22 Set 2010 - 0:10

4) Supondo um vetor de 10 posições elaborar um programa utilizando funções que efetue a entrada de dados (elementos do tipo inteiro) neste vetor e faça as seguintes operações do menu a seguir:

Programa para verificação de elementos de vetor

1 - Quantidade de números pares inserindos no vetor
2 - Quantidade de números ímapres inseridos no vetor
3 - Sair
avatar
Renancr

Mensagens : 118
Data de inscrição : 08/03/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Função de busca de numeros impares e pares

Mensagem  Renancr em Sex 19 Nov 2010 - 21:09

Código:
#include <iostream>
using namespace std;

const int tam =10;

int menu();
void insere(int vetor[tam]);
void buscapar(int vetor[tam]);
void buscaimpar(int vetor[tam]);

void main()
{
   int op, numeros[tam];

   insere(numeros);
   do{
      op=menu();
      if(op == 1)
      {
         buscapar(numeros);
      }
      else
         if(op == 2)
         {
            buscaimpar(numeros);
         }
   }while(op != 3);
}

int menu()
{
   int op;
   do{
      system("cls");
      cout<< "================================================\n";
      cout<< "\t1- Quantidade de numeros pares.\n";   
      cout<< "\t2- Quantidade de numeros impares.\n";
      cout<< "\t3- Sair\n";
      cout<< "================================================\n\n";
      cout<< "\n\tDigite a opcao desejada\n\t";
      cin>> op;
      if(op < 1 || op > 3)
      {
         system("cls");
         cout<< "\n\tOpcao digitada invalida.\n\n\n";
         system("pause");
      }
   }while(op < 1 || op > 3);
   return op;
}
void insere(int vetor[tam])
{
   int i;
   for(i=0; i<tam; i++)
   {
      system("cls");
      cout<< "\tDigite o " << i+1 << " numero\n\t";
      cin>> vetor[i];
   }
}

void buscapar(int vetor[tam])
{
   int cont=0, i;
   system("cls");
   for(i=0; i<tam; i++)

   {
      if(vetor[i]%2 == 0)
      {
         cont++;
         cout<< vetor[i] << " ";
      }
   }
   cout<< "\n\n";
   if(cont > 0)
      cout<< "Foram emcontrados " << cont << " numeros pares.\n\n";
   else
      cout<< "Nao foram encontrados nem um numero par.\n\n";
   system("pause");
}

void buscaimpar(int vetor[tam])
{
   int cont=0, i;
   system("cls");
   for(i=0; i<tam; i++)

   {
      if(vetor[i]%2 != 0)
      {
         cont++;
         cout<< vetor[i] << " ";
      }
   }
   cout<< "\n\n";
   if(cont > 0)
      cout<< "Foram emcontrados " << cont << " numeros impares.\n\n";
   else
      cout<< "Nao foram encontrados nem um numero impar.\n\n";
   system("pause");
}
avatar
Renancr

Mensagens : 118
Data de inscrição : 08/03/2010

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Exercícios de Funções 03/09/2010

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum