Ir ao conteúdo
  • Cadastre-se

MassakiMsk

Membro Pleno
  • Posts

    463
  • Cadastrado em

  • Última visita

Tudo que MassakiMsk postou

  1. Galera, eu não entendo de montagem de PC, então queria a opinião de vocês. Qual seria, na opinião de vocês, o melhor PC gamer comprando peças do zero. pagando a vista para sair mais em conta. O preço pode chegar a até 6k se realmente valer a pena em comparação aos 5k. Obrigado
  2. Da uma olhada se é isso que voce quer #include <stdio.h> #include <stdlib.h> int main() { float sm; int f, n=1, m, fat; printf("DIGITE n : "); scanf("%d",&f); for(sm=1;n<=f;n++) { m=n; for(fat=1;m>1;m--) { fat*=m; } sm+=(1.0/fat); } printf("E = %.2f",sm); }
  3. Como assim "de algumas casas vizinhas"?
  4. Alguns erros: -O numero deve ser pego na função Main e depois ser usado como parametro para as outras funções. -Para saber se é par se usa o operador % (acho q é mod o nome) e nao /. O % da o resto da divisao. -Na funcao cubo você ta multiplicando n*n*n sendo que a variavel "n" nao tem valor. -Se voce ta usando um return na funcao tem que igualar a uma variavel na Main. #include <stdio.h> #include <stdlib.h> void par_impar(int num){ if (num%2==0) printf("%d é um numero par \n\n",num); else printf("%d é um numero impar \n\n",num); } int cubo_num(int num){ int c; c = num*num*num; printf("O cubo do numero é igual a: %d\n\n",c); return c; } //int unidade{ //} int main(){ char resp; int num, cubo; do{ system("cls"); printf("Informe um numero: "); scanf("%d", &num); par_impar(num); cubo = cubo_num(num); printf("\nDeseja repetir com outro numero?(s/n)? "); scanf(" %c", &resp); }while(resp=='s'); system("pause"); }
  5. Você não ta pegando um valor para a variavel codigo, então provavelmente a variavel está com um lixo de memoria que bugando o codigo. scanf("%d", &codigo); Você tá usando & nos printf sendo que nao é para usar. printf("Total: R$ %d\n", total); Você também podia colocar um default no seu switch, caso o usuario digite um codigo invalido. default: printf("Codigo invalido.\n"); break;
  6. Não entendi muito bem o que você tentou fazer, mas mudei o pedaço de verificar se o número já havia sido sorteado e parece que funciona. #include <stdio.h> #include <stdlib.h> #include <time.h> int main () { int M[4][4], i,j,k,z, aux; for(i=0;i<4;i++) for(j=0;j<4;j++) M[i][j]=0; srand(time(NULL)); for(i=0;i<4;i++){ for(j=0;j<4;j++){ aux=1; while(aux==1){ aux=0; //Sorteia o numero M[i][j] = 1+ rand() % 16; //Verifica se o numero e repetido for(k=0;k<4&&aux==0;k++){ for(z=0;z<4&&aux==0;z++){ if(M[i][j]==M[k][z]&&(i!=k||j!=z)){ aux=1; } } } //Se for repetido sorteia denovo } } } printf("\n\n\n\n"); for(i=0;i<4;i++){ for(j=0;j<4;j++){ printf("%d\t", M[i][j]); } printf("\n"); } return 0; } Podia usar DO WHILE em vez de WHILE, mas eu particularmente prefiro o WHILE sozinho rsrs.
  7. MassakiMsk

    Problemas em c

    #include <stdio.h> int main() { double valor[4]={5.30, 6.00, 3.20, 2.50}; int cod, quant; double total; printf("Insira o codigo do produto: "); scanf("%d", &cod); printf("Insira a quantidade a ser comprada: "); scanf("%d", &quant); total=quant*valor[cod-1]; if(quant>=15||total>=40.0) total*=0.85; printf("R$ %.2lf\n", total); }
  8. #include <stdio.h> #include<stdlib.h> #include<time.h> int main () { int aux[9],vet[9],i,j; srand(time(NULL)); for (i=0; i<9; i++) aux=0; for (i=0; i<9; i++) { j=rand()%9+1; while (aux[j-1]==1) j=rand()%9+1; aux[j-1]=1; vet=j; } for (i=0; i<9; i++) printf("[%d]\t",vet); } Desculpa nao por dentro da caixinha de codigo, estou respondendo pelo celular e nao tem a opcao #include <stdio.h> #include<stdlib.h> #include<time.h> int main () { int aux[9],vet[9],i,j; srand(time(NULL)); for (i=0; i<9; i++) aux=0; for (i=0; i<9; i++) { j=rand()%9+1; while (aux[j-1]==1) j=rand()%9+1; aux[j-1]=1; vet=j; } for (i=0; i<9; i++) printf("[%d]\t",vet); } Desculpa nao por dentro da caixinha de codigo, estou respondendo pelo celular e nao tem a opcao
  9. Desculpa nao poder colocar o codigo na formatação correta, estou respondendo pelo celular: #include<stdio.h> #define h 10 #define l 10 int main(){ int matriz[h][l], i, j, h1, l1, x, y, tam; printf("Altura:\n"); scanf("%d", &h1); printf("Largura:\n"); scanf("%d", &l1); printf("Matriz:\n"); for(i=0;i<h1;i++){ scanf("%d", &matriz[0]); for(j=1;j<l1;j++) scanf(" %d", &matriz[j]); } printf("coordenada x:\n"); scanf("%d", &x); printf("coordenada y:\n"); scanf("%d", &y); printf("Tamanho:\n"); scanf("%d", &tam); for(i=x-tam/2;i<=x+tam/2;i++){ for(j=y-tam/2;j<=y+tam/2;j++) if(i>=0&&i<h1&&j>=0&&j<l1) printf("%d ", matriz[j]); printf("\n"); } return 0; } Nao sei se foi bem isso que voce pediu, mas creio que sim.
  10. Talvez eu esteja falando besteira, mas é assim que eu consegui fazer funcionar: Desculpa nao conseguir usar o quadro de codigo, estou no cel e nao tem a opção #include<stdio.h> #include<locale.h> #include<stdlib.h> #include<string.h> struct descricao {char titulo [16]; char autor [21]; char estilo [11]; int codigo; float preco;}; void cadastro (struct descricao livro[], int k) { printf("Esse é o cadastro de número %d.\n",k); printf("Digite o título do livro (até 15 caracteres):"); scanf("%s",&livro[k].titulo); printf("Digite o autor do livro(até 20 caracteres):"); scanf("%s",&livro[k].autor); printf("Digite o estilo do livro (até 10 caracteres):"); scanf("%s",&livro[k].estilo); printf("Digite o código do livro:"); scanf("%d",&livro[k].codigo); printf("Digite o preço do livro:"); scanf("%f",&livro[k].preco); k=k+1; } int main( ) { setlocale(LC_ALL, "Portuguese"); int k=0; int i; struct descricao livro[10]; printf("--------------MENU DE OPÇÕES--------------\n"); printf("1-Cadastro de livros (máximo de 10 livros).\n"); printf("2-Consulta de livros.\n"); printf("3-Sair do programa.\n"); scanf("%d",&i); system("cls"); switch (i) { case 1: cadastro(livro, k); break; case 2: case 3: default: printf ("Número inválido!\n"); system ("PAUSE"); system ("cls"); break; } }
  11. Desculpa eu nao poder explicar, pois nao sei nada sobre C++, estou aprendendo o basico de C ainda, só alterei a logica do seu programa sem mudar muito o codigoEsse codigo imprime o triangulo superior sem as partes com XX do seu exempo.#include<iostream>#include<conio.h>#include<stdlib.h>#include<stdio.h>#include<math.h>using namespace std;int main(void){setlocale(LC_ALL, "Portuguese");int L,C,M[8][8],DP;/* int a,b,c,d,e,f,g,h;h=1;*/for(L=1;L<8;L++)for(C=1;C<8;C++){cout<<"Insira o numero da "<< L<<" linha e "<< C<<" coluna \n";cin>> M[L][C];}cout<<"\n\n Distâncias: \n";//r (L=1;L<=7;L++)////for (C=1;C<=7;C++)for(L=1;L<8;L++){ for(C=1;C<8;C++) if(C>=L) cout<<M[L][C]<<" "; else cout<<" "; cout<<"\n";} /*cout<< M[1][1]<<" "<< M[2][1]<<" "<< M[3][1]<<" "<< M[4][1]<<" "<< M[5][1]<<" "<< M[6][1]<<" "<< M[7][1]<<" "<< M[2][2]<<" "<< M[3][2]<<" "<< M[4][2]<<" "<< M[5][2]<<" "<< M[6][2]<<" "<< M[7][2]<<" "<< M[3][3]<<" "<< M[4][3]<<" "<< M[5][3]<<" "<< M[6][3]<<" "<< M[7][3]<<" "<< M[4][4]<<" "<< M[5][4]<<" "<< M[6][4]<<" "<< M[7][4]<<" "<< M[5][5]<<" "<< M[6][5]<<" "<< M[7][5]<<" "<< M[6][6]<<" "<< M[7][6]<<" "<< M[7][7]<<" ";cout<<"\n";*/getch();return 0;} Se quiser que imprima os XX também é só colocar um sinal de = no if:
  12. #include<stdio.h>int main(){ int h, l, matriz[10][10], i, j; printf("Digite a altura da matriz:\n"); scanf("%d", &h); printf("Digite a largura da matriz:\n"); scanf("%d", &l); printf("Insira a matriz:\n"); for(i=0;i<h;i++){ scanf("%d", &matriz[i][0]); for(j=1;j<l;j++){ scanf(" %d", &matriz[i][j]); } } for(i=0;i<l;i++){ for(j=0;j<h;j++){ printf("%d ", matriz[h-j-1][i]); } printf("\n"); } return 0;}
  13. # include <stdio.h># include <stdlib.h># include <string.h>main(){char nome[10], // Vetor para salvar o nome do jogador.tentd[1], // Variável para controlar se o jogador vai querer jogar de novo.palavra[]="ovo", // Vetor para a palavra usada no programa.espaco[3], // Vetor usado para os espaços antes e identificar a palavra.teste, // Variável usada para testar as letras, postas pelo jogador.aux=0, // Vetor para auxiliar a variável 'booleana'. Quando 1 é verdadeira e 0 é falsa.tam;int i, //Váriavel auxiliar do 'for'.chances; //Váriavel usada para contar quantas chances o jogador ainda tem.tentd[0]='s';chances=6;tam=strlen(palavra);for(i=0;i<tam;i++) espaco[i]='_';system("cls");printf("><><><><><><><><><><><><><>JOGO DA FORCA<><><><><><><><><><><><><><>\n"); // Inicio do jogowhile(tentd[0]!='n' ){ printf("Escreva o nome do jogador! \n"); scanf("%s",&nome);while(chances!=0 || aux==1 ){ aux=0; system("cls"); printf("O jogador(a): %s\n",nome); printf("Chance: %d",chances); printf("\n ÉÍÍÍÍÍÍÍÍÍÍÍ»"); printf("\n º º"); printf("\n º Ê"); printf("\n º"); printf("\n º"); printf("\n º"); printf("\n º"); printf("\n º"); printf("\n º"); printf("\n Ê\n"); for(i=0;i<tam;i++){ printf("%c ",espaco[i]); }printf("\n"); setbuf(stdin,NULL); printf("Digite uma letra! \n"); scanf("%c",&teste); for(i=0;i<tam;i++){ if(teste==palavra[i]){ espaco[i]=teste; aux=1; } } if(aux==0){ chances--; }}} system("pause");} Essa é só a parte que voce fez corrigida, Alterei os ciclos for's para ir de 0 até o tamanho da palavra, coloquei para reimprimir a forca toda vez q o usuario digitasse algo (se nao fizer isso a tela nao muda mesmo que o cara digite algo), e fiz a variavel auxiliar resetar toda vez para fazer a comparação na hora de diminuir a vida. Agr uma dica: faça com que letras repetidas nao sejam contadas como erros ou acertos...
  14. voce alterou o diretorio do arquivo no codigo que passei? No meu codigo deixei "teste.txt" só como exemplo. Estranho nao funcionar, no meu codeblocks (windows) funcionou bem
  15. Teria o enunciado do exercicio? pois nao entendi muito bem sua explicação. Se tiver e eu entender posso tentar ajuda-lo.
  16. #include <stdio.h> int main() { char texto[100]; FILE *file; file=fopen("teste.txt", "r"); while(fgets(texto, 100, file)!=NULL) printf("%s", texto); fclose(file); return 0; }
  17. Alterei a declaração do "int x" e a chamada da função "ler" tava no lugar errado dentro do "printf", ela deve ser chamada antes, pois ali o "printf" estava tentando imprimir o que nao devia. #include <stdio.h>#include <stdlib.h>#define T 3struct aluno {char nome [100];int idade;int ra;float mensal;};struct aluno ler (){struct aluno a;printf("\n----Digite seu nome:---- \n");fflush(stdin);gets(a.nome);printf("----Digite sua idade:---- \n");scanf("%d",&a.idade);printf("----Digite seu RA:---- \n");scanf("%d",&a.ra);printf("----Digite sua mensalidade:---- \n");scanf("%f",&a.mensal);printf("\n============================\n");return a;}void imprime (struct aluno a[T]){ int x;for (x=0; x<T; x++){printf("\t Nome: %s\n",a[x].nome);printf("\t Idade: %d\n",a[x].idade);printf("\t RA: %d\n",a[x].ra);printf("\t Mensalidade: %.2f\n",a[x].mensal);}}int main (){ int x;char caminho[]="aluno.txt",caractere;FILE *arquivo;arquivo = fopen (caminho,"w");struct aluno a[T];if (arquivo==NULL){printf("Erro ao criar arquivo.\n");}else{for(x=0; x<T; x++){ a[x]= ler();fprintf(arquivo,"Nome: %s\nIdade: %d\nRA: %d\nMensalidade: %.2f\n\n\n", a[x].nome,a[x].idade,a[x].ra,a[x].mensal);printf("\tArquivo gravado com sucesso.\n");}fclose(arquivo);}imprime(a);system("pause");return 0;}
  18. Poderia detalhar mais sua duvida? nao entendi muito bem
  19. o enunciado do exercicio nao pede strings, mas sim caracter. então faz assim: #include <stdio.h>#include <locale.h>/*2. Codifique, compile e execute um programa que:a- crie/abra um arquivo texto de nome "arq.txt",b- permita que o usuário entre com diversos caracteres nesse arquivo, até que o usuário entre com o caractere '0'.*/int main(){ setlocale(LC_ALL, "portuguese"); FILE *txt; txt = fopen("arq.txt", "w"); // Cria o arquivo arq.txt printf("## Validação de caracteres ##\n\n"); char caracter; if(txt != NULL){ printf("Digite algum caracter: "); scanf("%c", &caracter); fprintf(txt, "%c", caracter); while(caracter !='0'){ printf("Digite algum caracter: "); scanf(" %c", &caracter); fprintf(txt, "%c", caracter); } }}
  20. Eu nao sei nada de C++, mas copiei e colei seu codigo aqui e rodou de boa. Ve se seu anti virus nao ta atrapalhando, no meu PC nao funciona se nao desativa-lo
  21. Não sei explicar o porque, mas tem a ver com o tamanho da memoria ocupada por um float. Usa Double no lugar do float, assim ele vai pegar o valor certinho. e na hora do scanf e do printf voce usa a mascara %lf
  22. O Getch() recebe o caracter, ou seja, a posição do que digitar na tabela ASCII, como o numero 1 esta na posição 49 e o numero 2 na posição 50 da tabela voce faz assim no seu codigo: if(jog==49) ... elseif(jog==50) ... while(jog!=49&&jog!=50); //Aqui voce tem que colocar o && em vez de ||, porque sempre vai ser diferente de um dos dois valores. ... Ou voce pode simplesmente mudar só a hora de receber seu int assim: jog=getch()-48; // Pois digitando 1 ou 2 ele receberá 49 ou 50 respectivamente na tabela ASCII, subtraindo 48 vai ficar 1 e 2 normal. ... E mais uma coisa na hora de receber a string voce só coloca o nome do vetor assim: scanf("%[^\n]s",jogador1); ... scanf("%[^\n]s",jogador2); ... Na hora de imprimir tambem voce tem que fazer assim por ser uma string: printf("%s",jogador1); //%c só imprimiria uma letra, o %s imprime a palavra toda ... printf("%s",jogador2); ... E desculpa, mas nao entendi aquele while true, se for para gerar um ciclo infinito até que o usuario digite "S" no meu só funcionou fazendo: while(1); ... A, e mais uma coisa que percebi, o Multiplayer (2) ta recebendo só 1 jogador enquanto que o singleplayer(1) ta recebendo os 2, ou seja, voce inverteu os IF's do codigo
  23. Poderia dar um exemplo? Pesquisei no google e nao entendi nada.

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!