Galera queria digitar um codigo e ele for referente a um produto em um sistema de mercado como posso fazer isso ?

#include <stdio.h>
#include <stdlib.h>

float sub (float sub,float sub1);
float totaliza (float total , float total2);
void messagens ();
void menus();


int main()
{

    typedef struct produto
    {
        char nome [101];
        double valor;
    } Produto;
    int max = 100;
    Produto produto[max];
    int qtd = 0;
    int x = 0;
    int menu;
    int menuEntrada;
    int vai;
    double total = 0;
    int um = 1;
    int dois = 2;
    int umdois;
    float dinheiro = 0;
    float troco = 0;
    int usuario;
    float totalzao;

    do
    {
        menus();

        printf("\nDigite uma opcao ");
        scanf("%i",&menuEntrada);

        system("cls");
        switch (menuEntrada)
        {
        case 0:
            system("cls");
            break;
        case 1 :
            do
            {
                messagens();

                printf("\nDigite uma opcao ");
                scanf("%i",&menu);

                system("cls");
                switch (menu)
                {
                case 0:
                    system("cls");
                    break;
                case 1:
                    printf("================== Adicionar Produto ================");
                    printf("\n");
                    printf("\nAdicionar");
                    printf("\nEntre com nome do produto: ");
                    scanf("%100s",&produto[qtd].nome);
                    do
                    {
                        printf("Entre com o valor: ");
                        scanf("%lf", &produto[qtd].valor);
                        if (produto[qtd].valor < 0)
                        {
                            printf("Numero invalido\n");
                        }
                    }
                    while (produto[qtd].valor < 0);
                    qtd++;
                    printf("\nProduto\t\t\t\t\t|Valor\n");
                    for(x=0; x<qtd; x++)
                    {
                        printf("\n%s\t\t\t\t\t|%.2lf\n",produto[x].nome,produto[x].valor);

                    }
                    printf("\nOperador do Caixa: %i",usuario);

                    vai = getchar();
                    getchar();
                    system("cls");
                    break;


                case 2:
                    printf("================== Remover Lista ================");
                    printf("\nUltimo Produto\nRemovido com sucesso\n");
                    qtd--;
                     printf("\nOperador do Caixa: %i",usuario);
                    vai = getchar();
                    getchar();
                    system("cls");
                    break;



                case 3:
                    printf("================== Pagamento  ================");
                    printf("\n");
                    printf("\nProduto\t\t\t\t\t|Valor\n");
                    for(x=0; x<qtd; x++)
                    {
                        printf("\n%s\t\t\t\t\t|%.2lf",produto[x].nome,produto[x].valor);
                    }
                    for (x= 0; x<qtd; x++)
                    {
                        total= total + produto[x].valor;

                    }
                    printf("\n");
                    printf("\nValor Total da Compra      \t\t%.2lf\n",total);
                    printf("\nEntre com Dinheiro ");
                    scanf("%f",&dinheiro);
                    printf("\nOperador do Caixa: %i",usuario);
                    troco = sub(dinheiro,total);
                    printf("                                   Troco %.2f\n",troco);



                    printf("\n            Deseja Pagar a conta \n");
                    printf("\n            1=sim            2=Nao\n");
                    printf("\nEscolha um Opcao ");
                    scanf("%i",&umdois);
                    if (umdois == um)
                    {
                        printf("                    Sua conta foi paga com sucesso !\n\n");
                        printf("                             Volte Sempre !!!\n");

                    }
                    else if ( umdois == dois)
                    {
                        printf("\nAperte Enter para voltar ao Menu Principal\n");

                    }
                    else
                    {

                    }
                    vai = getchar();
                    getchar();
                    system("cls");
                    break;



                }

            }








            while (menu != 0);
        case 5:
            system("cls");
            break;
        case 2:
            printf("================== OPERADOR ====================\n");
            printf("\n Entre com codigo do operador: ");
            scanf("%i",&usuario);
            printf("\n");
            printf("=============================================\n");
            getchar();
            vai = getchar();
            system("cls");
            break;

        case 3:
            printf("================== FECHAMENTO ====================\n");
            totalzao = totaliza( total , totalzao);
            printf("\nFechamento diario do mercado: %.2lf", totalzao);
            printf("\n\n=============================================\n");
           vai = getchar();
                    getchar();
                    system("cls");
                    break;

        }

    }
    while (menuEntrada != 0);



    return 0;
}

void menus ()
{
    printf("================== CAIXA ====================\n");
    printf(" \n  =    0 - Sair                             =\n");
    printf("  =    1 - Abrir Caixa                      =\n");
    printf("  =    2 - Codigo do Vendedor               =\n");
    printf("  =    3 - Caixa Total                      =\n");
    printf("\n=============================================");

}

void messagens ()
{
    printf("================== CAIXA ====================\n");
    printf(" \n  =    0 - Sair                             =\n");
    printf("  =    1 - Adicionar Produtos               =\n");
    printf("  =    2 - Remover Produtos                 =\n");
    printf("  =    3 - Efetuar Pagamento                =\n");
    printf("\n=============================================");

}


float sub (float sub,float sub1)
{
    float resultsb = sub - sub1;
    return resultsb;
}
float totaliza (float total , float total2){
float resultadoss = total + total2;
return resultadoss;
}

qual a sua duvida?

Quero digitar um codigo e apareceu o nome do produto na.lisra de itens do caixa inves de ficar adiciinando por nome todos os produtos