Resolucao Do Grupo 3
//UNIFEI - Universidade Federal de Itajubá - Campus Itabira.
//Nome: Icaro Megale, Luciana Pagliuso e Ricardo Henrique de Souza.
//Curso: Engenharia de Controle e Automacao, Engenharia de Producao e Engenharia da Computacao.
//Turma: T3
 
//Exercicio: 3.
 
#include<iostream>
using namespace std;
 
int main ()
{
    system("color F0"); //Mudanca de Visual: Cor de Fundo Branca e Letra Preta.
    system("title .:Manipulacao de Vetor:."); //Titulo do Programa: Manipulacao de Vetor
 
    //String de erro e do menu.
    string erro = "\n\n\tEntrada Invalida!\n\tInsira Novamente!\n\n",
           menu = "\n\n\t\t.:INSIRA A OPCAO DESEJADA:."
                  "\n\t1 - Alterar um Elemento do Vetor"
                  "\n\t2 - Localizar um Elemento do Vetor"
                  "\n\t3 - Mostrar Elementos do Vetor"
                  "\n\t4 - Sair\n\n::: ";
 
    //Variaveis
    int numero, aux, posicao, opcao_int, ajuda = 0, busca_flag;
    char busca, elemento_substituicao, opcao_char;
 
    //Usuario decidir a quantidade de Elementos do Vetor.
    cout << "Digite o tamanho do vetor:\n::: ";
    cin >> numero;
    while(numero <= 0) //Validacao da quantidade de elementos no vetor.
    {
        cout << erro << "\n::: ";
        cin >> numero;
    }
 
    char vetor[numero]; //Declaracao de variavel vetor.  
 
    //Atribuicao dos Elementos do Vetor pelo usuario.
    cout << "\n\nInsira os elementos do vetor:\n";
    aux = numero;
    for (numero = 0; numero < aux; numero ++)
    {
        cout << numero + 1 << "\xF8 Elemento = "; //O simbolo \xF8 = º 
        cin >> vetor[numero];
    }
    system("cls"); //Limpar tela para melhor visualizacao.
 
    //Sistema de Opcoes.
    do{
        cout << menu;
        cin >> opcao_int;
        while(opcao_int < 1 || opcao_int > 4) //Validacao da Opcao.
        {
            system("cls"); //Limpar Tela.         
            cout << erro << menu;
            cin >> opcao_int;
        }
    //-- 1 - Alterar um elemento.
        if (opcao_int == 1)
        {
            do{
               for(numero = 0; numero < aux; numero ++) //Mostrar a Posicao dos Elementos Para o Usuario.
                   cout << "\n" << numero + 1 << "\xF8 Elemento = " << vetor[numero];
 
               cout << "\n\nDigite a posicao desejada para alterar:\n::: ";
               cin >> posicao; //Decidir Posicao a ser Alterada.
               while (posicao > numero || posicao <= 0) //Validacao da Posicao.
               {
                   system("cls"); //Limpar Tela.
                   cout << erro; 
                   for(numero = 0; numero < aux; numero ++)
                       cout << "\n" << numero + 1 << "\xF8 Elemento = " << vetor[numero];
                   cout << "\n::: ";
                   cin >> posicao;
 
               }                              
               cout << "\n\nDigite o elemento ira substituir .: " << vetor[posicao - 1] << " :. :\n::: ";
               cin >> elemento_substituicao; //Digitar Elemento para Substituir.
               cout << "\n\n\nO elemento .: " << vetor[posicao - 1] << " :. passou a ser ";
               vetor[posicao - 1] = elemento_substituicao;
               cout << ".: " << vetor[posicao - 1] << " :."
                       "\n\nDeseja alterar outro elemento(s ou n):\n::: ";
               cin >> opcao_char; //Opcao se deseja ou nao alterar outro elemento.
               system("cls"); //Limpar Tela.
            }while (opcao_char == 's' || opcao_char == 'S');    
         }         
 
    //-- 2 - Procurar um elemento.
        else if (opcao_int == 2)
        {
            do{cout << "\n\nDigite o elemento a ser buscado:\n::: ";
                cin >> busca;
                busca_flag = 0; //Bandeira da busca, sinalizar se foi encontrada ou não certo elemento.
                for (numero = 0; numero < aux; numero ++)
                {
                    if (busca == vetor[numero])
                    {
                        cout << "\nO elemento .: " << busca << " :. contem no vetor.";
                        busca_flag = 1;
                    }
                }
                if (!busca_flag)
                    cout << "\nO elemento .: " << busca << ":. nao contem no vetor.";
                cout << "\n\nDeseja busca outro elemento(s ou n):\n::: ";
                cin >> opcao_char; //Opcao se de seja ou nao buscar outro elemento.
                system("cls"); //Limpar Tela.
            }while(opcao_char == 's' || opcao_char == 'S');
        }
 
    //-- 3 - Mostrar Elementos do Vetor.
        else if(opcao_int == 3)
        {
            system("cls"); //Limpar Tela.
            cout << "\n\n.:Elementos Contidos no Vetor:.";
            for (numero = 0; numero < aux; numero ++)
                 cout << "\n" << numero + 1 << "\xF8 Elemento = " << vetor[numero];
            cout << "\n\n\n";
        }
 
    //-- 4 - Sair.
        else
            cout << "\n\n\t\tAte Logo!";
    } while(opcao_int != 4);
 
    system("pause>null");
}


CORRECÃO PELO GRUPO:

Achamos o programa muito bom, atendeu a tudo e um pouco mais do que pedia no exercicio, tudo funcionou muito bem. Parabéns para o grupo, porém, apenas uma coisa mudariamos. Pra deixar melhor ainda na parte na hora que o usuario vai localizar o elemento do vetor, alem de dizer que possui aquele elemento, poderia dizer tambem em qual posicao ele se encontra.

Correção pela professora:

  • Faltou a instrução "return 0" ao final da função main();
  • Para alterar um elemento do vetor, o programa pede a posição do elemento, mas poderia ser realizado pedindo-se um elemento do vetor ao usuário;
  • Programa muito bem desenvolvido!
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License