-
Posts
266 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que codigo rapido postou
-
C Jogo da Adivinhação em linguagem c
codigo rapido respondeu ao tópico de pedrocalazans05 em C/C#/C++
existe uma pequena falha ai, fica de exercicio pra você melhorar, mas no geral é isso ai: #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int numero; // semente pra não serem os mesmos numeros sempre: srand ( time(NULL) ); int escolhi=rand()%9; escolhi+=1; // porque não vale zero... //printf("%d\n", escolhi); printf("\nVamos jogar... Descubra que numero estou pensando de 1 a 10."); do { printf("\nDigite: \n"); scanf ("%d", &numero); if(numero>escolhi) printf("\nÉ menor\n"); if(numero<escolhi) printf("\nÉ maior\n"); } while(escolhi!=numero); printf("\nAcertou!\nMinha vez...\n"); printf("\nVamos jogar... Escolha um numero de 1 a 10..."); printf("\nPronto? Digite 1 para sim:\n"); while(numero!=1){ scanf ("%d", &numero); } int limiteMenor=1; int limiteMaior=10; int chute = 5; int c; do { printf("eu chuto que é: %i\n" "É menor? digite 1\n" "Acertei? Digite 2\n" "É maior? Digite 3\n\n", chute); scanf ("%i", &c); if(c==3) { limiteMenor=chute; } else if(c==1) { limiteMaior=chute; } else if(c==2) break; chute = limiteMaior-limiteMenor; chute= (rand()%chute)+1;// pra não ser zero chute+=limiteMenor; }while(c==1 || c==3); return 0; } -
C Preciso de auxilio com um código simples em C
codigo rapido respondeu ao tópico de Hernany Luiz em C/C#/C++
#include <stdio.h> #include <stdlib.h> int main() { int i, j, a=60, total, parcial, dependentes,invalido; int *idade; int EmesmoMenorComCerteza =0; printf("\nInforme o numero de dependendes menores de 18: "); scanf ("%d", &dependentes); // para cada malloc, deve ter um free idade = malloc(dependentes*sizeof(int)); for (j=0; j<dependentes; j++) { printf("\nIdade do dependente: "); scanf("%d", &idade[j]); if ((0<idade[j])&&(idade[j]<19)) { EmesmoMenorComCerteza++; printf("\nA receber de auxilio por dependente: RS %d,00", a); } } total= a*EmesmoMenorComCerteza; printf("\nO total a receber de auxilio e de: RS %d\n", total); // um free aqui free(idade); return 0; } Esses enunciados desses professores atualmente são estranhos... Mas tá ai como poderia funcionar. -
Ok... é certo que é esse... tem como eu usar isso que já tem instalado chamando dos meus programas?
-
como chegaram primeiro, apenas deixo uma dica pra agilizar sua vida. use testes pra você não precisar ficar digitando na mão. lembre-se que o resultado dos problemas depende da ordem em que entram os dados. Pra ver tudo isso e fazer mais rápido tente usar testes assim: #include <stdio.h> int main() { // ordem de entrada: char *nomes[3] = {"huguinho", "zezinho" , "luisinho"}; // teste que representa a ordem das idades dadas // se a primeira coluna for h, segunda z, e terceira l: int array[6][3] = { {0, 1, 2}, {0, 2, 1}, {1, 0, 2}, {1, 2, 0}, {2, 0, 1}, {2, 1, 0} }; int h; int z; int l; for (int i=0; i<6; i++) { h = array[i][0]; z = array[i][1]; l = array[i][2]; if( (h<z && z<l) || (l<z && z<h) ) { printf("%s\n", nomes[1]); } else if( (h<l && l<z) || (z<l && l<h) ) { printf("%s\n", nomes[2]); } else if( (z<h && h<l) || (l<h && h<z) ) { printf("%s\n", nomes[0]); } } return 0; } Ou como preferir...
-
C Jogo da Adivinhação em linguagem c
codigo rapido respondeu ao tópico de pedrocalazans05 em C/C#/C++
eu acho que já fiz esse joguinho, mas faz um 25 anos... esses exemplos bem simples podem dar uma ajuda pra você começar: https://tivideotutoriais.blogspot.com/2020/03/exercicios-antigos-em-linguagem-c.html tem muitos anos que fiz esses exemplo e achei a uns poucos e postei ai. você mesmo tem que dar o começo. você cria o espaço dos sorteios de 1 a 100 por exemplo... você tem que escolher aleatoriamente um valor e esperar o chute do usuário... no caso quando é o computador quem está jogando, ele faz algo mais ou menos assim: ele joga de cara 50. o programa retorna se é maior ou menor. no caso, fazendo de conta que é menor, ele vai chutar 25. Se a resposta for maior, então você sabe que é um numero que está entre 25 e 50. Isso se faz ate que se encontre o numero. -
C++ Erro ao rodar programa em outro computador.
codigo rapido respondeu ao tópico de SrJoker em C/C#/C++
nossa... faz tempo que não uso windows, mas ja tive um problema parecido com esse e eu resolvi ele jogando essas libs dentro do direitorio de libs do windows de forma que o programa a encontrava. Talvez precise indicar o caminho dessas libs nas variaveis de ambiente. Já pesquisou sobre isso? DLLs e variaveis de ambiente do windows -
Olá pessoal, Estou utilizando o Ubunto... Existe alguma forma de se utilizar a interface gráfica nativa do SO em C? como vcs fazem isso? por exemplo uma janela? Se eu precisar baixar novas libs, acho que será melhor fazer um layout web e usar sockets pra fazer isso sem depender de lib nenhuma. Meu medo é usar alguma lib agora e na hora ir em algum usuário que tem outro sistema e ele tentar fazer atualização pra essa lib e dar erros. Eu já passei por constrangimento por causa de falhas nessas libs de interfaces gráficas e estou com receio de passar de novo. São muitas libs e muitas versões que podem dar conflito. printf("Obrigado pela atenção, pessoal!");
-
C snprintf e comandos que peguem os dados e transforme em string de forma generica
codigo rapido respondeu ao tópico de codigo rapido em C/C#/C++
Obrigado, Lucca! Eu sei que não existem recursos como reflection em C, mas como a linguagem é bem conhecida e relevante imagino que algo semelhante ou uma construção dinâmica seja feita pelos mais experientes. Sua sugestão já ajuda bastante. Obrigado! Em em se tratando de umas 200 variaveis, eu terei que encontrar uma forma mais organizada e fácil de contornar minhas falhas nesse ponto. -
char buffer[tamanho]; snprintf(buffer, tamanho, "%lli\t%i\t%s\t%... grande a lista...", a, b, c, d, e... muitas variaveis); Eu tenho muitas variaveis que eu queria colocar numa string chamada buffer. So que esses parametros como %s, %i, %lli e etc não seguem um padrão, mas eles são necessários, pelo menos para o comando snprintf. O fwrite também tem essa obrigação? Parece que sim, e isso pra mim é um convite ao erro.... e eu sou mané... tenho aceitado o convite toda hora... Isso é algo que pode dificultar a manutenção se o programa crescer e necessitar de uma variavel em uma posição. No meio desse tanto de letrinha tá complicado pra mim que só uso o GEdit e o gcc em linha de comando. Existe algum comando que torne esses "%XXX" em algo "%generico" pra colocar tudo na string? provavelmente vcs mais evoluidos que eu na linguagem utiliza algum comando ou recurso além do meu conhecimento. Obrigado pela atenção de todos
-
Eu quem agradeço. Eu não lembrava disso. Usei essa lib pra fazer joguinhos. Mas acho que a resposta do if é mais simples e elegante. Serviu pra mim adquirir conhecimento. Sucesso ao senhor.
-
Eu usava uma biblioteca chamada Allegro. Talvez possa te ajudar.
-
C como contrar letras de uma palavra da string
codigo rapido respondeu ao tópico de Nelsonderocha em C/C#/C++
Eu percebi que ele quer é alem do que postamos. É palavra. E não apenas string o que ele quer. Midori foi muito bom observador. As vezes eu pego a questão e coisas assim me passam desapercebidas. -
C como contrar letras de uma palavra da string
codigo rapido respondeu ao tópico de Nelsonderocha em C/C#/C++
você pode usar o comando strleng assim: int tm = strleng(suastring) Ou simplesmente fazer um laço for: int i=0; for(; suastring[i]!='\0'; i++) { } o i é o resultado que busca Sucesso pra você Desculpa... ficou parecendo que eu copiei de você. Não tinha o post na hora que eu postei vi que o seu já tinha entrado. -
C Existe comando equivalente à fseek mas que pare o cursor sobre uma linha?
codigo rapido respondeu ao tópico de codigo rapido em C/C#/C++
Não percebe que se você já fez um laço for pra usar esses fgets não vai mais precisar de fseek? -
C Existe comando equivalente à fseek mas que pare o cursor sobre uma linha?
codigo rapido respondeu ao tópico de codigo rapido em C/C#/C++
você não sabe o que um fseek faz? moço, você mesmo quem passou um codigo com isso pra mim. E sem eu te pedir... e de novo... eu fui especifico que eu procuro um comando equivalente ao fseek, mas que me permita parar o cursor apenas sobre o enézimo '\n' dado... Não tem como melhorar isso. O uso de fseek para posicionar o leitor em um ponto do arquivo permite que esse método seja mais rápido do que eu ficar passando a toda hora por todas as linhas anteriores a uma x linha dada. Então se eu falei de fseek é porque eu quero algo que funcione de forma equivalente. Algo que vá direto ao ponto. Em quê isso se assemelha a um fgets? Nada! E isso tem até logica: O fseek, alem de parar num ponto especifico dado, ele não testa caracteres. Ele simplesmente os pula para o ponto dado. Qualquer outro comando, mesmo que seja para parar exatamente sobre o '\n' dado terá que testar caractere por caractere, até encontrar o desejado, mesmo que seja para mapea-lo em algum momento, como eu mesmo sugeri que poderia ser criado comando assim. Não tem nada a ver com o que eu perguntei. E sua resposta só mostra uma coisa: As coisas foram definidas assim em C por um motivo... E isso faz diferença sim, principalmente no que se refere a utilidade. isso vai influenciar na escolha dos comandos que irá utilizar. Ou você vai querer utilizar um printf de qualquer parte de dentro de arquivo binário pro usuário? se você falar que sim porque não faz diferença entre arquivo texto de binario... Então podia ser o bin compilado ou o .txt ou .c fonte... se isso for relevante, como é para as coisas que eu perguntei, você falaria que era o binario ou o fonte... Mas veja... não foi o que eu perguntei. Mas mesmo assim vou te dar a dica, aprende: todo o arquivo texto é binário, mas nem todo arquivo binario é texto. Por isso não faz sentido falar de certos comandos de tratamento de texto para arquivos que são binarios. Então não venha com baboseiras genéricas porque eu não to fazendo outra linguagem. Eu to estudando C. Não é Java, não é C++, não é assembly... É C e ponto! Então aceite que para a linguagem faz direfença sim cada um desses detalhes que você inciste em discutir. -
C Existe comando equivalente à fseek mas que pare o cursor sobre uma linha?
codigo rapido respondeu ao tópico de codigo rapido em C/C#/C++
Obrigado a todos pelas respostas! Mas pelo que eu li, infelizmente isso que estou querendo não é possivel em C. Não existe como o cursor, como um fseek, parar sobre um "\n" especifico. Eu seria obrigado a ter mapeado todas as quebras de linha. A solução para mim é fazer como o convencional do fseek e tratar os dados de outro modo. -
o que você já fez pra pelo menos mostrar cada char da string de cada vez? Sabe o que é um scanf? sabe o que é um printf e como usar? sabe fazer um loop no array da string? subi no onibus
-
C++ Dobrar o tamanho do vetor a cada redimensionamento em c++
codigo rapido respondeu ao tópico de fevilela em C/C#/C++
Mas ele tá lá, cadastrado? porque se for isso, então é mesmo o tamanho do seu array que tá errado. Faz um print no momento que você cadastra pra tentar puxar e ver. As vezes eu erro isso também. Pra arrumar isso talvez vai ter que colocar um "+1" ou "-1" em algum lugar... usa breakpoint no final dos metodos (loops) que interagem com essa variavel. Ai você vai descobrir se tem que subtrair ou adicionar 1 -
C Existe comando equivalente à fseek mas que pare o cursor sobre uma linha?
codigo rapido respondeu ao tópico de codigo rapido em C/C#/C++
para ler: fscanf(arquivo , " %*[^\n]"); para gravar: answer = fscanf(arquivo , " %[^\n]" , &buff[0]); Não sei se isso funciona com fseek... O fseek posiciona o cursor pra leitura e gravação num ponto no arquivo. veja: fseek(file, (registro - 1) * LENGTH_LINE, SEEK_SET); No caso, todas as linhas são obrigatoriamente do mesmo tamanho LENGTH_LINE. Supondo que o ponto em que o cursor para é = (registro - 1) * LENGTH_LINE a posição em que o cursor pula é de 'LENGTH_LINE' em 'LENGTH_LINE'. Isso acelera muito as leituras e gravacões. O comando para posicionar o cursor sobre o primeiro caractere logo após o 3º '\n' é qual? O fseek também é capaz de posicionar o cursor apos, por exemplo, o 3º '\n'? Então eu queria saber se de alguma forma o fseek ou outro comando faça o equivalente, mas com o 'passo' dependendo da posição de cada '\n'. Exemplo: fseek(file, registro_Numero_x_depois_de_barra_n, SEEK_SET); -
C Existe comando equivalente à fseek mas que pare o cursor sobre uma linha?
codigo rapido postou um tópico em C/C#/C++
tenho a seguinte linha para ler um txt: fseek(file, (registro - 1) * LENGTH_LINE, SEEK_SET); fseek é para ler conjuntos de bytes de tamanho LENGTH_LINE. Onde o inicio do proximo se dá de acordo com (registro - 1) * LENGTH_LINE. Existe algum comando que mova o cursor, equivalente ao fseek, que leia os dados entre cada '\n' ? -
C++ Dobrar o tamanho do vetor a cada redimensionamento em c++
codigo rapido respondeu ao tópico de fevilela em C/C#/C++
você usa breakpoint? Ou pelo menos coloca print pra procurar em que momento isso está acontecendo? Isso acontece comigo quando eu uso um ponteiro de forma errada ou algum ponteiro para um array está sendo lido além do tamanho dele. -
C Existe C injection assim como existe SQL injection?
codigo rapido respondeu ao tópico de codigo rapido em C/C#/C++
obrigado! não consigo escrever uma resposta melhor porque o site parece com problemas. Obrigado! É isso mesmo! Na verdade não pretendo fazer isso. Eu estou fazendo um servidor bem simples com base no tiny.c que encontrei e me veio essa preocupação. A preocupação pra mim então é só com o sql injection. Isso pra mim é fácil. Muito obrigado pelas dicas! -
C++ Input de dados e alocação em matriz, alguém conhece um método seguro/eficiente?
codigo rapido respondeu ao tópico de Guilherme Serako em C/C#/C++
Olha isso: #include <stdio.h> int main() { float matriz[4][3]; //char *s = (float *) malloc(10*3*sizeof(float)); // se não usar malloc: char s[255]; printf("Cole os valores:\n"); gets(s); printf("\n"); //cole os dados: //62.0 66.0 2.1, 59.0 113.2 1.3, 47.0 94.2 1.7, 21.0 85.2 2.0 sscanf(s, "%f %f %f, %f %f %f, %f %f %f, %f %f %f", &matriz[0][0],&matriz[0][1],&matriz[0][2], &matriz[1][0],&matriz[1][1],&matriz[1][2], &matriz[2][0],&matriz[2][1],&matriz[2][2], &matriz[3][0],&matriz[3][1],&matriz[3][2] ); for(int i=0; i<4; i++) { for(int j=0; j<3; j++) { if(j==0) printf("%0.0f ", matriz[i][j]); else printf("%0.1f ", matriz[i][j]); } printf("\n"); } //free(s); // se usar malloc return 0; } Não tá completo, não é exatamente como definiu, mas é só adaptar o exemplo para o que quer. -
C Existe C injection assim como existe SQL injection?
codigo rapido respondeu ao tópico de codigo rapido em C/C#/C++
Excelente! Muito bom! Obrigado Flávio! -
C++ Input de dados e alocação em matriz, alguém conhece um método seguro/eficiente?
codigo rapido respondeu ao tópico de Guilherme Serako em C/C#/C++
você já viu a função sscanf? Acho que ela poderia te ajudar. Se você usar um scanf normal pra colar tudo o que quer, na sequencia você usa um sscanf pra pegar as variaveis que você querseparadinhas e bonitinhas.
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