Ir ao conteúdo
  • Cadastre-se

kgin

Membro Pleno
  • Posts

    380
  • Cadastrado em

  • Última visita

Tudo que kgin postou

  1. kgin

    C Como insiro o while

    @DaviKS Poste o enunciado e de mais detalhes do que você está tentando fazer
  2. @Mariana Coradini poste o que você já fez, que talvez nós podemos ajudar.
  3. @Erison Cleyton Não sei o seu nível de C++, mas eu recomendaria você tomar outro rumo. Usar o visual studio seria um bom primeiro passo, com ele você pode fazer interfaces gráficas mais facilmente. Mas se você optar por usar a api do windows eu recomendo checar esse tutorial antes. https://zetcode.com/gui/winapi/
  4. @luquinhas44 Veja que você iniciou a variável prod com 0, e zero vezes alguma coisa é? Se a regra não mudou creio eu que seja zero. Eu resolvi o algoritmo do meu jeito que eu achava certo, então de uma olhada. programa { funcao inicio() { inteiro entrada, soma_pares = 0, produto_impares = 0 // Faz enquanto for maior que 0 faca { // Pega a entrada do usuario escreva("Digite um numero negativo para encerrar o programa\n") escreva("Digite um numero positivo:") leia(entrada) limpa() // Se o numero for positivo então faça! se (entrada >= 0) { // Testa se o numro é par se (entrada%2 == 0) { soma_pares = soma_pares+entrada } senao { // Testa se há algum valor no produto dos numeros impares se (produto_impares == 0) { produto_impares = entrada } senao { produto_impares = produto_impares*entrada } } } } enquanto (entrada >= 0) // Mostra o resultado escreva("A soma dos numeros pares e ", soma_pares, "\n") escreva("E o produto dos numeros impares e ", produto_impares ,"\n") } }
  5. Ninguém faz porque fica muito lento por causa dos cálculos necessários (interpolação linear) para mostrar a barra. e em batch fica tudo mais lento do que o de costume, experimente esse que eu fiz só para mostrar a barra para você ver a velocidade. @echo off call :_main goto :eof :: Função principal :_main :: laço de repetição de 0 a 60 for /L %%a in (0,1,60) do ( :: Chama a função de barra call :barra_simples #,%%a, Copiando! ) pause exit /b 0 :: Função de barra simples :: Para usar passe o mostrador da barra no primeiro parâmetro depois o tamanho da barra e por ultimo uma mensagem :barra_simples :: A variável barra vai guardar o conteúdo da barra set barra= :: Utilizado no loop set /a contador=0 :_loopBarra :: Monta a barra de progresso set "barra=%barra%%~1" if %contador% LSS %~2 ( set /a contador+=1 goto :_loopBarra ) :: Mostra a barra! echo [%barra%]%~3 exit /b 0 Se eu achar a versão final eu posto depois. Se você quiser tentar fazer não e tão complicado assim, é só seguir os passos abaixo Declare o tamanho da barra de progresso com um valor fixo. Conte quantos arquivos tem na pasta que você vai copia-los. Declare uma variável iniciada com 0 para contar quantos arquivos você copiou. Copie os arquivos e vá contando quantidade de arquivos copiados. Interpole os valores da variável que você está usando para contar os arquivos com a quantidade de arquivos e o tamanho da barra. Passe o valor interpolado para a barra. Repita o passo 4 em diante. Eu estou falando de interpolar valores, mas eu acho que o nome da equação no brasil e equação de 2 grau. Da uma pesquisadinha aí Ou qualquer coisa @ricardo_br tá aí pra salva a pátria.
  6. @Anderson001 Perceba que você declarou a variável aux na função dequeue e tentou usar na função main. A variável está fora do escopo de main. declare a variável como global ou reorganize o seu código
  7. @paulo154 Eu recomendaria você escrever mais entorno dos dados. Exemplo Algoritmo "Estoque" const QUANTIDADE_PRODUTOS = 5 QUANTIDADE_PRODUTOS_ESTOQUE = 10 var nome_produtos:vetor[1..QUANTIDADE_PRODUTOS] de caractere valor_produtos:vetor[1..QUANTIDADE_PRODUTOS] de real estoque_produtos:vetor[1..QUANTIDADE_PRODUTOS] de inteiro opcao_menu:inteiro contador:inteiro enter:caractere procedimento inicia_produtos var contador:inteiro inicio //1. O algoritmo deve contemplar o armazenamento de estoque para 5 produtos //: água, refrigerante, vinho, suco e cerveja, podendo estes serem os nomes //das variáveis a serem declaradas para serem mais intuitivas. // Inicia o nome de cada produto nome_produtos[1] <- "Água" nome_produtos[2] <- "Refrigerante" nome_produtos[3] <- "Vinho" nome_produtos[4] <- "Suco" nome_produtos[5] <- "Cerveja" // Inicia o preço de cada produto valor_produtos[1] <- 1.50 valor_produtos[2] <- 5.50 valor_produtos[3] <- 22.70 valor_produtos[4] <- 3.30 valor_produtos[5] <- 1.20 // 5. Todos os produtos iniciam o algoritmo com um estoque de 10 produtos // Inicia a quantidade de cada produto no estoque para contador de 1 ate QUANTIDADE_PRODUTOS faca estoque_produtos[contador] <- QUANTIDADE_PRODUTOS_ESTOQUE fimPara fimProcedimento inicio // Chama a função para iniciar os produtos inicia_produtos // Loop do menu principal repita //4. A escolha do produto deve ser feita a partir de um menu de opções //a ser exibido ao usuário que escolhe a opção desejada para em seguida, //informar a quantidade desejada. limpaTela // Apaga a tela atual escreval("Qual bebida deseja?") // Mostra as bebidas para contador de 1 ate QUANTIDADE_PRODUTOS faca escreval(contador, "-", nome_produtos[contador]) fimPara escreval(QUANTIDADE_PRODUTOS+1, "-Para Sair") leia(opcao_menu) se (opcao_menu >= 1) e (opcao_menu <= QUANTIDADE_PRODUTOS) entao escreval("Nome|Quantidade|Preço") escreval(nome_produtos[opcao_menu], "-", estoque_produtos[opcao_menu] , "-", valor_produtos[opcao_menu]) seNao se opcao_menu = QUANTIDADE_PRODUTOS+1 entao escreval("O programa será encerrado!") seNao escreval("Opção inválida!") fimSe fimSe escreval("Pressione enter para continuar") leia(enter) ate opcao_menu = QUANTIDADE_PRODUTOS+1 fimAlgoritmo
  8. @Samuel G.S Pense um pouco no problema antes de tentar implementar. Algoritmo "Seletor de pessoas" Var sexo,opcao:caractere cabelo,idade:inteiro q_homens_castanhos:inteiro Inicio q_homens_castanhos <- 0 // Inicia a variavel repita escreval("=======================") escreval(" SELETOR DE PESSOAS ") escreval("=======================") escreva("Qual o sexo? [M/F] ") leia(sexo) escreva("Qual a idade? ") leia(idade) escreval("Qual a cor do cabelo? ") escreval("----------------------") escreval("[1] Preto") escreval("[2] Castanho") escreval("[3] Loiro") escreval("[4] Ruivo") leia(cabelo) escolha cabelo caso 2 se (sexo = "M") ou (sexo = "m") entao se idade > 18 entao q_homens_castanhos <- q_homens_castanhos+1 fimSe fimSe fimescolha escreva("Quer continuar? [S/N]") leia(opcao) ate (opcao = "n") ou (opcao = "N") escreval("A quantidade de homens acima de 18 com o cabelo castanho e:", q_homens_castanhos) Fimalgoritmo
  9. @Gustavo Feijo Já pensou em exportar como CSV (formato de arquivo no excel) e criar uma matriz com o conteúdo do arquivo?
  10. @Gustavo Feijo você quer transformar essa planilha do excel em uma matriz em C?
  11. @Everaldo P. Afonso Mas no que você está tendo dificuldade? Poste o compilador que você está usando. no fórum é contra as regras dar resposta pronta.
  12. Poste o que você já fez, e em que programa está fazendo.
  13. @Silvana Roden Seria melhor você tratar tudo isso como estados do seu programa. No caso você retornaria para a função principal qual é o estado o seu programa está nesse momento. Exemplo #include <stdio.h> #include <stdlib.h> #define Q_LINHAS 3 #define Q_COLUNAS 3 #define Q_JOGADAS_VITORIA 3 enum estados_jogo { NINGUEM_GANHOU = 0, VITORIA_CRUZ, VITORIA_CIRCULO, DEU_VELHA, Q_ESTADOS_JOGO }; enum objetos_jogo { OBJ_VAZIO = 0, OBJ_CRUZ, OBJ_CIRCULO, OBJ_QUANTIDADE }; int ganhou=0; void inicializaTabuleiro(enum objetos_jogo tabuleiro[Q_LINHAS][Q_COLUNAS]) { unsigned short int linhas, colunas; for (linhas = 0; linhas < Q_LINHAS; linhas++) { for (colunas = 0; colunas < Q_COLUNAS; colunas++) { tabuleiro[linhas][colunas] = OBJ_VAZIO; } } } //verificação do ganhador: 'X', 'O' ou deu velha, chamando uma função com o nome 'confereVencedor' no loop do jogo; enum estados_jogo confereVencedor(enum objetos_jogo tabuleiro[Q_LINHAS][Q_COLUNAS]) { enum objetos_jogo objeto_atual; short int linhas, colunas, contador = 0; /* Checa linhas */ for (linhas = 0; linhas < Q_LINHAS; linhas++) { objeto_atual = tabuleiro[linhas][0]; contador = 1; for (colunas = 1; colunas < Q_COLUNAS; colunas++) { if (tabuleiro[linhas][colunas] == objeto_atual) { contador++; } } if (contador == Q_JOGADAS_VITORIA && objeto_atual != OBJ_VAZIO) { if (objeto_atual == OBJ_CRUZ) { return(VITORIA_CRUZ); } else if (objeto_atual == OBJ_CIRCULO) { return(VITORIA_CIRCULO); } } } /* Checa colunas */ for (colunas = 0; colunas < Q_COLUNAS; colunas++) { objeto_atual = tabuleiro[0][colunas]; contador = 1; for (linhas = 1; linhas < Q_LINHAS; linhas++) { if (tabuleiro[linhas][colunas] == objeto_atual) { contador++; } } if (contador == Q_JOGADAS_VITORIA && objeto_atual != OBJ_VAZIO) { if (objeto_atual == OBJ_CRUZ) { return(VITORIA_CRUZ); } else if (objeto_atual == OBJ_CIRCULO) { return(VITORIA_CIRCULO); } } } /* Checa diagonais */ contador = 1; objeto_atual = tabuleiro[0][0]; for (colunas = 1, linhas = 1; colunas < Q_COLUNAS && linhas < Q_LINHAS; colunas++, linhas++) { if (objeto_atual == tabuleiro[linhas][colunas]) { contador++; } } if (contador == Q_JOGADAS_VITORIA && objeto_atual != OBJ_VAZIO) { if (objeto_atual == OBJ_CRUZ) { return(VITORIA_CRUZ); } else if (objeto_atual == OBJ_CIRCULO) { return(VITORIA_CIRCULO); } } contador = 1; objeto_atual = tabuleiro[0][Q_COLUNAS-1]; for (linhas = 1, colunas = Q_COLUNAS-2; linhas < Q_LINHAS || colunas > 0; linhas++, colunas--) { if (objeto_atual == tabuleiro[linhas][colunas]) { contador++; } } if (contador == Q_JOGADAS_VITORIA && objeto_atual != OBJ_VAZIO) { if (objeto_atual == OBJ_CRUZ) { return(VITORIA_CRUZ); } else if (objeto_atual == OBJ_CIRCULO) { return(VITORIA_CIRCULO); } } contador = 0; for (linhas = 0; linhas < Q_LINHAS; linhas++) { for (colunas = 0; colunas < Q_COLUNAS; colunas++) { if (tabuleiro[linhas][colunas] != OBJ_VAZIO) { contador++; } } } if (contador == Q_LINHAS*Q_COLUNAS) { return(DEU_VELHA); } return(NINGUEM_GANHOU); } void mostraTabuleiro(enum objetos_jogo tabuleiro[Q_LINHAS][Q_COLUNAS]) { unsigned short int linhas, colunas; printf("\n\n\t"); for (colunas = 0; colunas < Q_COLUNAS; colunas++) { printf("%hu ", colunas); } printf("\n"); for (linhas = 0; linhas < Q_LINHAS; linhas++) { printf("\t"); for (colunas = 0; colunas < Q_COLUNAS; colunas++) { switch (tabuleiro[linhas][colunas]) { case OBJ_VAZIO: printf(" "); break; case OBJ_CRUZ: printf(" X "); break; case OBJ_CIRCULO: printf(" O "); break; } if (colunas < Q_COLUNAS-1) { printf("|"); } } printf(" %hu\n", linhas); } } int main(){ // variaveis int l=0; int c=0; int linha=0; int coluna=0; int jogador=0; int jogadas=0; int opcao=0; enum objetos_jogo tabuleiro[Q_LINHAS][Q_COLUNAS]; do{ jogador = 1; // como inicializar nossa estrutura de dados? inicializaTabuleiro(tabuleiro); /*for(l = 0; l < 3; l++){ for(c = 0; c < 3; c++){ jogo[l][c] = ' '; } }*/ while ( jogadas < 9){ // repete até alguém ganhar ou atingir 9 jogadas // imprimir jogo mostraTabuleiro(tabuleiro); /*printf("\n\n\t 0 1 2\n\n"); for(l = 0; l < 3; l++){ for(c = 0; c < 3; c++){ if(c == 0) printf("\t"); printf(" %c ", jogo[l][c]); if(c < 2) printf("|"); if(c == 2) printf(" %d", l); } if(l < 2) printf("\n\t-----------"); printf("\n"); } */ // ler coordenadas do{ printf("\nJOGADOR 1 = 0\nJOGADOR 2 = X\n"); printf("\nJOGADOR %d: Digite a linha: ", jogador); scanf("%d", &linha); printf("JOGADOR %d: Digite a coluna: ", jogador); scanf("%d", &coluna); }while(linha < 0 || linha > 2 || coluna < 0 || coluna > 2 || tabuleiro[linha][coluna] != OBJ_VAZIO); // salvar coordenadas if(jogador == 1){ tabuleiro[linha][coluna] = OBJ_CIRCULO; jogador++; } else{ tabuleiro[linha][coluna] = OBJ_CRUZ; jogador = 1; } jogadas++; switch (confereVencedor(tabuleiro)) { case VITORIA_CRUZ: printf("Vitoria do X\n"); break; case VITORIA_CIRCULO: printf("Vitoria do O\n"); break; case DEU_VELHA: printf("Deu velha\n"); break; } } }while(ganhou=0); return 0; }
  14. kgin

    C# Meu codigo fica dando um erro.

    Não são linguagens de programação, uma delas é uma engine open source para criação de jogos com uma vasta documentação e vários tutorias em português (Creio eu que seja bem mais fácil de aprender ;)). O outro e um console fantasia, que foi feito para ser simples e fácil de criar jogos. ele usa a linguagem de programação lua que e fácil de aprender, e praticar a programação de jogos. Tem toneladas de tutorias e uma boa documentação, mas tudo em inglês. Agora voltando ao seu problema Uma resposta direta e reta seria, é a documentação e você deveria consulta-la quando estiver com problemas em usar alguma coisa de engine. Mas uma coisa que eu não sei é o que você quer fazer?
  15. Não sei python, mas você deveria usar uma função para descobrir quem venceu. Funções em python A ideia seria criar uma função genérica que só verificava quem ganhou, e em seguida retornaria se ouve velha, se ninguém ganhou ou retornar a peça ("X ou O") ganhou.
  16. O erro é porque não tem internet, baixe o drive de rede que resolve o problema. Seria melhor você vê no site do fabricante, esse tipo de programa e furada.
  17. @Tetezin Pode parecer uma pergunta meio *****, mas o pc tem internet?
  18. @Rosa Isabelle G Você não abriu as chaves na função saoPositivos, e nem colocou os tipos das variáveis n1 e n2. #include <stdio.h> float saoPositivos(float n1, float n2) { if (n1>0 && n2>0) return 1; else return 0; } int main() { float n1, n2, seila; scanf("%f %f", &n1, &n2); saoPositivos(n1,n2); if (seila==0) printf("Ambos os valores sao positivos."); else printf("Ao menos um dos valores eh negativo ou eh igual a zero."); return 0; } Não lembro se e proibido isso no fórum, mas se você tiver replit pode me achar lá https://replit.com/join/hfdpppugyt-kgin
  19. kgin

    C# Meu codigo fica dando um erro.

    @Mr-86 Pelo o que eu vi na documentação a maneira correta de se escrever e Time.deltaTime a linguagem C# e sensível ao caso. https://docs.unity3d.com/ScriptReference/Time-deltaTime.html Não seria melhor começar com algo mais simples, tipo godot ou pico-8?
  20. @bibalinda Seu programa está muito complexo para te ajudar, porque você não pega papel e caneta e tenta elaborar antes de tentar escrever? Você fez dois menus que são praticamente os mesmos, e de nomes mais expressivos para as funções e variáveis. Eu estou com um pouco de pressa, mas uma organização melhor para o seu algoritmo seria Algoritmo "restaurante" const Q_ITENS = 10 tipo t_produto = registro codigo:inteiro nome:caractere quantidade:inteiro preco:real fimRegistro var opcao, contador:inteiro q_itens_registrados:inteiro cardapio:vetor[1..Q_ITENS] de t_produto procedimento barra_simples(tamanho:inteiro; simbolo:caractere) var contador:inteiro inicio para contador de 1 ate tamanho faca escreva(simbolo) fimPara escreval fimProcedimento procedimento baner_simples(msg, adornos:caractere; tamanho:inteiro) var contador:inteiro inicio barra_simples(tamanho, adornos) escreval(msg) barra_simples(tamanho, adornos) fimProcedimento procedimento faz_pausa var enter:caractere inicio escreval("pressione enter para continuar") leia(enter) fimProcedimento funcao menuPrincipal:inteiro var opcao:inteiro inicio repita limpaTela baner_simples("Restaurante", "=", 40) escreval("1-Retirar, cadastrar e ver itens") escreval("2-Registrar pedido") escreval("3-Resumo do pedido") escreval("4-Sair do programa") leia(opcao) se (opcao < 1) ou (opcao > 4) entao escreval("Opção invalida!") faz_pausa fimSe ate não((opcao < 1) ou (opcao > 4)) retorne(opcao) fimFuncao funcao menuCadastros:inteiro var opcao:inteiro inicio repita limpaTela baner_simples("Cadastro de itens", "!", 40) escreval("1-Cadastrar novo item no cardapio") escreval("2-Retirar item do cardapio") escreval("3-Ver todos os itens do cardapio") escreval("4-Voltar ao menu anterior") leia(opcao) se (opcao < 1) ou (opcao > 4) entao escreval("Opção invalida!") faz_pausa fimSe ate não((opcao < 1) ou (opcao >4)) retorne(opcao) fimFuncao inicio // Inicia as variaveis q_itens_registrados <- 0 repita opcao <- menuPrincipal escolha (opcao) caso 1 repita opcao <- menuCadastros limpaTela escolha (opcao) caso 1 se q_itens_registrados < Q_ITENS entao escreval("Digite o codigo do produto") leia(cardapio[q_itens_registrados+1].codigo) escreval("Digite o nome do produto") leia(cardapio[q_itens_registrados+1].nome) escreval("Digite a quantidade do produto") leia(cardapio[q_itens_registrados+1].quantidade) escreval("Digite o preco do produto") leia(cardapio[q_itens_registrados+1].preco) q_itens_registrados <- q_itens_registrados+1 fimSe caso 3 se q_itens_registrados = 0 entao escreval("Não há itens no cardapio") seNao escreval("Codigo |Nome | Quantidade| Preço") para contador de 1 ate q_itens_registrados faca escreval(cardapio[contador].codigo,"-", cardapio[contador].nome, "|", cardapio[contador].quantidade, "-", cardapio[contador].preco) fimPara fimSe faz_pausa fimEscolha ate opcao = 4 opcao <- 0 fimEscolha ate opcao = 4 fimAlgoritmo
  21. Exatamente! Uma gambiarra possível seria usar um dicionário para pegar as palavras que você precisa e adicionar um numero em seguida. dicionários https://github.com/LibreOffice/dictionaries
  22. Criar do zero não seria possível, mas filtrar uma lista já existente e possível.
  23. @Thiago medrado Veja que o compilador mostra cada erro quando você compila o programa, No caso até o meu editor de texto mostrou o erro. Ele está dizendo que na linha 9 o printf está escrito errado e que falta um ponto e vírgula ";". E na linha 10 o scanf está escrito errado também. Pelo o que eu vejo os erros subsequentes são os mesmos apontados acima. você não deve fazer um copia e cola pra tentar agilizar. Como você pode ver deu errado. Seu código funcionando #include <stdio.h> int main(){ int cadastrado, ativo, logado; char opcao; cadastrado = ativo = logado = 0; printf("Deseja cadastrar sua conta? S/N \n"); scanf("%c%*c", &opcao); if(opcao == 'S'){ cadastrado = 1; printf("\nConta cadastrada. \n"); } printf("Deseja ativar sua conta? S/N \n"); scanf("%c%*c", &opcao); if(opcao == 'S'){ ativo = 1; printf("\nConta ativada. \n"); } printf("Deseja logar sua conta? S/N \n"); scanf("%c%*c", &opcao); if(opcao == 'S'){ logado = 1; printf("\nConta logada. \n"); } if((cadastrado == 1) && (ativo == 1) && (logado ==1)){ printf("Seja bem vindo. \n"); } else { printf("\nAlgo deu errado. \n"); } return(0); }
  24. @bibalinda Olá bibi, não está faltando nada não? Poste o código usando o botão code <> na barra de ferramentas do fórum.
  25. Você declarou a função menuOpcao com o mesmo nome da variável menuOpcao. O visualG e meio burrinho, mas ele era pra dar erro antes mesmo de executar. Tente não usar muitas variáveis globais, você poderia ter usado uma função para simplificar. Algoritmo "semnome" Var gabarito: vetor [1..10] de caractere menuOpcao, notaFinal: inteiro enter:caractere funcao menuPrincipal:inteiro var opcao:inteiro inicio repita escreval("1- Cadastrar gabarito") escreval("2- Cadastrar prova") escreval("3- Sair") leia(opcao) se (opcao < 1) ou (opcao > 3) entao escreval("Opção invalida!") escreval("Pressione enter para continuar") leia(enter) fimSe ate não((opcao < 1) e (opcao > 3)) retorne(opcao) fimFuncao procedimento cadastrarGabarito(): caractere var i: inteiro inicio para i de 1 ate 10 faca escreval ("Digite o gabarito da questão", i) leia (gabarito[i]) fimpara fimprocedimento funcao cadastrarProva(): caractere var i, nota: inteiro resposta: caractere inicio nota <- 0 para i de 1 ate 10 faca escreval ("Digite a resposta da questão", i) leia (resposta) se resposta = gabarito[i] entao nota <- nota + 1 fimse retorne nota fimpara fimfuncao funcao verificarSituacao(): caractere inicio se nota >= 7 entao retorne ("Aprovado") senao retorne ("Reprovado") fimfuncao Inicio repita menuOpcao <- menuPrincipal escolha menuPrincipal caso 1 cadastrarGabarito() caso 2 notaFinal <- cadastrarProva escreval (verificarSituacao(notaFinal)) outrocaso escreval ("Opção inválida") ate menuOpcao = 3 Fimalgoritmo

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!