Ir para conteúdo
Fórum Script Brasil

brunoandrad

Membros
  • Total de itens

    30
  • Registro em

  • Última visita

Posts postados por brunoandrad

  1. Consegui fazer o código para fazer os cálculos, meu problema esta em como imprimir o resultado de acordo como  o enunciado pede.

    Só consigo imprimir na hora que eu faço o calculo... 

     

    Uma garagem de estacionamento cobra $2,00 de taxa mínima para estacionar até três horas. A garagem cobra um adicional de $0,50 por hora ou fração caso sejam excedidas as três horas. A taxa máxima para qualquer período determinado de 24 horas é $10,00. Admita que nenhum carro fique estacionado por mais de 24 horas. Escreva um programa que calcule e imprima as taxas de estacionamento para três clientes que estacionaram ontem seus carros nessa garagem. Você deve fornecer as horas que cada cliente ficou estacionado. Seu programa deve imprimir os resultados organizados em um formato de tabela e deve calcular e imprimir o total recebido no dia de ontem. O programa deve usar a função calcula-Taxas para determinar o valor a ser cobrado de cada cliente. A saída de seu programa deve ter o seguinte formato:

    Carro Horas Taxa
    1         1.5     2.00
    2         4.0      2.50
    3        24.0    10.00
    TOTAL 29.5 14.50

     

    O código que eu fiz:

    #include <stdio.h>
    #include <stdlib.h>
    
    int calcula_Taxas(float);
    
    int main()
    {
        int car=1;
        float horas;
        float taxa_total;
    
    
        printf("Bem vindo ao programa Garagem!! \n\n\n");
    
        for (car=1; car<=3; car++){
    
            printf("\n\nDigite o numero de horas para o carro %d: ", car);
            scanf("%f", &horas);
    
            calcula_Taxas(horas);
        }
    
        printf("\n\nTaxa Total: %f", taxa_total);
    
        return 0;
    }
    
    int calcula_Taxas(float x){
        float taxa=2;
        float taxa_total=0;
    
            if (x<=3)
                taxa=2;
            if (x>=24)
                taxa=10;
            if ((x>=3) && (x<24))
                    taxa+=(x-3)*0.5;
            taxa_total+=taxa;
            printf("\n\n Horas: %f - Taxa: %f\n",x,taxa);
            return taxa_total;
    
    }
    

     

    O que eu tenho que alterar ou adicionar para conseguir imprimir os resultados consolidados igual o enunciado pede?

  2. Ola amigo, segue um código que eu tenho de criptografia, esta em C ao invés de C++, mas acredito que sirva para te dar uma ideia de como fazer:

     

    #include <iostream>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    // Configuracao da chave para criptografia
    char CHAVE[500];
    int TAM_CHAVE = strlen(CHAVE);
    
    bool set_chave(char chave[]){
        if(strlen(chave)<500){
            strcpy(CHAVE,chave);
            TAM_CHAVE = strlen(CHAVE);
            return true;
        }else{
        return false;
        }
    
    }
    //---------------------------//
    
    // Vetor de entrada do texto a ser criptografado:
    
    char TEXTO[10000];
    int TAM_TEXTO = 10000;
    
    
    //----------------------------------------------
    
    int TEXTO_CRIPT[10000];
    
    
    bool Criptografar(){
        int aux = 0;
        int CHAVE_int;
        int pos_texto;
    
        for (int i=0; i < strlen(TEXTO); i++){
            TEXTO_CRIPT[i] = TEXTO[i];
        }
    
        printf("\n -- %d\n",TEXTO_CRIPT[0]);
    
        for (aux=0; aux<strlen(TEXTO); ){
            for (int i=0; i<TAM_CHAVE; i++){
             TEXTO_CRIPT[aux] *= CHAVE[i]; // Também pode ser:  TEXTO_CRIPT[aux] = TEXTO_CRIPT[aux] * CHAVE[i];
            aux++;
            }
        }
        printf("\n -- %d\n",TEXTO_CRIPT[0]);
        return true;
    }
    
    bool Descriptografar(){
        FILE *arquivo;
        int valor;
        int pos_chave;
        int pos_texto;
    
        arquivo = fopen("c:\\cript\\arquivos_recebidos\\criptografado.txt","r");
    
        if(arquivo==NULL){
            return false;
        }
        pos_chave = 0;
        pos_texto = 0;
    
        while(!feof(arquivo)){
            fscanf(arquivo,"%d",&valor);
    
            valor /= CHAVE[pos_chave];
    
            TEXTO[pos_texto] =(char)valor;
            pos_texto++;
    
            if(pos_chave==TAM_CHAVE-1){
                pos_chave = 0;
            }else{
                pos_chave++;}
        }
        fclose(arquivo);
        return true;
    }
    
    // ------------- Menus ---------------//
    
    void Recebe_texto(char tipo[]){
        char aux[TAM_TEXTO];
        char pause;
        bool ok;
    
        FILE *arquivo;
        char palavra[100];
    
        if(strcmp(tipo,"msg")==0){
            printf("\n\nReceber Texto para criptografar\n\n");
            printf("\n\nDigite o texto: ");
            gets(aux);
    
            if(strlen(aux) <= TAM_TEXTO){
                strcpy(TEXTO,aux);
                 printf("\n\nTexto recebido com sucesso\n\n");
                 printf("\n\nCriptografando texto...\n\n");
    
                ok = true;
            }else{
                 printf("\n\nErro!\n Tamanho do texto excede o limite de caracteres\n\n");
                 ok = false;
                  system("pause");
                }
    
    
        }else if(strcmp(tipo,"arquivo")==0){
            printf("\n\tInstrucoes para importar um arquivo texto");
            printf("\n\n 1 - Renomeio o arquivo para original.txt");
            printf("\n\n 2 - Copie o arquivo para a pasta que sera aberta a seguir)");
            printf("\n\n 3 - Feche o explorador e retorne a aplicacao");
    
              printf("\n\n Pressione enter para abrir a pasta");
    
    
            scanf("%c", &pause);
            setbuf(stdin,NULL);
    
            system("explorer c:\\Cript\\arquivos_originais\\");
            printf("\n\n Pressione enter apos colar o arquivo na pasta...\n");
            scanf("%c", &pause);
            setbuf(stdin,NULL);
            printf("\n\n Importanto arquivo...\n\n");
    
            arquivo = fopen("c:\\Cript\\arquivos_originais\\original.txt","r");
            if(arquivo==NULL){
                printf("\n\n Erro ao abrir o arquivo..\n\n");
            }else{
                while(!feof(arquivo)){
                    fscanf(arquivo,"%s",palavra);
                    strcat(aux," ");
                    strcat(aux,palavra);
                }
            fclose(arquivo);
            if(strlen(aux) <= TAM_TEXTO){
                strcpy(TEXTO,aux);
                printf("\n\nTexto recebido com sucesso\n\n");
                printf("\n\nCriptografando texto...\n\n");
    
                ok = true;
            }else{
                 printf("\n\nErro!\n Tamanho do texto excedo o limite de caracteres\n\n");
                 ok = false;
                 system("pause");
                }
            }
    
        }else{
            printf("\n\nErro ao receber texto\n\n");
        }
    
        if(ok){
            if(Criptografar()){
                printf("\n\nTexto criptografado com sucesso\n\n");
    
                arquivo = fopen("c:\\cript\\arquivos_gerados\\criptografado.txt","wt");
            if(arquivo==NULL){
                printf("\n\n Erro ao criar o arquivo..\n\n");
            }else{
                for (int i=0; i<strlen(TEXTO); i++){
                    fprintf(arquivo,"%d ",TEXTO_CRIPT[i]);
                    }
                }
                fclose(arquivo);
    
                printf("\n\nPressioner enter para abrir a pasta do arquivo gerado \n\n");
                scanf("%c", &pause);
                setbuf(stdin, NULL);
                system("explorer c:\\cript\\arquivos_gerados\\");
            }else{
                 printf("\n\nNao foi possivel criptografar o texto\n\n");
            }
    
        }
    }
    
    void Receber_Arquivo_cript(){
            char pause;
            printf("\n\tInstrucoes para importar um arquivo criptografado");
            printf("\n\n 1 - Renomeie o arquivo para criptografado, mantendo sua extensao original");
            printf("\n\n 2 - Copie o arquivo para a pasta que sera aberta a seguir)");
            printf("\n\n 3 - Feche o explorador e retorne a aplicacao");
    
            printf("\n\n Pressione enter para abrir a pasta");
    
            scanf("%c", &pause);
            setbuf(stdin,NULL);
    
            system("explorer c:\\Cript\\arquivos_recebidos\\");
            printf("\n\n Pressione enter apos colar o arquivo na pasta...\n");
            scanf("%c", &pause);
            setbuf(stdin,NULL);
            printf("\n\n Importanto arquivo...\n\n");
    
        if(Descriptografar()){
            printf("\n Arquivo descriptografado com sucesso\n");
            system("pause");
            system("cls");
            printf("\n%s\n\n",TEXTO);
            system("pause");
        }else{
         printf("\n Nao foi possivel descriptografar o arquivo\n");}
    }
    
    void Menu_Criptografar(){
        int opcao;
        printf("\n\tCriptografia de dados");
        printf("\n\nCriptografar texto ou arquivo");
        printf("\n\n 1 - Digitar texto");
        printf("\n\n 2 - Importar arquivo (txt)");
        printf("\n\n 3 - Voltar ao menu princiapl");
        printf("\n\n Informe a opcao desejada: ");
        scanf("%d", &opcao);
        setbuf(stdin, NULL);
        switch(opcao){
            case 1:
               system("cls");
               Recebe_texto("msg");
                break;
            case 2:
                system("cls");
                Recebe_texto("arquivo");
                break;
            case 3:
                break;
            default:
                printf("Opcao invalida! Tente novamente...");
        }
    }
    
    
    
    
    
    void Menu(){
        char chave[500];
        int opcao;
        while(1){ // while 1(um) é igual a infinito
            system("cls");
            printf("\n\tCriptografia de dados");
            printf("\n\n 1 - Criptografar Texto");
            printf("\n\n 2 - Receber arquivo");
            printf("\n\n 3 - Configurar Chave");
            printf("\n\n 4 - Sair");
            printf("\n\n Informe a opcao desejada: ");
            scanf("%d", &opcao);
            setbuf(stdin, NULL);
            switch(opcao){
            case 1:
               system("cls");
               Menu_Criptografar();
                break;
            case 2:
                system("cls");
                Receber_Arquivo_cript();
                break;
            case 3:
                system("cls");
                printf("\n\nInforme a chave: ");
                gets(chave);
                if(set_chave(chave)){
                    printf("\n\n Chave modificada com sucesso!\n");
                }else{
                    printf("\n\n Chave não pode ser modificada!\n");
                }
                system("pause");
                break;
            case 4:
                printf("\nFinalizando... \n\n");
                system("pause");
                exit(0);
                break;
            default:
                printf("Opcao invalida! Tente novamente...");
            }
    
        }
    
    
    }
    
    // -----------------------------------------------
    
    int main()
    {
        set_chave("AbCd");
        Menu();
        system("pause");
        return 0;
    }
    

     

  3. Pessoal, sofri para conseguir fazer o programa abaixo, mas gostaria de saber se minha lógica esta correta ou se há um modo mais 'limpo, direto' ou simples de se fazer.

     

    Escreva um programa que imprima o seguinte losango.

        *
       ***
      *****
     *******
    *********
     *******
      *****
       ***
        *

     

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
    
        int i, tam, espaco, asterisco, x, y, metade;
    
            asterisco=1;
            espaco=tam=10;
            metade=tam/2;
    
        printf("Bem vindo ao losango\n\n\n");
    
        for (x=0; x<metade; x++){ //Começa a parte superior
    
            for (i=1; i<=espaco; i++) // Da espaco para alinhamento do losango, a cada vez reduz um espaco
                printf(" ");
    
            espaco--; //Decrementa o espaco
    
            for (y=0;y<asterisco;y++) //Imprime o losango
                 printf("*");
    
                    printf("\n"); // Pula linha
                    asterisco+=2; // Adiciona 2 * para cada linha que for impressa
    }
        // Atualiza
            asterisco-=2;
            espaco++;
    
        // Começa a imprimir a parte inferior
    
        for (x=0; x<metade; x++){
    
            asterisco-=2; // Reduz 2 * para cada linha do losangulo
            espaco++; // Aumenta o espaço para proxima linha
    
            for (i=0; i<espaco;i++)
                    printf(" ");
    
            for (y=0; y<asterisco;y++)
                printf("*");
    
            printf("\n");
    
        }
    
        return 0;
    }
    

     

  4. Ola Durub, deu certo!

     

    Entendi onde estava errando, eu deveria usar os próprios catetos nos contadores do for, ao invés de usar x,y ou i.

     

    Também gostei desse otimização de performance, ainda não havia visto nada assim antes.

     

    Obrigado!

  5. Pessoal, não estou conseguindo fazer a lógica para resolver o problema abaixo:

    Um triângulo retângulo pode ter lados que sejam todos inteiros. O conjunto de três valores inteiros para os lados de um triângulo retângulo é chamado números de Pitágoras. Esses três lados j devem satisfazer o relacionamento de que a soma dos quadrados dos dois lados (catetos) deve ser igual ao quadrado da hipotenusa. Encontre todos os números de Pitágoras para cateto1, cateto2 e hipotenusa menores que 500.

     

    Tentei da forma abaixo, mas não retorna nada:

        for (i=0; hipo<=500;i++){
                hipo++;
    
            for (x=0; cat1<=500;x++)
        {
                cat1++;
    
                for (y=0; cat2<=500;y++)
    
                    {
                        cat2++;
                        aux =hipo*hipo;
                        pit=(cat1*cat1+cat2*cat2);
                        if (aux == pit)
                        printf("\nSão numeros de Pitagoras: %d - %d - %d", hipo,cat1,cat2);
    
    
                    }
    
            }
        }

    Alguém poderia me dizer onde estou errando?

  6. Estou criando um programa de criptografia de um exercício do livro do Deitel:

    Uma empresa deseja transmitir dados através do telefone, mas existe a preocupação de que seus telefones possam estar grampeados. Todos os seus dados são transmitidos como inteiros de quatro dígitos. A empresa pediu a você que escrevesse um programa para criptografar os dados de forma que eles possam ser transmitidos com mais segurança. Seu programa deve ler um inteiro de quatro dígitos e criptografá-lo da seguinte maneira: Substitua cada dígito pelo resultado da expressão (soma daquele dígito com 7) modulus 10 (ou seja, o resto da divisão por 10 do número obtido pela soma daquele dígito com 7). Depois, troque o primeiro dígito pelo terceiro e troque o segundo dígito com o quarto. A seguir, imprima o inteiro criptografado. Escreva um programa separado que receba um inteiro criptografado e decriptografe-o para que seja obtido o número original.

    Já fiz o código de criptografia, mas tenho dois problemas, os numeros de 0 à 3 geram dois digitos, o que atrapalhará na descriptografia.

    E e também não sei como descriptografar, como inverter a função de resto de divisão:

    a = ((a+7)%10+7);

    Abaixo o que eu já fiz de código:

    #include <stdio.h>
    #include <stdlib.h>
    
    // ler um inteiro de 4 digitos
    // substituir cada digito por (digito+7)%10+(7)
    //  trocar o primeiro pelo terceiro e o segundo pelo quarto
    // Imprimir o inteiro criptografado
    // Criar um que descriptografe
    
    void criptografa(){
    
        int num,a,b,c,d;
    
        printf("\nDigite o numero de 4 digitos que sera criptografado: ");
        scanf("%d", &num);
    
        //Inicia Criptografia
            a = num/1000;
            b = (num%1000)/100;
            c = (num%100)/10;
            d = num%10;
    
    
            printf("separado: %d %d %d %d\n", a,b,c,d);
    
            a = ((a+7)%10+7);
            b = ((b+7)%10+7);
            c = ((c+7)%10+7);
            d = ((d+7)%10+7);
    
            printf("Ordenado: %d %d %d %d\n", a,b,c,d);
    
            printf("Descriptografado: %d\n", num);
            printf("Criptografado: %d%d%d%d\n", c,d,a,b);
            system("pause");
    
     }
    
    void descriptografa()
    {
       
    // Inverter equacao a = ((a+7)%10+7)
    }
    
    void menu()
    {
        int  op;
    
        do{
        printf("\n\n Criptografia!!! \n\n");
    
        printf("1 - Criptografar\n");
        printf("2 - Descriptografar\n");
        printf("3 - Sair\n\n");
        printf("Escolha a opcao desejada:");
        scanf("%d", &op);
    
        switch(op){
    
            case 1:
                criptografa();
                break;
    
            case 2:
                descriptografa();
                break;
    
            case 3:
                break;
    
            default:
                break;
            }
        }while(op!=3);
    
    }
    int main()
    {
    
        menu();
        system("pause");
        return 0;
    }
    

     

    Alguém consegue me dar uma luz?

     

  7. Pessoal, estou tentando fazer o exercício abaixo, consegui fazer para 5 dígitos, mas eu gostaria de que ele fizesse o calculo para qualquer quantidade de dígitos.

    Poderiam me indicar uma forma de fazer?

    Escreva um programa em C que leia um inteiro, determine quantos dígitos são iguais a 7 e imprima esta informação.

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int num,a,b,c,d,e,cont=0;
        printf("\n\nNumeros iguais a 7!!!\n\n\n");
    
        printf("Digite um numero de 5 digitos: ");
        scanf("%d", &num);
    
    
        a = num/10000;
        if (a==7) cont++;
    
        b = (num%10000)/1000;
        if (b==7) cont++;
    
        c = (num%1000)/100;
        if (c==7) cont++;
    
        d = (num%100)/10;
        if (d==7) cont++;
    
        e = (num%10);
        if (e==7) cont++;
    
        printf("Quantidade de digitos iguais a 7: %d\n",cont);
    
        system("pause");
        return 0;
    }

     

  8. Pessoal, estou com dificuldades para fazer um exercício do livro do Deitel, eis o qual eu fiz:

    Escreva um programa que leia o lado de um quadrado e então imprima o quadrado com asteriscos. Seu programa deve funcionar com quadrados de todos os tamanhos entre 1 e 20. Por exemplo, se seu programa lesse um tamanho 4, deveria imprimir

    ****
    ****
    ****
    ****

    Esse eu fiz beleza.. fácil.

    Mas depois ele pede para imprimir um quadrado vazado, este não sei se fiz da melhor forma.

    *****
    *    *
    *    *
    *    *
    *****

    Gostaria de saber se existe alguma forma melhor e mais 'inteligente' de se fazer, ficou muito confuso os 'for':

     

    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int numero, i,x,y,aux;
    
        printf("Programa imprime quadrado \n\n\n");
    
        printf("Digite o tamanho do quadrado: ");
        scanf("%d", &numero);
        aux=numero-2;
    
        printf("\n\n\n\n");
    
        for (x=0;x<numero;x++)
            printf("*");
    
        for (i=0;i<aux;i++){
            printf("\n*");
    
                for(x=0; x<aux;x++)
                    printf(" ");
                        for(x=0; x<1;x++)
                            printf("*");
        }
        printf("\n");
        for (x=0;x<numero;x++)
            printf("*");
            
        return 0;
    }

     

  9. Pessoal, como não encontrei resposta de alguns exercícios do livro do Deitel - C, Como programar - 6ª edição, vou postar nessa área alguns códigos resolvidos para quem estiver estudando poder tira duvidas e ver as resoluções.

     

    Escreva um programa em C que receba três números inteiros diferentes digitados no teclado
    e imprima a soma, a média, o produto, o menor e o maior desses números

     

    #include <stdio.h>
    #include <stdlib.h>
    
    void compara(int a, int b, int c){
        int menor, maior;
        if (a>b){
            if (a>c){
                maior = a;
            }else{
            maior = c;
            }
        }
    
        if (a<b){
            if (a<c){
                menor=a;
            }else{
                menor=c;
    
                }
        }
    
        if (a<b){
            if (b>c){
                maior = b;
            }else{
                maior = c;
                }
        }
    
        if (b<a){
            if (b<c){
                menor=b;
    
            }else{
                menor=c;
            }
        }
    
        printf("\n Maior: %d", maior);
        printf("\n Menor: %d", menor);
    }
    
    int main()
    {
        int a,b,c,soma,media,produto;
        printf("Bem vindo ao programa 3 num\n");
    
        printf("\nDigite tres numeros: ");
        scanf ("%d", &a);
        scanf ("%d", &b);
        scanf ("%d", &c);
    
        soma = a+b+c;
        produto = a*b*c;
        media = (a+b+c)/3;
    
    
    
        printf("\n SOMA: %d", soma);
        printf("\n Media: %d", media);
        printf("\n Produto: %d", produto);
        compara(a,b,c);
    
    
        printf("\n\n FIM!!! \n \n");
    
        system("pause");
        return 0;
    }
    

     

  10. Segue o código funcionando. 

     

    #include<iostream>
    #include<locale.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    struct estoque{
           int cod_e;
           char nome_p[80];
           float valor;
           };
    
           estoque lj;
           int qte=0;
    
           void cadastro(){
                fflush(stdin);
                printf("\t+------------------------------------------------------+\n");
                printf("\t              DIGITE O CODIGO DO PRODUTO  ");
                scanf("\t%d",&lj.cod_e);
    
                 fflush(stdin);
                printf("\t+------------------------------------------------------+\n");
                printf("\t               DIGITE O NOME DO PRODUTO  ");
                gets(lj.nome_p);
                 fflush(stdin);
                printf("\t+------------------------------------------------------+\n");
                printf("\t           DIGITE O VALOR UNITARIO DO PRODUTO  R$");
                scanf("%f",&lj.valor);
                printf("\t+------------------------------------------------------+\n");
                fflush(stdin);
                qte++;
                }
    
                void imp_es(){
                    fflush(stdin);
                     for(int i; i<qte; i++){
                             printf("\n\t+------------------------------------+\n");
                             printf("\tCODIGO:  %d\n\tNOME:    %s\n\tVALOR:   R$%.2f\n", lj.cod_e, lj.nome_p, lj.valor);
                             printf("\t+------------------------------------+\n");
                             }
                             }
    
    
                void imp_cod(){
                    fflush(stdin);
                    int i;
                    char aux[50];
                     printf("DIGITE O NOME DO PRODUTO A BUSCAR");
                     scanf("%s",&aux[80]);
                          for(int i=0;i<qte;i++){
                                if ( strcmp(aux, lj.nome_p) == 0 );
                                 // if(aux[80]==lj.nome_p);
                                 printf("\ncomparacao ok!\n");
                                  printf("COD:%d NOME:%s R$ %.2f",lj.cod_e,lj.nome_p,lj.valor);
                              }
                              }
    
            int menu(int op){
                system("cls");
        printf("\t+------------------------------------------------------+\n");
        printf("\t|                        MENU                          |\n");
        printf("\t+------------------------------------------------------+\n");
        printf("\t|               1 - CADASTRAR PRODUTO                  |\n");
        printf("\t|                    2 - ESTOQUE                       |\n");
        printf("\t|                3 - BUSCAR PRODUTO                    |\n");
        printf("\t|                      4 - SAIR                        |\n");
        printf("\t+------------------------------------------------------+\n");
        printf("\t|                  DIGITE A OPERAÇÂO                   |\n");
        printf("\t+------------------------------------------------------+\n");
        scanf("%d",&op);
        return(op);
            }
    
    
    
    
    main(){
        setlocale(LC_ALL,"");
           int op;
    
           printf("\t+------------------------------------------------------+\n");
           printf("\t|          BEM VINDO AO CONTROLE DE ESTOQUE            |\n");
           printf("\t+------------------------------------------------------+\n");
           printf("\t|        APERTE QUALQUER TECLA PARA CONTINUAR          |\n");
           printf("\t+------------------------------------------------------+\n");
    
           system("pause");
           do{
               op=menu(op);
               if(op==1){
                         cadastro();}
               else if(op==2){
                         imp_es();
                         system("pause");
                                         }
                else if(op==3){
                          imp_cod();
                          system("pause");
                                         }
          else if(op==4){
               system("cls_clear");
               return 0;}
    
           }while(op!=4);
    
    system("pause");
    }
    

     

    Removi todos os [qte] da frente do lj.

    Qual era o motivo de estar utilizando-o?

     

  11. Ola, você não pode comparar strings igual compara numeros.

     

    Use a função "strcmp()" da biblioteca string.h, onde retornará valor 0 (zero), caso sejam iguais.

    Ficaria:

    if ( strcmp(aux, lj[qte].nome_p) == 0 );{
    printf("COD:%dNOME:%sR$%.2f",lj.cod_e,lj.nome_p,lj.valor);
    } else {
    printf ("\nProduto nao encontrado!\n");
    }

     

    Não esqueça de adicionar a biblioteca string.h no inicio do código...

    Testa ai e nos avise, qualquer duvida só perguntar.

  12. Obrigado pela explicação.. comecei a entender.

     

    Eu estava confundindo o y=0 do for com valor, e não que ele significa a posição do vetor, sendo que o valor seria a posição.

    Agora entendi o if (a[y] > a[y+1])

    Seria o valor na posição a[y] > que o valor na posição a[y+1]

    No caso: a[12] > a[9]

    Essa parte acho que ficou claro para mim... agora estou apanhando do restante, rs:

                {
                    t=a[y];
                    a[y]=a[y+1];
                    a[y+1]=t;
                }

    Seria isso?

        t=a[12]
        a[12]=a[9]
        a[9]=a[12]

     

    Ficou as os valores na posição do vetor: a[0] = 9                a[1] = 12

     

    Parece que agora compreendi... seria isso mesmo?

  13. Ola, segue o menu e submenu criado... agora é só implementar as funções que cada item do menu fará. 

    Qualquer duvida pode perguntar.

     

    #include<stdio.h>
    #include<stdlib.h>
    
    main()
    {
    	int opcao = 0;
    	int opcao2 = 0;
    
    	printf("Projeto menus \n");
    
        while(opcao !=3){
    	printf("Escolha uma das opcoes: \n");
    
    	printf("1 - Vetor\n");
        printf("2 - Matriz\n");
        printf("3 - Sair\n");
        printf("\nDigite a opcao desejada: ");
        scanf("%d", &opcao);
    
    	switch(opcao)
    	{
    
    		case 1:
                printf("\nSubmenu vetor. \n");
                printf("1 - produto escalar\n");
                printf("2 - personalizado\n");
                printf("3 - Voltar\n");
                printf("\nDigite a opcao desejada: ");
                scanf("%d", &opcao2);
                        switch(opcao2){
                        case 1:
                          printf("\n1.1 - produto escalar\n");
                          system("pause");
                          break;
    
                        case 2:
                            printf("\n1.2 - personalizado\n");
                            system("pause");
                            break;
                        case 3:
                            break;
                        }
    			break;
    
     		case 2:
                printf("\nSubmenu Matriz. \n");
                printf("1 - Soma de Matrizes\n");
                printf("2 - Multiplicação de Matrizes\n");
                printf("3 - Voltar\n");
                printf("\nDigite a opcao desejada: ");
                scanf("%d", &opcao2);
                        switch(opcao2){
                        case 1:
                          printf("\n1.1 - Soma de Matrizes\n");
                          system("pause");
                          break;
    
                        case 2:
                            printf("\n1.2 - Multiplicação de Matrizes\n");
                            system("pause");
                            break;
                        case 3:
                            break;
                        }
    			break;
    
    		case 3:
              	break;
    
    		default:
    		printf("Numero invalido");
    
    	}
    }
    
    	system("pause");
    	return 0;
    }

     

×
×
  • Criar Novo...