Ir ao conteúdo
  • Cadastre-se

Endmmans

Membro Pleno
  • Posts

    371
  • Cadastrado em

  • Última visita

Tudo que Endmmans postou

  1. @arfneto @arfneto float metragem_limpeza() { float met; while(1) { printf("Entre com a metragem da casa: \n"); float ret_scanf = scanf("%f", &met); if (ret_scanf != 1) { //Verifica se o valor de scanf deu certo. printf("Só são aceitos valores numéricos. Tente novamente.\n"); while (getchar() != '\n'); //Limpa o buffer do teclado. continue; } if (met<30 || met>700) { printf("Não aceitamos casas com menos de 30m² ou mais de 700m². Sentimos muito.\n"); return 0; } if (met<=300) { return 60+0.3*met; } return 120+0.5*met; } }
  2. @arfneto você acha que desse último jeito que deixei está melhor que os anteriores? Vale a pena colocar no GitHub?
  3. @arfneto Se me chamarem pra um estágio já agora você acha que devo aceitar ou recusar por enqto com base no que você viu? @arfneto Eu não tinha entendido alguns conceitos que você me disse e dei uma pesquisada. Adicionei os detalhes ao programa que compreendi. #include <stdio.h> #include <stdlib.h> float metragem_limpeza(); float metragem_limpeza_b(); float tipo_limpeza(); float adicional_limpeza(); //Programa principal int main() { printf("Bem-vindo ao programa de Serviços de Limpeza CleanUp.\n**************************************************************************\n----------------------Menu 1 de 3 - Metragem Limpeza----------------------\n"); float metragem = metragem_limpeza(); if (metragem ==0) { return 0; } printf("O valor retornado foi de %g\n", metragem); //Verificar se o valor calculado está correto printf("**************************************************************************\n------------------------Menu 2 de 3 - Tipo Limpeza------------------------\n"); float tipo = tipo_limpeza(); printf("O valor retornado foi de %g\n", tipo); //Verificar se o valor calculado está correto printf("**************************************************************************\n-------------------Menu 3 de 3 - Adicional de Limpeza---------------------\n"); float adicional = adicional_limpeza(); printf("O valor retornado foi de %g\n", adicional); //Verificar se o valor calculado está correto float resultado=metragem*tipo+adicional; printf("O valor final foi de R$%g\n", resultado); return 0; } //Função que retorna o valor calculado da limpeza pela metragem. Não aceita valores menor do que 30 ou maior do que 700. float metragem_limpeza() { float met; while(1) { printf("Entre com a metragem da casa: \n"); float ret_scanf = scanf("%f", &met); if (ret_scanf != 1) { //Verifica se o valor de scanf deu certo. printf("Só são aceitos valores numéricos. Tente novamente.\n"); while (getchar() != '\n'); //Limpa o buffer do teclado. continue; } if (met<30 || met>700) { printf("Não aceitamos casas com menos de 30m² ou mais de 700m². Sentimos muito.\n"); return 0; } if (met<=300) { return 60+0.3*met; } return 120+0.5*met; } } //Função que retorna o valor do tipo de limpeza. Irá multiplicar o resultado final por 1.0 ou 1.3 float tipo_limpeza() { char tip; printf("Entre com o tipo de limpeza:\nBásica (B): Aplicada para sujeira semanais ou quinzenais.\nCompleta (C): (+30 p/ cento): Indicada para sujeiras antigas ou não rotineiras.\n"); while (1) { printf("Entre com o tipo de limpeza:\n"); char ret_scanf = scanf(" %c", &tip); if (ret_scanf != 1) { //Verifica se o valor de scanf deu certo. printf("Entrada de dados inválida. Tente novamente\n"); while (getchar() != '\n'); //Limpa o buffer do teclado. continue; } if (tip=='B') { return 1.0; } else if (tip=='C') { return 1.3; } else { printf("Só são aceitos B ou C. Tente novamente.\n"); continue; } } } //Função que retorna o valor dos adicionais da limpeza. Irá somar com o resultado final. float adicional_limpeza() { float adi, add; adi=0; printf("Deseja mais algum adicional?\n0 - Não desejo mais nada. Encerrar.\n1 - Passar 10 peças de roupas. R$10,00\n2 - Limpeza de 1 Forno/Microondas. R$12,00\n3 - Limpeza de 1 Geladeira/Freezer. R$20,00\n"); while(1) { printf("Digite o valor: \n"); float ret_scanf = scanf("%f", &add); if (ret_scanf != 1) { //Verifica se o valor de scanf deu certo. printf("Valor inválido. Tente novamente."); while (getchar() != '\n'); //Limpa o buffer do teclado. continue; } if (add==0) { adi = adi+0; break; } else if (add==1) { adi = adi+10; continue; } else if (add==2) { adi = adi+12; continue; } else if (add==3) { adi = adi+20; continue; } else { printf("Só são aceitos 0, 1, 2 e 3. Tente novamente.\n"); continue; } } return adi; }
  4. @arfneto O que eu sei fazer é basicamente este programa que você viu. você acha que devo estudar beeem mais antes de iniciar um estágio? Talvez apareça um em breve, mas acho que ainda tenho que aprender muito.
  5. @arfneto Eu devo verificar SEMPRE se o retorno de scanf é 1, mesmo fora de laços de repetição? @arfneto Não tenho nenhum livro sobre C e não faço cursos sobre C. você acha que é útil eu aprender melhor C para caso surjam oportunidades de estágio? Ou acha que não vale a pena? Visto que essa linguagem quase não é usada comercialmente.
  6. @arfneto Na verdade eu aprendi base de Python em um curso do ano passado, e agora estou tentando aprender C pra eu não ter tanta dificuldade em outras linguagens. C estou aprendendo totalmente por fora, não tenho nenhum livro e não faço curso sobre ele. Esse é o teste do retorno do scanf? Pra que ele serve exatamente?
  7. @arfneto Como faço pra retornar o valor das chamadas scanf()?
  8. @arfneto Desculpe pelas confusões, sou bem iniciante mesmo e estou treinando C pra um possível estágio. Mas o que seriam protótipos exatamente? Seria eu por exemplo colocar fora das funções no início de tudo (antes da main) ''float metragem_limpeza()''?
  9. @arfneto @arfneto Olá, dei uma editada brusca no programa da maneira que entendi e que consegui. Agora coloquei as funções antes da main, dessa, forma já aproveitando e as declarando. #include <stdio.h> #include <stdlib.h> //Função que retorna o valor calculado da limpeza pela metragem. Não aceita valores menor do que 30 ou maior do que 700. float metragem_limpeza() { float met; while(1) { printf("Entre com a metragem da casa: \n"); scanf("%f", &met); if (met<30 || met>700) { printf("Não aceitamos casas com menos de 30m² ou mais de 700m².\n"); continue; } else if (met<=300) { return 60+0.3*met; } else if (met<=700) { return 120+0.5*met; } } } //Função que retorna o valor do tipo de limpeza. Irá multiplicar o resultado final por 1.0 ou 1.3 float tipo_limpeza() { char tip; printf("Entre com o tipo de limpeza:\nBásica (B): Aplicada para sujeira semanais ou quinzenais.\nCompleta (C): (+30 p/ cento): Indicada para sujeiras antigas ou não rotineiras.\n"); scanf(" %c", &tip); if (tip=='B') { return 1.0; } else if (tip=='C') { return 1.3; } } //Função que retorna o valor dos adicionais da limpeza. Irá somar com o resultado final. float adicional_limpeza() { float adi; float add; adi=0; printf("Deseja mais algum adicional?\n0 - Não desejo mais nada. Encerrar.\n1 - Passar 10 peças de roupas. R$10,00\n2 - Limpeza de 1 Forno/Microondas. R$12,00\n3 - Limpeza de 1 Geladeira/Freezer. R$20,00\n"); while(1) { printf("Digite o valor: \n"); scanf("%f", &add); if (add==0) { adi = adi+0; break; } else if (add==1) { adi = adi+10; continue; } else if (add==2) { adi = adi+12; continue; } else if (add==3) { adi = adi+20; continue; } } return adi; } //Programa principal int main() { printf("Bem-vindo ao programa de Serviços de Limpeza CleanUp.\n**************************************************************************\n----------------------Menu 1 de 3 - Metragem Limpeza----------------------\n"); float metragem = metragem_limpeza(); printf("O valor retornado foi de %g\n", metragem); //Verificar se o valor retornado está correto printf("**************************************************************************\n------------------------Menu 2 de 3 - Tipo Limpeza------------------------\n"); float tipo = tipo_limpeza(); printf("O valor retornado foi de %g\n", tipo); //Verificar se o valor retornado está correto printf("**************************************************************************\n-------------------Menu 3 de 3 - Adicional de Limpeza---------------------\n"); float adicional = adicional_limpeza(); printf("O valor retornado foi de %g\n", adicional); //Verificar se o valor retornado está correto float resultado=metragem*tipo+adicional; printf("O valor final foi de R$%g\n", resultado); return 0; }
  10. @arfneto você acha que conseguiria corrigir pra mim aquela parte da variável por favor? Não estou conseguindo compreender ao certo o que fazer.
  11. @LzMR Recomendo se possível você dar um upgrade de processador, esse i3 3220 vai sofrer muito com a RX 580.
  12. Vou reescrever o programa com as correções da maneira que entendi, já mando. @arfneto Ficou assim: #include <stdio.h> #include <stdlib.h> int adicional_limpeza(), adicional; float metragem_limpeza(), tipo_limpeza(), metragem, tipo, resultado; int main() { printf("Bem-vindo ao programa de Serviços de Limpeza CleanUp.\n**************************************************************************\n----------------------Menu 1 de 3 - Metragem Limpeza----------------------\n"); float metragem = metragem_limpeza(); printf("O valor retornado foi de %g\n", metragem); //Verificar se o valor retornado está correto// printf("**************************************************************************\n------------------------Menu 2 de 3 - Tipo Limpeza------------------------\n"); float tipo = tipo_limpeza(); printf("O valor retornado foi de %g\n", tipo); //Verificar se o valor retornado está correto// printf("**************************************************************************\n-------------------Menu 3 de 3 - Adicional de Limpeza---------------------\n"); int adicional = adicional_limpeza(); printf("O valor retornado foi de %d\n", adicional); //Verificar se o valor retornado está correto// float resultado=metragem*tipo+adicional; printf("O valor final foi de R$%g\n", resultado); } //Função abaixo que retorna o valor da metragem da limpeza (metragem_limpeza) // float metragem_limpeza() { float met; while(1) { printf("Entre com a metragem da casa: \n"); scanf("%f", &met); if (met<30 || met>700) { printf("Não aceitamos casas com menos de 30m² ou mais de 700m².\n"); continue; } else if (met<=300) { return 60+0.3*met; } else if (met<=700) { return 120+0.5*met; } } } //Função abaixo que retorna o valor do tipo de limpeza (tipo_limpeza) // float tipo_limpeza() { char tip; printf("Entre com o tipo de limpeza:\nBásica (B): Aplicada para sujeira semanais ou quinzenais.\nCompleta (C): (+30 p/ cento): Indicada para sujeiras antigas ou não rotineiras.\n"); scanf(" %c", &tip); if (tip=='B') { return 1.0; } else if (tip=='C') { return 1.3; } } //Função abaixo que retorna o valor de algum adicional (adicional_limpeza) // int adicional_limpeza() { int adi, add; adi=0; printf("Deseja mais algum adicional?\n0 - Não desejo mais nada. Encerrar.\n1 - Passar 10 peças de roupas. R$10,00\n2 - Limpeza de 1 Forno/Microondas. R$12,00\n3 - Limpeza de 1 Geladeira/Freezer. R$20,00\n"); while(1) { printf("Digite o valor: \n"); scanf("%d", &add); if (add==0) { adi = adi+0; break; } else if (add==1) { adi = adi+10; continue; } else if (add==2) { adi = adi+12; continue; } else if (add==3) { adi = adi+20; continue; } } return adi; }
  13. @arfneto Eu apaguei aquela linha ''float metragem, tipo, adicional, resultado;'', porém agora a função metragem_limpeza() não é executada. o que fiz de errado? Segue a parte do código: #include <stdio.h> #include <stdlib.h> int main() { printf("Bem-vindo ao programa de Serviços de Limpeza CleanUp.\n**************************************************************************\n----------------------Menu 1 de 3 - Metragem Limpeza----------------------\n"); float metragem = metragem_limpeza();
  14. @arfneto Como faço para colocar os protóticos pra FORA da função main()? Só devo colocar pra fora os dessa função?@arfneto
  15. @arfneto Obrigado pela ajuda, vou aderir suas dicas. Em relação a seu 3° ponto: Eu testei o retorno do scanf(), aí vi que estava certo, e apaguei essas linhas e publiquei no site. @arfneto De fato, ele estar retornando em INT e não em FLOAT na metragem_limpeza() quebrou completamente meu código.
  16. #include <stdio.h> #include <stdlib.h> /*Função principal, responsável por chamar as demais funções abaixo*/ int main() { float metragem, tipo, adicional, resultado; printf("Bem-vindo ao programa de Serviços de Limpeza CleanUp.\n"); printf ("**************************************************************************\n"); printf ("----------------------Menu 1 de 3 - Metragem Limpeza----------------------\n"); int metragem_limpeza(); metragem = metragem_limpeza(); printf("**************************************************************************\n"); printf ("----------------------Menu 2 de 3 - Tipo Limpeza----------------------\n"); float tipo_limpeza(); tipo = tipo_limpeza(); printf("**************************************************************************\n"); printf("-------------------Menu 3 de 3 - Adicional de Limpeza---------------------\n"); int adicional_limpeza(); adicional = adicional_limpeza(); resultado=metragem*tipo+adicional; printf("O valor final foi de R$%g", resultado); } /*Função abaixo que calcula a metragem da limpeza (metragem_limpeza) */ int metragem_limpeza() { float met; while(1) { printf("Entre com a metragem da casa: \n"); scanf("%f", &met); if (met<30) { printf("Não aceitamos casas com menos de 30m² ou mais de 700m².\n"); continue; } else if (met>700) { printf("Não aceitamos casas com menos de 30m² ou mais de 700m².\n"); continue; } else if (met<=300) { return 60+0.3*met; } else if (met<=700) { return 120+0.5*met; } } } /*Função abaixo que atribui o tipo da limpeza (tipo_limpeza) */ float tipo_limpeza() { char tip; printf("Entre com o tipo de limpeza:\n"); printf("Básica (B): Aplicada para sujeira semanais ou quinzenais.\n"); printf("Completa (C): (+30 p/ cento): Indicada para sujeiras antigas ou não rotineiras.\n"); scanf(" %c", &tip); if (tip=='B') { return 1.0; } else if (tip=='C') { return 1.3; } } /*Função abaixo que calcula algum adicional (adicional_limpeza) */ int adicional_limpeza() { int adi, add; adi=0; printf("Deseja mais algum adicional?\n"); printf("0 - Não desejo mais nada. Encerrar.\n"); printf("1 - Passar 10 peças de roupas. R$10,00\n"); printf("2 - Limpeza de 1 Forno/Microondas. R$12,00\n"); printf("3 - Limpeza de 1 Geladeira/Freezer. R$20,00\n"); while(1) { printf("Digite o valor: \n"); scanf("%d", &add); if (add==0) { adi = adi+0; break; } else if (add==1) { adi = adi+10; continue; } else if (add==2) { adi = adi+12; continue; } else if (add==3) { adi = adi+20; continue; } } return adi; } Sou bem iniciante em C, eu gostaria que vcs opinassem sobre o que posso melhorar em meu programa. Ele foi desenvolvido originalmente em Python que fiz pra um trabalho da faculdade, agora passei pra C.
  17. Existe alguma fonte boa de 450W de até R$300?
  18. @rodrigo.dcvieira To achando algumas usadas dela na faixa dos R$300,00 no Mercado Livre, compensa esse valor ou devo chorar pra menos?
  19. A trava do PCIe da minha quebrou, e com isso a placa de vídeo não fica totalmente firme, e com isso, o PC não dá vídeo no primeiro boot, o forçando a desligar pelo botão, aí sim na segunda tentativa, ele liga e funciona normalmente. Eu queria saber qual o valor máximo que compensaria pra trocar o PCIE dessa placa-mãe e se eu fosse comprar outra, qual o valor que eu deveria pagar.
  20. @rodrigo.dcvieira Gostei bastante do filtro de linha iClamper 5. O único problema que tive é que as vezes as tomadas enroscam pra retirar, já passou por isso? Gostei bastante do filtro de linha iClamper 5. O único problema que tive é que as vezes as tomadas enroscam pra retirar, alguém já passou por isso?
  21. Gostei bastante do filtro de linha iClamper 5. O único problema que tive é que as vezes as tomadas enroscam pra retirar, alguém já passou por isso?
  22. Venho aqui relatar um problema que estou tendo no Windows 11 e no plano de energia da AMD pros CPUs Ryzen pra vcs ficarem atentos: Não sei se mais alguém passou por isso, mas quando o computador suspende de maneira natural utilizando o plano de energia AMD Ryzen Balanced, ao despertar o PC, dava tela preta. Após reiniciar a máquina pelo botão, o driver da AMD simplesmente parava de funcionar, como se o Windows 11 tivesse tentado o atualizar por cima e instalou uma versão incompatível (algo típico), precisando de reparo ou reinstalação, e isso porque esta opção do Windows está desabilitada, então não foi isso. Não sei se alguém teve isso, mas apenas vim relatar esse dilema. Isso parou de acontecer após eu trocar para o plano de energia ''Equilibrado'', o padrão do Windows.
  23. @rodrigo.dcvieira Em bastante uso, calculei que os 3 vão gastar em torno de 1150 watts. Vão ficar ligados em uma tomada 220V com fio de 4mm, ela suportaria isso?
  24. @rodrigo.dcvieira Vou ligar um 3° PC nele, mas em relação à tomada, que tem fiação de apenas 4mm, acha que dá pra usar 3 PCs nela?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!