Ir ao conteúdo
  • Cadastre-se

Victor.main

Membro Júnior
  • Posts

    13
  • Cadastrado em

  • Última visita

Reputação

0
  1. Bom dia! Seguinte: sem querer ao fazer dual boot no meu pc com Ubuntu e Windows, desaloquei partição do Windows. Não perdi muitas coisas importantes. Somente uma: o Driver de ancoragem USB pra poder usar meu celular como "modem" (Pois meu pc não tem wi-fi). Já procurei muuuuito por esse driver para Young Plus S6293T mas não achei. Já me disseram muito sobre o Kies mas nunca deu certo comigo... Queria somente o driver de novo... Alguém poderia me ajudar?? Desde já agradeço!
  2. Boa Noite! Meu Deus cada coisa que aparece nesse meu trabalho! Estou fazendo um jogo-senha para o usuário adivinhar uma senha gerada pelo computador. Essa senha é composta por cores com seus nomes abreviados (vm = vermelho, az = azul..). O usuário que escolhe os parâmetros do jogo, tais como tamanho de senha (variável n) e tal... Caso o usuário acerte a cor na posição certa (mesma posição gerada pelo computador) deve ser mostrado na tela o caractere '@', se tiver acertado, mas na posição errada, deve ser mostrado '!'. Porém, o usuario pode entrar cores repetidas, da mesma forma que o computador pode gerar senhas repetidas. Daí, por exemplo, se o computador gerar a senha vd, vm, vd, vd e o usuário entrar com vd, vm, am, vm a saída deve ser @@. Maaas.. meu código tá dando o seguinte: @@! //Comparar jogada do usuario com jogada do computador for(i=0; i<n; i++){ cont=0; if(strcmp(vs[i], jog[i]) == 0){ printf("@"); } else{ for(j=1; j<n; j++){ if((strcmp(jog[i], vs[j]) == 0) && (cont<2)){ printf("!"); cont = cont++; } } } } Eu sei onde está o erro mas passei horas tentando resolver e não achei uma solução... vs é onde guardo as jogadas do computador. jog onde estão as jogadas do usuário.
  3. Ah... Não sabia desse detalhe da função if() rsrs. Muito obrigado, ScreenBlack! Agora só resta um passo para o fim de meu projeto heh Bom saber, dontpanic, facilita demais! Obrigado!
  4. Boa noite! Estou quase terminando meu trabalho: criar um jogo de senha usando cores... Como parte interativa do projeto, devo usar cores de verdade nas palavras utilizando uma biblioteca cores.h como no exemplo: (Para cada cor que o usuário digitou, 'o' deve sair colorido. Cada cor é representada por abreviações) Digite sua jogada: vm, vd, am, az o o o o Mas faço o seguinte código e aparece vários o's de cores quase aleatórias... não sei porque... for(i=0; i<n; i++) { printf("%s, ", vs[i]); if (strcmp(jog[i], "vm")){ printf("%so ", COR_VERMELHO); } if (strcmp(jog[i], "vd")){ printf("%so ", COR_VERDE); } if (strcmp(jog[i], "am")) { printf("%so ", COR_AMARELO); } if (strcmp(jog[i], "az")) { printf("%so ", COR_AZUL); } if (strcmp(jog[i], "mg")) { printf("%so ", COR_MAGENTA); } if (strcmp(jog[i], "ci")){ printf("%so ", COR_CIANO); } } vs é o vetor onde estou guardando as jogadas do usuario... A biblioteca cores.h é a seguinte (estou desconfiando que não estou sabendo usar... #ifndef __CORES_TRABALHO#define COR_NORMAL "\x1B[0m"#define COR_VERMELHO "\x1B[31m"#define COR_VERDE "\x1B[32m"#define COR_AMARELO "\x1B[33m"#define COR_AZUL "\x1B[34m"#define COR_MAGENTA "\x1B[35m"#define COR_CIANO "\x1B[36m"#define COR_BRANCO "\x1B[37m"#define COR_PRETO "\x1B[30m"#define FUNDO_PRETO "\x1B[40m"#define FUNDO_VERMELHO "\x1B[41m"#define FUNDO_VERDE "\x1B[42m"#define FUNDO_AMARELO "\x1B[43m"#define FUNDO_AZUL "\x1B[44m"#define FUNDO_MAGENTA "\x1B[45m"#define FUNDO_CIANO "\x1B[46m"#define FUNDO_BRANCO "\x1B[47m"#define FUNDO_NORMAL "\x1B[49m"#define __CORES_TRABALHO#endif/********************** EXEMPLO DE UTILIZAÇÃO printf("Entre a sua jogada, composta de cinco cores separadas por vírgula, usando o código a seguir:\n%s - vm = vermelho\n%s - vd = verde\n%s - am = amarelo\n%s - az = azul\n%s - mg = magenta\n%s - cn = ciano\n\n%sEntre sua jogada: ", COR_VERMELHO, COR_VERDE, COR_AMARELO, COR_AZUL, COR_MAGENTA, COR_CIANO, COR_NORMAL); */
  5. Bom dia! Preciso fazer um jogo senha onde o usuario entre com cores e tente acertar as cores escolhidas aleatoriamente pelo computador. A entrada do usuario deve ser na seguinte forma: "vd,az,mg,vm" onde cada abreviação corresponde a uma cor (vm = vermelho, az = azul etc.) como o usuario também estipula os parametros da partida (numero de opções de cores, numero de jogadas...) estou usando alocação dinâmica de memória. Já criei o vetor com as cores aleatorias do computador, mas agr falta armazenar em outro vetor as cores jogadas pelo usuario! Tentei fazer um teste so com a primeira cor.. e não consigo usar strcpy ou strcat... Some help, please? char *entrada; entrada = (char*)malloc((n*4)-1); //aloca espaço suficiente para armazenar a senha scanf(" %[^\n]s", entrada); //aceita entrada do usuario com espaços //Armazenando jogada em vetor char **vd; // vd = vetor digitado vd = (char**)malloc(sizeof(char*) * n); for (i=0; i<n; i++){ // alocando vetor de n posições para as n jogadas entradas vd = (char*)malloc(3); } for(i=0; i<2; i++){ strcpy(vd[1], "vm"); } PS: Sou iniciante nesse fórum.. n sei colocar o código daquela outra forma, se pudeem me explicar isso também agradeceria rsrs
  6. Ah olliver.soul agora descobri o porquê do erro, simplesmente estava alocando o espaço fora do laço.. :3 Muito obrigado mesmo, cara, me salvou! ^^
  7. Obrigado! Compilou tudo certinho mas dá uma falha de segmentação ao final... Nesse trecho de código vocÊ usa o 6 como sendo o número de palavras e o 3 comop sendo a quantidade de caracteres? Porque troquei as variáveis para n e char * 2 (já que as abreviações das cores são todas com 2 caracteres.. char **vs; vs = (char**)malloc(sizeof(char*) * n); vs = (char*)malloc(sizeof(char)*2); for (i=1; i<=n; i++) { ran = rand()%(pc-1); switch(ran) { case 0: strcpy(vs[0], "vm"); break; case 1: strcpy(vs[1], "vd"); break; . . .
  8. Bom dia pessoal. Estou com um trabalho bem grandinho pra fazer, sobre um jogo de senhas envolvendo cores, onde o computador terá que criar uma senha e o usuário entrar com uma. Ai deverá ser mostrado os acertos e tal.. Porém, nesse jogo o usuário deverá entrar com os parâmetros, por exemplo, o número de cores disponíveis, o tamanho da senha, o limite de jogadas... E, por isso, o programa deve ser feito consumindo o minimo de memória possivel. Pra isso, malloc! Mas me surgiu uma dúvida sobre como estou usando a função errada. Vou explicar, no jogo, as cores são representadas por abreviações (vermelho = vm, azul = az...). Ai ao criar o vetor char de duas posições para armazenar as cores.. surgiu ma dúvida: Precisarei criar um vetor contendo vetores do tipo char[2] para armazenar as jogadas??? Parte do meu código: //n = tamanho de senha //pc = posibilidade de cores //lim = limite de jogadas //ran = numero "randômico" int n, pc, lim, ran, i; char *vs; //vs = vetor sorteado printf("Qual o Tamanho de Senha Desejado? (de 4 a 12) "); scanf("%d\n", &n); while ((n < 4) || (n > 12)) { printf("Tamanho incorreto, por favor, digite um número entre 4 e 12: "); scanf("%d\n", &n); } printf("Qual o Número de Possibilidades de Cores Desejado? (de 3 a 6) "); scanf("%d\n", &pc); while ((pc < 3) || (pc > 6)) { printf("Número incorreto, por favor, digite um número entre 3 e 6: "); scanf("%d\n", &pc); } printf("Qual o Limite de tentativas de adivinhação? (a partir de 1)"); scanf("%d\n", &lim); while (lim < 1) { printf("Número incorreto, por favor, digite um número acima de 1: "); scanf("%d\n", &lim); } //Criando a senha sorteada pelo computador vs = (char *)malloc(n*sizeof(2)); for (i=0; i<=(n-1); i++) { ran = rand()%(pc-1); switch(ran) { case 0: vs = "vm"; break; case 1: vs = "vd"; break; case 2: vs = "am"; break; case 3: vs = "az"; break; case 4: vs = "mg"; break; case 5: vs = "ci"; break; } }
  9. Postado Hoje, 15h41min Claro que sim, talvez so poderei a noite ja que ainda estou na faculdade.. UPDATE Olá de novo! Surgiram mais dúvidas hehe... Nunca usei nada com arquivo texto e meu professor não explicou nada disso (queria que a gente pesquisasse e aprendesse cada um por si). Então estou meio perdido até mesmo quanto à declaração das variáveis. Bom, aí está parte do meu código: Program read_arq;var arq : text; j, j1, j2 : String; x, y: integer; v : array[1..2,1..2] of integer;function Copy(S: string; Ind: integer; Cont: integer); Begin if (ParamCount = 1) then Begin Assign(Entrada,ParamStr(1)); Reset(Entrada); while not eof(Entrada) do Begin readln(Entrada,j); for x := 1 to Lenght(j) do Begin if j[x] = '/' then Begin for y := 1 to Lenght(x-1) do jog1 := Copy(j, y); for y := Lenght(x+1) to Lenght(j) do jog2 := Copy(j, y); End; End; {Comandos para testar as entradas} End; End; End; Não consegui "formatar" o outro texto (internet aqui está horrível)
  10. Ele permitiu uso de funções sim ainda bem... Muito obRigado pela ajuda eu achei que estava fazendo tudo errado hehe valeu
  11. Olá pessoal, estou com um probleminha aqui... Seguinte, meu professor passou um trabalho pra eu fazer: um jogo pedra-papel-tesoura-lagarto-spock (uma variante do famoso Jan Ken Po). Porém, esse jogo será dividido em duas partes: a online e a offline, a primeira já fiz já que basta os usuarios entrarem com as jogadas e eu analisar... O problema está no modo offline: ele quer que o usuário chame um arquivo texto no terminal onde estão todas as jogadas no seguinte formato: papel/tesoura lagarto/pedra tesoura/spock ...{daí em diante...} como ler o arquivo eu sei, uso um WHILE NOT EOF e tal, mas agora, como fazer o compilador analisar o texto somente até antes da barra e armazenar a jogada em uma variável? Depois continuar analisando o texto até fim da linha? É posível usar um FOR com um LENGHT? Estava pensando em fazer algo do tipo: if (ParamCount = 1) then Begin Assign(Entrada,ParamStr(1)); Reset(Entrada); while not eof(Entrada) do Begin readln(Entrada,j1); for x := 1 to Lenght(j1) do Begin if j1[x] = '/' then Begin for y := 1 to Lenght(x-1) do {condiçoes das jogadas} End; End; End; End; Desde já agradeço futuras respostas
  12. Putz não tinha percebido isso... Hehe valeu mesmo
  13. Olá a todos, sou iniciante em pascal aí estou fazendo um programa tipo um jogo pedra papel tesoura e então eis que me surge um problema: validação de entradas tipo string. Coloquei um while para repetir a frase 'digite uma jogada válida' toda vez que o usuario digitar uma entrada invalida. Mas ai mesmo com a entrada estando correta o programa cai no while e fica no loop... Meu codigo ta assim: Readln (jog1);While (jog1<>'pedra') or (jog1 <> 'papel') or (jog1 <> 'tesoura') doBeginWriteln ('Digite algo válido:');Readln (jog1);End;

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!