Ordenar Nomes Strings em Linguagem C++

 

Foi pedido o seguinte programa:

Fazer um programa que receba 5 nomes. Depois, dê ao usuário a opção de pesquisar um nome e o programa exibe qual a posição do nome pesquisado em ordem alfabética.

Vamos ao Código:

#include <cstdlib>
#include <iostream>
#include <locale.h>

using namespace std;

int main(int argc, char *argv[])
{
    setlocale(LC_ALL, "Portuguese");
    system("Cls"); // Limpa a tela
    char nome[5][20];
    char aux[20];
    int i,j;
    
    // Entrada dos nomes
    for (i=1;i<=5;i++)
    {
        printf ("Nome: ");
        gets (nome[i]);
    }
    // Ordenar os nomes
    for (i=1;i<=4;i++)
    {
        for (j=i+1;j<=5;j++)
        {
            if (strcmp(nome[i],nome[j])>0)
            {
               strcpy(aux,nome[i]);
               strcpy(nome[i],nome[j]);
               strcpy(nome[j], aux); 
            }   
        }  
    }
    // Mostra os nomes ordenados  
    for (i=1;i<=5;i++)
    {
        printf("%s\n",nome[i]); 
    } 
    
    char pesquisa[20];
    int posicao;
    posicao = 0;
    
    printf("Digite o nome a ser pesquisado: ");
    gets (pesquisa);
    
    // Faz a pesquisa
    for (i=1;i<=5;i++)
    {
        if (strcmp(nome[i],pesquisa)==0)
        {
          posicao = i;                                
        } 
    }   
    
    printf ("O nome foi encontrado na posição %d.\n",posicao); 
    
    system("PAUSE");
    return EXIT_SUCCESS;
}

 

Qualquer dúvida entre em contato.

3 comentários:

  1. Olá Prof. Wellington, meu professor passou um trabalho pra AMANHÃ em que teremos que dar busca no menu, fazer cadastros, dar baixa em estoque e fazer relatórios. Estamos com uma dúvida imensa, pois não sabemos como colocar pra dar busca e usar muito bem vetores e criar arquivo.
    O enunciado é assim do trabalho:
    Construa um sistema de Venda de Produtos em que ocorra:
    1 - Um menu de opções
    2 - Um cadastro de Produtos
    3 - Um cadastro de Clientes
    4 - Um registro de vendas (dar baixa no estoque)
    5 - Um relatório de Vendas
    6 - Um relatório de Produtos em estoque
    7 - um relatório de Clientes cadastrados
    O sistema só terminará se o clientes escolher a opção ZERO do menu.
    O sistema deverá usar VETORES para armazenar os itens cadastrados.
    O sistema deverá ser entregue uma semana ANTES da AV2, compactado em uma pasta única.
    Precisamos muito da sua ajuda!! Obrigada!

    ResponderExcluir
    Respostas
    1. Se fosse em C, voce poderia usar lista estática.

      Excluir