Ir ao conteúdo
  • Cadastre-se

Alessandroequilibrio

Membro Júnior
  • Posts

    13
  • Cadastrado em

  • Última visita

Reputação

3
  1. erro de novo o fscanf , não vai funcionar para palavras compostas tipo no nivel filmes temos querra nas estrelas , ai a função fscanf so pega "gerra" vou ver o que podemos fazer
  2. funcionou o Rand ainda estou com um pequeno erro esta criando uma lacuna a mais , isso não acontecia antes , com codico antigo #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<locale.h> #include<string.h> #define MAX 10 //:: retorna numero aleatório de 0 a 10 int numAleatorio() { return(rand() % MAX); } char palavra[50];// var global void jogo() { //var local char letra[50],lacuna[50]="_"; int tam_palavra,vida=4,x,i,pontos=0; for(i=0; i<strlen(palavra); i++)//retorna o tamanho, em caracteres, de uma string //strlen() procura o terminador de string e calcula a distância dele ao início da string lacuna[i]='-'; tam_palavra=strlen(palavra); printf("\n Palavra secreta: "); while(vida>0) { x=0; printf("\n %s \n",lacuna); printf("\n Digite uma letra minuscula: "); gets(letra); for(i=0; i<strlen(palavra); i++) { if(letra[0]==palavra[i]) { lacuna[i]=palavra[i]; pontos++; x++; } } if(x==0) { vida=vida-1; if(vida==0) { printf("\n\n voce FOI ENFORCADO!"); printf("\n A PALAVRA ERA: %s",palavra); break; } else printf("\n RESTAM %d VIDA(S)",vida); } else { if(pontos==tam_palavra) { printf("\n\n voce GANHOU!"); printf("\n A PALAVRA E: %s",palavra); break; } else { printf("\n voce ACERTOU UMA LETRA!"); } } } } // Chama nivel fácil, animais void easy(char *palavra, const char *arquivo, int linha){ FILE *ff = fopen(arquivo, "r"); if(ff){ while(fgets(palavra, 50, ff) > 0){ //se a linha for 2, ela diminui 2 e encontra... if(linha-- == 0) break; } if(strlen(palavra)>0){ palavra[strlen(palavra)] = '\0'; }else{ palavra[0] = '\0'; } fclose(ff); }else { printf("Falha ao abrir arquivo!\n"); } printf("Dica:\n"); printf("**ANIMAL**:\n"); } // Chama nivel medio, Paises. void mediun(char *palavra, const char *arquivo, int linha){ FILE *ff = fopen(arquivo, "r"); if(ff){ while(fgets(palavra, 50, ff) > 0){ //se a linha for 2, ela diminui 2 e encontra... if(linha-- == 0) break; } if(strlen(palavra)>0){ palavra[strlen(palavra)] = '\0'; }else{ palavra[0] = '\0'; } fclose(ff); }else { printf("Falha ao abrir arquivo!\n"); } printf("Dica:\n"); printf("**PAIS SULAMERICANO**:\n"); } // Chama nivel difícil, Filmes. void hard(char *palavra, const char *arquivo, int linha){ FILE *ff = fopen(arquivo, "r"); if(ff){ while(fgets(palavra, 50, ff) > 0){ //se a linha for 2, ela diminui 2 e encontra... if(linha-- == 0) break; } if(strlen(palavra)>0){ palavra[strlen(palavra)] = '\0'; }else{ palavra[0] = '\0'; } fclose(ff); }else { printf("Falha ao abrir arquivo!\n"); } printf("Dica:\n"); printf("**FILME**:\n"); } int main() // Funcao Principal. { srand(time(NULL)); int ale = numAleatorio(); setlocale(LC_ALL, "Portuguese"); int opcao; char frase; printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #"); printf("\n # #"); printf("\n # MENU PRINCIPAL #"); printf("\n # #"); printf("\n # 1 – fácil #"); printf("\n # 2 – Medio #"); printf("\n # 3 – difícil #"); printf("\n # 0 – Sair #"); printf("\n # #"); printf("\n # Programador: #"); printf("\n # Gustavo Javorsky e Alessandro Donizetti #"); printf("\n ##########################################################\n"); printf("\n Digite um comando para prosseguir:\n"); scanf("%d",&opcao); switch (opcao) //Puxa função fácil, medio ou difil (le arquivo) { case 0: { exit(0); break; } case 1: { system("cls"); easy(palavra, "animais.txt", ale); jogo(); break; } case 2: { system("cls"); mediun(palavra, "paises.txt", ale); jogo(); break; } case 3: { system("cls"); hard(palavra, "filmes.txt", ale); jogo(); break; } default: { printf ("erro default"); break; } } return 0; } animais.txt filmes.txt paises.txt adicionado 48 minutos depois Ja consertei para ler as strings mudei de fgets para fscanf while(fscanf(ff,"%s", palavra) > 0){
  3. não consigo gerar o ramdom OK mas o fssek , nao nao compila veja minhas mudanças criei um void aleatorio () para o rand se eu entendi direito int fseek (FILE *fp,aleatorio,SEEK_SET); FILE*fp e o arquivo para qual eu direciono aleatorio, seria o valor rand, da linha e seek set, seria o inicio da palavra ai agira tenho que segurar esta palavra em uma strig (palavra), que vai levar para a funçao jogo mas não complilou o INT FSEEK #include<stdio.h> #include<stdlib.h>// necessário p/ função srand #include<locale.h> #include<string.h> #include <time.h>//necessário p/ função time() char palavra[50];// var global void jogo() { //var local char letra[50],lacuna[50]="_"; int tam_palavra,vida=4,x,i,pontos=0; for(i=0; i<strlen(palavra); i++)//retorna o tamanho, em caracteres, de uma string //strlen() procura o terminador de string e calcula a distância dele ao início da string lacuna[i]='-'; tam_palavra=strlen(palavra); printf("\n Palavra secreta: "); while(vida>0) { x=0; printf("\n %s \n",lacuna); printf("\n Digite uma letra minuscula: "); gets(letra); for(i=0; i<strlen(palavra); i++) { if(letra[0]==palavra[i]) { lacuna[i]=palavra[i]; pontos++; x++; } } if(x==0) { vida=vida-1; if(vida==0) { printf("\n\n voce FOI ENFORCADO!"); printf("\n A PALAVRA ERA: %s",palavra); break; } else printf("\n RESTAM %d VIDA(S)",vida); } else { if(pontos==tam_palavra) { printf("\n\n voce GANHOU!\n\n"); printf("\n A PALAVRA E: %s\n\n",palavra); break; } else { printf("\n voce ACERTOU UMA LETRA!"); } } } } void aleatorio () { int aleatorio; printf("\n\nProcurando a palavra:\n\n"); printf("Pressione qualquer tecla para continuar:\n\n"); srand(time(NULL)); for (aleatorio=0; aleatorio < 1; aleatorio++) { // gerando valores aleatórios na faixa de 0 a 10 aleatorio = rand() % 10; } getch(); } void easy() //Chama nivel fácil, Animais. { FILE *fp; fp=fopen("facil_animais.txt","r"); char s[10];//var local int fseek (FILE *fp,aleatorio,SEEK_SET); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**ANIMAL COM 4 LETRAS**:\n"); } void mediun() // Chama nivel medio, Paises. { FILE *fp; fp=fopen("medio_paises.txt","r"); char s[11];//var local fgets(palavra,11,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**PAIS COM 10 LETRAS**:\n"); } void hard() // Chama nivel difícil, Filmes. { FILE *fp; fp=fopen("dificil_filmes.txt","r"); char s[50]; fgets(palavra,50,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**FILME COM 20 LETRAS**:\n"); printf("**ESPAÇO DO TECLADO CONTA COMO UM CARACTERE**:\n"); } int main() // Funcao Principal. { setlocale(LC_ALL, "Portuguese"); int opcao; char frase; printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #"); printf("\n # #"); printf("\n # MENU PRINCIPAL #"); printf("\n # #"); printf("\n # 1 – fácil #"); printf("\n # 2 – Medio #"); printf("\n # 3 – difícil #"); printf("\n # 0 – Sair #"); printf("\n # #"); printf("\n # Programador: #"); printf("\n # Gustavo Javorsky e Alessandro Donizetti #"); printf("\n ##########################################################\n"); printf("\n Digite um comando para prosseguir:\n"); scanf("%d",&opcao); switch (opcao) //Puxa função fácil, medio ou difil (le arquivo) { case 0: { exit(0); break; } case 1: { system("cls"); aleatorio(); easy(); jogo(); break; } case 2: { system("cls"); aleatorio(); mediun(); jogo(); break; } case 3: { system("cls"); aleatorio(); hard(); jogo(); break; } default: { printf ("erro default"); break; } } return 0; }
  4. Pessoal, preciso teminar meu jogo da forca ja fiz o jogo rodar , lendo um arquivo txt , com varias palavras dentro do arquivo esta separado por niveis fácil -animais 4 letras medio paises 10 letras difícil - deverá ser filmes com mais letras , mais ainda não ta certo ainda põe parei , na escolha das palavras sempre ele escolhe a primeira palavra /string que esta no arquivo txt teria que ter uma forma randomica de escolher as palavras tentei usar o RANd ou Srand, mas não consegui se alguem puder me ajudar #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<locale.h> #include<string.h> char palavra[50];// var global void jogo() { //var local char letra[50],lacuna[50]="_"; int tam_palavra,vida=4,x,i,pontos=0; for(i=0; i<strlen(palavra); i++)//retorna o tamanho, em caracteres, de uma string //strlen() procura o terminador de string e calcula a distância dele ao início da string lacuna[i]='-'; tam_palavra=strlen(palavra); printf("\n Palavra secreta: "); while(vida>0) { x=0; printf("\n %s \n",lacuna); printf("\n Digite uma letra minuscula: "); gets(letra); for(i=0; i<strlen(palavra); i++) { if(letra[0]==palavra[i]) { lacuna[i]=palavra[i]; pontos++; x++; } } if(x==0) { vida=vida-1; if(vida==0) { printf("\n\n voce FOI ENFORCADO!"); printf("\n A PALAVRA ERA: %s",palavra); break; } else printf("\n RESTAM %d VIDA(S)",vida); } else { if(pontos==tam_palavra) { printf("\n\n voce GANHOU!\n\n"); printf("\n A PALAVRA E: %s\n\n",palavra); break; } else { printf("\n voce ACERTOU UMA LETRA!"); } } } } void easy() //Chama nivel fácil, Animais. { FILE *fp; fp=fopen("facil_animais.txt","r"); char s[5];//var local fgets(palavra,5,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**ANIMAL COM 4 LETRAS**:\n"); } void mediun() // Chama nivel medio, Paises. { FILE *fp; fp=fopen("medio_paises.txt","r"); char s[11];//var local fgets(palavra,11,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**PAIS COM 10 LETRAS**:\n"); } void hard() // Chama nivel difícil, Filmes. { FILE *fp; fp=fopen("dificil_filmes.txt","r"); char s[50]; fgets(palavra,50,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); printf("Dica:\n"); printf("**FILME COM 20 LETRAS**:\n"); printf("**ESPAÇO DO TECLADO CONTA COMO UM CARACTERE**:\n"); } int main() // Funcao Principal. { setlocale(LC_ALL, "Portuguese"); int opcao; char frase; printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #"); printf("\n # #"); printf("\n # MENU PRINCIPAL #"); printf("\n # #"); printf("\n # 1 – fácil #"); printf("\n # 2 – Medio #"); printf("\n # 3 – difícil #"); printf("\n # 0 – Sair #"); printf("\n # #"); printf("\n # Programador: #"); printf("\n # Gustavo Javorsky e Alessandro Donizetti #"); printf("\n ##########################################################\n"); printf("\n Digite um comando para prosseguir:\n"); scanf("%d",&opcao); switch (opcao) //Puxa função fácil, medio ou difil (le arquivo) { case 0: { exit(0); break; } case 1: { system("cls"); easy(); jogo(); break; } case 2: { system("cls"); mediun(); jogo(); break; } case 3: { system("cls"); hard(); jogo(); break; } default: { printf ("erro default"); break; } } return 0; } segue tambem o arquivo txt de fácil animais facil_animais.txt
  5. ok , mas eu ja tinha postado em 50 , então o erro foi meu
  6. consertei assim nas funçoes void easy() void medium () e void hard() char s[50];//var local fgets(palavra,49,fp); mudei para a quantidade exta de letras de cada arquivo txt tipo no txt fácil tem as palvras gato rato sapo ai troquei para char s[6];//var local fgets(palavra,5,fp); e deu certo quando ficar pronto posto o cod ainda falta o rand de palavras , sempre pega a mesma palavra quando incia o programa
  7. ok, valeu pela ajuda deu certo---mais ou menos veja o print também alterei a variável TAM palavra para inteiro adicionado 16 minutos depois o strlen esta pegando um caracter a mais na palavra seria um caracter em branco
  8. pronto ja esta chamando a função #include <stdio.h> #include <ctype.h> void palavra() { char palavra; printf("digite uma palavra:\n",palavra); scanf("%c",&palavra); if (isalpha(palavra)){ printf("voce digitou uma letra do alfabeto\n"); palavra = toupper(palavra); printf("a letra em maiuscula: %c \n\n",palavra); palavra = tolower(palavra); printf("a letra em minuscula: %c \n\n",palavra);} else{ printf("voce nao digitou uma letra do alfabeto\n\n"); } } int main () { int num, num1 ; printf("1-EXIT:\n"); printf("1-Converte um caracter para minúsculo:\n"); printf("2-Converte um caracter minúsculo em maiúsculo:\n"); printf("3-Verifica se o caracter é alfanumérico:\n"); printf("4-Verificar se o caracter é uma letra do alfabeto:\n"); printf("5-Verificar se o caracter é um caracter de controle:\n"); printf("6-Verificar se o caracter é um digito decimal:\n"); printf("7-Verifica se o caracter tem representação gráfica:\n"); printf("8-Verifica se o caracter é minúsculo:\n"); printf("9-Verifica se o caracter é imprimível:\n"); printf("10-Verifica se o caracter é um ponto:\n"); printf("11-Verificar se o caracter é um espaço em branco:\n"); printf("12-Verifica se o caracter é uma letra maiúscula:\n"); printf("13-Verifica se o caracter é um dígito hexadecimal:\n"); printf("escolha uma das opções de 1 a 13:\n"); scanf("%d",&num); switch (num) //Puxa função { case 0: { exit(0); break; } case 1: { system("cls"); palavra(); break; } default: { printf ("erro default"); break; } } return 0; } agora segue dai usei o switch / case para chamar a função arrumei nome da função adicionado 0 minutos depois coloquei exit no inicio do menu, porém esqueci de mudar para zero
  9. Bom dia pessoal preciso terminar meu aps de fim de semestre tenho duas coisas ainda apara fazer no meu codico o programa esta lendo o arquivo txt normal, porém não pega a primeira letra no final ele ate acerta a palavra , mas não aparece a primeira letra/caractere outro erro , que ainda ainda não iniciei a fazer seria o rand de palavras dentro do txt lembrando que para cada função existe um arquivo txt dentro da pasta raiz do programa segue o codico #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<locale.h> #include<string.h> char palavra[50];// var global void jogo() { char tam_palavra,letra[50],lacuna[50]="_";//var local int vida=4,x,i,pontos=0;//var local printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #\n\n\n"); for(i=0; i<strlen(palavra); i++)//retorna o tamanho, em caracteres, de uma string //strlen() procura o terminador de string e calcula a distância dele ao início da string lacuna[i]='-'; tam_palavra=strlen(palavra); printf("\n Palavra secreta: "); while(vida>0) { x=0; printf("\n %s \n",lacuna+1); printf("\n Digite uma letra minuscula: "); gets(letra); for(i=0; i<strlen(palavra); i++) { if(letra[0]==palavra[i]) { lacuna[i]=palavra[i]; pontos++; x++; } } if(x==0) { vida=vida-1; if(vida==0) { printf("\n\n voce FOI ENFORCADO!"); printf("\n A PALAVRA ERA: %s",palavra); break; } else printf("\n RESTAM %d VIDA(S)",vida); } else { if(pontos==tam_palavra) { printf("\n\n voce GANHOU!"); printf("\n A PALAVRA E: %s",palavra); break; } else { printf("\n voce ACERTOU UMA LETRA!"); } } } } void easy() //Chama nivel fácil, Animais. { FILE *fp; fp=fopen("facil_animais.txt","r"); char s[50];//var local fgets(palavra,49,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); } void mediun() // Chama nivel medio, Paises. { FILE *fp; fp=fopen("medio_paises.txt","r"); char s[50];//var local fgets(palavra,49,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); } void hard() // Chama nivel difícil, Filmes. { FILE *fp; fp=fopen("dificil_filmes.txt","r"); char s[50]; fgets(palavra,49,fp); if(fp == NULL) printf("Erro, nao foi possivel abrir o arquivo\n"); fclose(fp); } int main() // Funcao Principal. { setlocale(LC_ALL, "Portuguese"); int opcao; char frase; printf("\n >>>>>>>>>>>>>>> UTFPR <<<<<<<<<<<<<<<<"); printf("\n # LINGUAGEM DE PROGRAMACAO #"); printf("\n # #"); printf("\n # MENU PRINCIPAL #"); printf("\n # #"); printf("\n # 1 – fácil #"); printf("\n # 2 – Medio #"); printf("\n # 3 – difícil #"); printf("\n # 0 – Sair #"); printf("\n # #"); printf("\n # Programador: #"); printf("\n # Gustavo Javorsky e Alessandro Donizetti #"); printf("\n ##########################################################\n"); printf("\n Digite um comando para prosseguir:\n"); scanf("%d",&opcao); switch (opcao) //Puxa função fácil, medio ou difil (le arquivo) { case 0: { exit(0); break; } case 1: { printf("Dica:\n"); printf("**ANIMAL**:\n"); system("cls"); easy(); jogo(); break; } case 2: { printf("Dica:\n"); printf("**PAIS**:\n"); system("cls"); mediun(); jogo(); break; } case 3: { printf("Dica:\n"); printf("**FILME**:\n"); system("cls"); hard(); jogo(); break; } default: { printf ("erro default"); break; } } return 0; }
  10. Fiz um progaminha estes dias , que pode te ajudar Este programa, dado um horário, calcula quantos minutos e segundos transcorreram desde o início do dia #include <stdio.h> int main() { int h,m,s,tot; { printf("Este programa, dado um horário, calcula quantos minutos e segundos transcorreram desde o início do dia.)\n"); } { printf("Informe o horário (hora)\n"); } scanf("%d",&h); printf("Informe o horário (minuto)\n"); scanf("%d",&m); printf("Informe o horário (segundo)\n"); scanf("%d",&s); tot=(((h * 60) + m) * 60 + s); printf("Segundos decorridos desde 00:00:00: eh %d",tot); }
  11. Windows ou linux? você instalou o code blocs e o compilador separados,? geralmente isso não da certo não sei porque Tente instalar o .exe com o programa e o compilador juntos,
  12. exercício 03 Faça um programa que preencha duas matrizes 8x8 com números inteiros e depois multiplique a diagonal principal da primeira pela diagonal secundária da segunda. Depois mostre o resultado. tenho que criar duas matrizes 8x8, mostrar as diagonais principal da primeira e diagonal secundaria da segunda e multiplicar as diagonais falta somente a multiplicação vejam meu códico #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> #define tam 2 // somente para teste ,depois mudar para 8 main() { setlocale(LC_ALL,"portuguese"); int Matriz1 [tam][tam]; int linha1,coluna1; int Matriz2 [tam][tam]; int linha2,coluna2; printf("----------------------\n"); printf("Matriz 01:\n"); printf("----------------------\n"); for (linha1=0; linha1<tam;linha1++){ for (coluna1=0; coluna1<tam;coluna1++){ printf("Linha e Coluna da primeira matriz: [%d][%d] ",linha1,coluna1); scanf("%d",&Matriz1[linha1][coluna1]); } } printf("----------------------\n"); printf("Matriz 02:\n"); printf("----------------------\n"); for (linha2=0; linha2<tam;linha2++){ for (coluna2=0; coluna2<tam;coluna2++){ printf("Linha e Coluna da segunda matriz: [%d][%d] ",linha2,coluna2); scanf("%d",&Matriz2[linha2][coluna2]); } } printf("----------------------\n"); printf("Matriz 01 Digitada:\n"); printf("----------------------\n"); for (linha1=0; linha1<tam;linha1++){ for (coluna1=0; coluna1<tam;coluna1++){ printf("%5d ", Matriz1[linha1][coluna1]); } printf("\n\n"); } printf("----------------------\n"); printf("Matriz 02 Digitada:\n"); printf("----------------------\n"); for (linha2=0; linha2<tam;linha2++){ for (coluna2=0; coluna2<tam;coluna2++){ printf("%5d ", Matriz2[linha2][coluna2]); } printf("\n\n"); } printf("-----------------------------\n"); printf("Diagonal principal da matriz 01:\n"); printf("-----------------------------\n"); for (linha1=0; linha1<tam;linha1++){ for (coluna1=0; coluna1<tam;coluna1++){ if (coluna1 == linha1){ printf("%5d ", Matriz1[linha1][coluna1]); } } } printf("\n\n"); printf("-----------------------------\n"); printf("Diagonal secundária da matriz 02:\n"); printf("-----------------------------\n"); for (linha2=0; linha2<tam;linha2++){ for (coluna2=0; coluna2<tam;coluna2++){ if (coluna2 == (tam - 1 - linha2 )){ printf("%5d ", Matriz2[linha2][coluna2]); } } } // ate aqui ok, mas não esta fazendo multiplicação corretamente printf("\n\n"); printf("-----------------------------\n"); printf("Multiplicação das diagonais:\n"); printf("-----------------------------\n"); for (linha1=0; linha1<tam;linha1++){ for (coluna1=0; coluna1<tam;coluna1++){ if (coluna1 == linha1); } } for (linha2=0; linha2<tam;linha2++){ for (coluna2=0; coluna2<tam;coluna2++){ if (coluna2 == (tam - 1 - linha2 )){ printf("%5d ", (Matriz1[linha1][coluna1])*(Matriz2[linha2][coluna2])); } } } printf("\n\n"); getch(); }

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