-
Posts
6.318 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que devair1010 postou
-
@PBlackOuT é isso mesmo o scanf só pega a primeira palavra mesmo, para você pegar a frase toda , você precisa usar gets() , mas no seu código você está usando fgets() que é usado para pegar frase no arquivo e não digitada pelo usuário , então use gets(). e na hora que você for pegar os nomes no arquivo e você quiser pegar uma frase toda ou o nome e sobrenome de uma pessoa, você usa o comando fgets( variável , tamanho da variável , arquivo ) , e nesse caso você precisa resetar o caractere newline que o fgets() pega junto com a frase toda, e para resetar esse newline você usa o strlen para pegar o tamanho da string que o fgets() pegou e coloca no último caractere da string um caractere espaço assim : variavel[strlen(variavel)-1] = ' '; pois se não fizer isso, na hora de imprimir vai pular uma linha pois no final da string terá um caractere " \n " ,que o newline, e é esse caractere que se deve deletar . já o comando fscanf() também só pega um nome no arquivo .
-
C Programa com arquivos gravar e ler.
devair1010 respondeu ao tópico de Jemima Fonseca Passos em C/C#/C++
@Jemima Fonseca Passos para abrir o arquivo é preciso primeiro criar o arquivo, e o arquivo pode ser criado no próprio programa usando esse comando : arquivo = fopen("membro.txt","w"); e inserir os nomes nesse arquivo usando fprintf . ou pode criar esse arquivo com o bloco de notas, abra o bloco de notas e digite um texto que você quiser e salve ele na mesma pasta onde foi salvo o seu programa, usando esse nome "membro" . então assim seu programa vai conseguir abrir o arquivo . -
VisualG testar e-mail usando visualg
devair1010 respondeu ao tópico de Estefani Arce em Programação - iniciantes
@Estefani Arce para verificar se tem esses caracteres na string que o usuario digitar, você coloca um loop indo de 1 ate o tamanho da string, que é sua variável do tipo caractere que você colocar, usando o comando compr para saber o comprimento da string, assim : para a de 1 ate compr(email,a,1) faca e dentro do loop você verifica letra por letra dessa varável usando o comando copia assim : se copia(email,a,1) = "@" ENTÃO escreva("encontrou o arroba . . .") interrompa fimse esse email é a variável do tipo caractere, então você coloca a variável e em seguida a posição da letra dentro dessa variável e em seguida a quantidade de letras você quer verificar que nesse caso seria uma letra mesmo . para verificar as outras condições você coloca mais alguns se parecidos com esse . -
@Sohkra se você quer é deletar o cadastro então não precisa zerar nenhuma variável, você realmente deleta o cadastro no struct , para isso você procura pelo cadastro que você quer deletar e encontrando esse cadastro, você coloca um loop indo de onde encontrou o cadastro até o final dos cadastros, que é dado pelo valor do contador na hora de cadastrar, esse contador vai aumentando a cada cadastro, então dentro desse loop você puxa os cadastros que estão acima dele para baixo, fazendo isso até o final dos cadastros, e depois diminui 1 do valor do contador , pois foi deletado um cadastro. então dentro do loop que faz a procura pelo cadastro você coloca um código parecido com esse : for(j=i;j<contador;j++){ funcionario[j] = funcionario[j+1]; } printf("Cadastro Excluido Com Sucesso"); flag=1; getch(); contador--; break; esse i é a variável do loop que faz a procura pelo cadastro .
-
C Programa com arquivos gravar e ler.
devair1010 respondeu ao tópico de Jemima Fonseca Passos em C/C#/C++
@Jemima Fonseca Passos nesse seu código você esqueceu de pegar a palavra no arquivo antes de comparar com a variável pesq, e faltou colocar a quantidade de caracteres da string em nome , pois se não colocar essa quantidade de caracteres, na hora de ler dá erro, o retante está certo . então seu código ficaria assim : #include <stdio.h> #include <string.h> void consultar(); int main(){ consultar(); return 0; } void consultar() { FILE *arquivo; char nome[30];/* precisa colocar a quantidade de caracteres */ char pesq[80]; printf("Digite o nome que deseja consultar. "); gets(pesq); fflush(stdin); arquivo=fopen("membro.txt","r"); while(fscanf(arquivo,"%s",&nome)!=EOF){/* precisa pegar o nome no arquivo */ if(strcmp(nome,pesq)==0){ printf("Dados encontrados.\n\n"); printf("Nome: %s\n\n",nome); system("pause"); fclose(arquivo); exit(0); } } printf("Nome nao encontrado.\n"); system("pause"); fclose(arquivo);/* precisa fechar o arquivo */ exit(0); } -
C Tem como eu aperfeiçoar e Se tem como o usuario não digitar o mesmo número até o
devair1010 respondeu ao tópico de Thales Muchante em C/C#/C++
@Thales Muchante ele não deixa repetir pois no vetor campo2 são armazenados os números que foram digitados , e ali onde insere o número também é feito uma verificação nesse vetor para saber se já tem esse número nesse vetor e tendo esse número a variável flag é setada e assim o loop se repete pedindo para digitar outro número . -
Tela desliga depois de algum tempo de jogo
devair1010 respondeu ao tópico de Barator em Computador não liga ou não dá vídeo
@Barator faça o que o @FellZ disse e se não resolver , pode ser também que seu monitor esteja programado para desligar com esse tempo de 40 minutos, isso acontecia no meu pc também enquanto estava jogando, e quando fui lá na proteção de tela estava colocado para desligar a tela em 30 minutos, colocando um tempo maior isso não acontece mais . -
C Tem como eu aperfeiçoar e Se tem como o usuario não digitar o mesmo número até o
devair1010 respondeu ao tópico de Thales Muchante em C/C#/C++
@Thales Muchante para postar é melhor usar o botão <> que está lá na barra de ferramentas da janela de responder, pois sem ele o seu código ficou faltando alguns dados como o [ i ] . seu código está bom, apenas organizei ele melhor e coloque para não repetir o mesmo número, e como saber quando ganhou ? então seu código ficou assim : #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> #include <windows.h> int campo[7][8]= {{57,58,59,60,61,62,63,64}, {65,10,11,12,13,14,15,16}, {17,18,19,20,21,22,23,24}, {25,26,27,28,29,30,31,32}, {33,34,35,36,37,38,39,40}, {41,78,43,44,45,46,47,48}, {49,50,51,52,53,54,55,56}}; int campo2[1000],numero,flag,final; int main(){ int vidas=3; int pontos=0; int i; int j; int num=5; int num1=10; system("color f0"); setlocale(LC_ALL,""); do{ system("cls"); printf("Digite ( -1 ) Para Sair\n"); printf("DICA:.\nDigite 99 para finalizar o game !"); printf("\nZerar a vida ,obter 21 pontos ou ativar a bomba o jogo acaba.\n"); printf("\nCAMPO MINADO:.\n"); printf("_______________________"); for(i=0;i<7;i++){ printf("\n"); for(j=0;j<8;j++){ printf("%d ",campo[i][j]); } } printf("\nI__________I__________I"); printf("\n\npontos (%i)\tvidas (%d)",pontos,vidas); printf("\n\nDigite um valor de acordo com as casas (exemplo %i,%i,%i,%i...)",num1+3,num1+6,num1+10,num1+15); printf("\nDIGITE: "); do{ flag=0; /* variável resetada */ fflush(stdin); scanf("%d",&numero); /* pega o numero */ for(j=0;j<1000;j++){ /* verifica até mil números */ if(campo2[j]==numero){/* verif se número digitado já existe no vetor */ printf("Esse Número Já Foi Inserido, Escolha Outro\n"); flag=1; /* seta a variável para repetir */ } } }while(flag==1); /* repete se a variável estiver setada */ if(numero == -1)break ; /* se digitar menos hum finaliza o programa */ if(numero < 0 || numero > 99){/* só pode números de zero até 99 */ system("cls"); printf("\nDigito inválido !!!"); getch(); } for(i=0;i<1000;i++){ /* verifica as mil posições do vetor */ if(campo2[i]==0){ /* se tiver um espaço vago no vetor */ campo2[i]=numero; /* coloca o número no vetor */ break; /* sai desse loop */ } } if(i==1000){printf("Já Digitou Mil Números");getch();} if (numero==16||numero==43||numero==46||numero==58){ /* //# BOMBA*/ printf("\n# A BOMBA FOI ATIVADA"); while(num>=0){ Sleep(1000); system("cls"); printf("# BOMBA ATIVA\n%i segundos",num); num--; final=1; } printf("\n\nBOMBA EXPLODIDA!\nPressione Qualquer tecla para continuar... "); getch(); } else{ if (numero==61||numero==27||numero==29||numero==31|| numero==42||numero==41||numero==56){ printf("\n UMA VIDA PERDIDA"); getch(); vidas--; } else{ flag=0; for(i=0;i<7;i++){ for(j=0;j<8;j++){ if (campo[i][j] == numero){ printf("\n+1 PONTO !!\n"); getch(); pontos++; flag=1; break; } } if(flag==1){ break; } } } } }while(numero!=99 || vidas!=0 || pontos!=21 || final!=1 ); system("cls"); printf("\nFim de jogo ! "); printf("\n\npontos (%i)\tvidas (%d)",pontos,vidas); getch(); return 0; } -
@OWL para conseguir vincular as medias e os alunos o melhor é usar vetor para os nomes use vetor de char e para as notas use vetor de float ou ainda melhor seria usar struct e então vai cadastrando os alunos e as notas e incrementa o contador, para fazer outro cadastro, a identação está boa , as variáveis eu prefiro colocar antes da main para que elas sejam do tipo global , para poder ser acessadas em qualquer parte do programa .
-
Este kit ficou bom? ( Pc gamer R$1.000)
devair1010 respondeu ao tópico de Ansuuk Stark em Montagem e upgrade de computadores de mesa
@Thomas Suzuya placa-mãe 775 não funciona com i3 2100 pois ele é soquete 1155 , melhor essa aqui : Placa-Mãe GIGABYTE p/ Intel LGA 1151 mATX GA-B250M-DS3H DDR4 R$ 389,41 à vista na kabum essa memória ddr3 não é boa melhor ess aqui : MEMORIA ADATA XPG 8GB (1X8) 2133MHZ DDR4, AX4U213338G15-SBF Boleto à vista R$ 443,36 na pichau esse processador é antigo , melhor esse aqui : processador - PROCESSADOR INTEL G4560 KABY LAKE, 3.5GHZ, 3MB CACHE, LGA1151 Boleto à vista R$270,06 na pichau não precisa desse cooler use o que vem com o processador essa fonte blue case não é boa melhor essa aqui : FONTE CORSAIR CX430 430W 80 PLUS BRONZE, CP-9020046-WW no kabum 450w 160,00 total R$ 1260,00 -
Problema com a memoria da placa de vídeo
devair1010 respondeu ao tópico de Emerson Felippini em Placas de vídeo
@Emerson Felippini pelo jeito esse Driver Bosster não está fazendo a leitura correta , pois com 1mb de memória da placa de vídeo você não conseguiria rodar nenhum jogo, para saber quanto de memória de vídeo tem no seu pc , você clica com o botão direto na área de trabalho na tela e clica em resolução da tela e em configurações avançadas aí na janela que aparece você vai em adaptador e ali está a quantidade de memória . -
C Informar linha e coluna de uma palavra no arquivo.
devair1010 respondeu ao tópico de hidantachi em C/C#/C++
@hidantachi você precisa usar uma variável para contar as linhas e outra para contar as colunas, sendo que você sabe que passou para outra linha quando encontrar no texto que está no arquivo um caractere newline " \n " e para isso você usa o comando fscanf para ler um caractere de cada vez assim : fscanf(arquivo,"%c",&letra); encontrando esse " \n " você incrementa a variável que conta as linhas pois pulou uma linha, e para contar as colunas é assim também você coloca uma variável começando de zero e a cada leitura de uma palavra assim : fscanf(arquivo,"%s",&palavra); de cada vez você incrementa essa variável, e encontrando a palavra você terá a posição da palavra no texto. -
@Fukutu nesse site disseram que essa fonte é muito antiga e não é boa, e que ela esquenta muito :
-
Outro Esqueci o nome do processo....
devair1010 respondeu ao tópico de Barbosaoo em Programação - iniciantes
@Jerônimo Filho o que você quer é criar um executável , no c /c++ eles são criados automaticamente e ficam na mesma pasta onde você salvou o seu programa e com o mesmo nome também , no phyton você usa o PyInstaller. -
C++ queria converter esse programa de c++ para C
devair1010 respondeu ao tópico de Victor Teodoro em C/C#/C++
@Victor Teodoro as linguagens c /c++ são praticamente iguais apenas que c++ tem alguns comandos a mais que a c, mas os comando desse seu código são todos da linguagem c mesmo, o que tem de diferente aí é esses comandos do arduíno tipo esse : Serial.begin(9600); analogWrite(3,0); // Pino 3 => PWM pinMode(2,INPUT); // Funciona como um botão digitalWrite(2,1); // Encostamos o fio do pino 2 em algum lugar que tenha tensão Serial.println(analogRead(A2)); vel = analogRead(A2); // Valor analógico(correspondente à velocidade) antes da conversão => ("Valor analógico") já de arduíno não sei converter . -
@José Lucas Oliveira Qual ?! adicionado 15 minutos depois @José Lucas Oliveira esse código ? , para completar vai demorar , é preciso ir aos poucos fazendo uma função de cada vez , faça primeiro a função que imprime o tabuleiro e pelo que pude entender nesse tabuleiro vai ter vários números de acordo com a jogada, então imprimir o tabuleiro inicial . aqui está imprimindo quatro colunas com números mas não sei se é isso mesmo que é para fazer : #include<stdio.h> #include<stdlib.h> #define LINHAS 9 #define COLUNAS 9 void imprimirTabuleiro(); void jogada (); int tabuleiro[LINHAS][COLUNAS]= { {4, 0, 0, 8, 0, 0, 0, 0, 1}, {0, 2, 3, 0, 5, 6, 4, 0, 0}, {1, 8, 0, 0, 0, 7, 0, 2, 3}, {2, 9, 0, 0, 4, 8, 0, 6, 0}, {0, 0, 4, 0, 0, 1, 9, 0, 0}, {0, 7, 0, 0, 0, 2, 0, 8, 4}, {6, 3, 0, 2, 0, 0, 0, 1, 5}, {0, 0, 2, 7, 3, 0, 0, 4, 0}, {7, 0, 0, 0, 0, 5, 0, 0, 9} }; int jLinha, jColuna, jValor; /*FUNÇÃO PRINCIPAL -------------------------------*/ void main(){ imprimirTabuleiro(); jogada(); tabuleiro[jLinha][jColuna] = jValor; imprimirTabuleiro(); } /*IMPRIME A MATRIZ -------------------------------*/ void imprimirTabuleiro(){ int i, j; for(i = 0; i < LINHAS; i++ ){ for(j = 0; j < COLUNAS; j++){ printf("%d \t", tabuleiro[j]); } printf("\n"); } } /*RECEBE A JOGADA -------------------------------*/ void jogada (){ printf("Informe a linha, coluna e valor: "); scanf("%d%d%d", &jLinha, &jColuna, &jValor); }
-
@José Lucas Oliveira para postar use o botão <> que está lá na barra de ferramentas da janela de responder, pois sem ele seu código fica faltando alguns caracteres , seu código apresenta alguns erros de compilação, então corrigi e está compilando, mas anda não entendi o que o jogo faz como é a jogada e quem ganha, então seu código com algumas correções ficaria assim : #include <stdio.h> #include <stdlib.h> int resolverSudoku(int, int); void imprimirSudoku(); int mesmacoluna(int x,int y,int k); int mesmalinha(int a,int b,int c); int mesmoquadro (int k,int w,int z); int sudoku [9][9]= {{4,0,0,8,0,0,0,0,1}, {0,2,0,0,5,6,4,0,0}, {1,8,0,0,0,7,0,2,3}, {2,9,0,0,4,8,0,6,0}, {0,0,4,0,0,1,9,0,0}, {0,7,0,0,0,2,0,8,4}, {6,3,0,2,0,0,0,1,5}, {0,0,2,7,3,0,0,4,0}, {7,0,0,0,0,5,0,0,9}}; int i,j; int main(){ int x=0, y=0; imprimirSudoku(); resolverSudoku(x,y); /*imprimirsudoku();*/ return 0; } void imprimirSudoku(){ for (i=0; i<9; i++){ for (j=0; j<9; j++){ printf("%d", sudoku[i][j]); } printf("\n"); } printf("\n\n"); } int resolverSudoku(int x, int y){ int num=1; int tx=0; int ty=0; if(sudoku[x][y]!= 0){ if (x == 8 && y == 8){ return 1; } if (x<8){ x++; } else{ if ( y < 8){ x=0; y++; } } if (sudoku[x][y] == 0){ while (num < 10){ if (!mesmalinha(x,y,num) && !mesmoquadro(x,y,num) && !mesmacoluna(x,y,num)){ sudoku[x][y] = num; if (x==8 && y==8){ return 1; } if (x < 8){ tx= x + 1; }else{ if (y<8){ tx=0; ty= y+1; } } if (resolverSudoku(tx,ty)){ return 1; } } num++; } sudoku[x][y] = 0; return 0; } } return 0; } int mesmacoluna(int x,int y,int w){ return 0; } int mesmalinha(x,y,num){ return 0; } int mesmoquadro(x,y,num){ return 0; }
-
C Programa com arquivos gravar e ler.
devair1010 respondeu ao tópico de Jemima Fonseca Passos em C/C#/C++
@Jemima Fonseca Passos seu código está bom, apenas alguns erros como disse o @TYSQUARE89 , e você precisa colocar em qual posição do vetor struct você está se referindo, pois do jeito que está ele só vai cadastrar um, e creio que seria melhor pegar os dados do arquivo e colocar no struct para fazer mais cadastros ou as modificações que você queira, então seu código com algumas modificações ficaria assim : #include <stdio.h> #include <conio.h> #include <string.h> void cadastro_membros (void); void cadastro_ofertas (void); void cadastro_lideres (void); void relatorio_membros(void); void relatorio_ofertas(void); void relatorio_lideres(void); struct membros { char nome [40]; char endereco [30]; char aniversario[30] ; char rg [30]; }; /*//VARIAVEIS GLOBAIS*/ struct membros m[100] ; struct lideres { char nome [40]; char registro [20]; char idade [30]; char cargo [30]; }; /*//VARIAVEIS GLOBAIS*/ struct lideres l[100] ;/*pode cadastrar ate 100 lider*/ struct ofertas { char dia [40]; float valor ; }; /*//VARIAVEIS GLOBAIS*/ struct ofertas f[100] ; FILE *arquivo; int cont_m,cont_l,cont_f,i; int op,u,t,st; char us[40],opc; int main(){ /*tem que gravar struct membros e colocar : depois struct lideres : depois struct ofertas : */ arquivo = fopen("arquivoS.txt","r"); if(arquivo==NULL)printf("O Arquivo Ainda Nao Existe, Sera Criado No Final"); else{ /*esse struct e de membros*/ while( 1 ){ fgets(m[cont_m].nome,40,arquivo); /*pega os quarenta primeiros caracters mais newline */ if(m[cont_m].nome[0]=='\n')fgets(m[cont_m].nome,40,arquivo);/*se for newline pega novamente*/ m[cont_m].nome[strlen(m[cont_m].nome)-1]=' '; /*reseta o newline da string */ if(strcmp(m[cont_m].nome,"----- Cadastro De Membros ----- ")==0)fgets(m[cont_m].nome,40,arquivo); if(m[cont_m].nome[0]==':')break; /*se for dois pontos, fim desse struct */ fgets(m[cont_m].rg,30,arquivo); /*pega os trinta primeiros caracters mais newline */ fgets(m[cont_m].aniversario,30,arquivo); /*pega os trinta primeiros caracters mais newline */ fgets(m[cont_m].endereco,30,arquivo); /*pega os trinta primeiros caracters mais newline */ m[cont_m].nome[strlen(m[cont_m].nome)-1]=' '; /*reseta o newline da string */ m[cont_m].rg[strlen(m[cont_m].rg)-1]=' '; /*reseta o newline da string */ m[cont_m].aniversario[strlen(m[cont_m].aniversario)-1]=' '; /*reseta o newline da string */ m[cont_m].endereco[strlen(m[cont_m].endereco)-1]=' '; /*reseta o newline da string */ cont_m++; } while( 1 ){/*esse struct eh de lideres */ fgets(l[cont_l].nome,40,arquivo); /*pega os quarenta primeiros caracters mais newline */ if(l[cont_l].nome[0]=='\n')fgets(l[cont_l].nome,40,arquivo);/*se for newline pega novamente*/ l[cont_l].nome[strlen(l[cont_l].nome)-1]=' '; /*reseta o newline da string */ if(strcmp(l[cont_l].nome,"----- Cadastro De Lideres ----- ")==0)fgets(l[cont_l].nome,40,arquivo); if(l[cont_l].nome[0]==':')break; /*se for dois pontos, fim desse struct */ fgets(l[cont_l].registro,30,arquivo); /*pega os trinta primeiros caracters mais newline */ fgets(l[cont_l].idade,30,arquivo); /*pega os trinta primeiros caracters mais newline */ fgets(l[cont_l].cargo,30,arquivo); /*pega os trinta primeiros caracters mais newline */ l[cont_l].nome[strlen(l[cont_l].nome)-1]=' '; /*reseta o newline da string */ l[cont_l].registro[strlen(l[cont_l].registro)-1]=' '; /*reseta o newline da string */ l[cont_l].idade[strlen(l[cont_l].idade)-1]=' '; /*reseta o newline da string */ l[cont_l].cargo[strlen(l[cont_l].cargo)-1]=' '; /*reseta o newline da string */ cont_l++; } while( 1 ){/*esse struct eh de ofertas */ fgets(f[cont_f].dia,40,arquivo); /*pega os quarenta primeiros caracters mais newline */ if(f[cont_f].dia[0]=='\n')fgets(f[cont_f].dia,40,arquivo); /*se for newline pega novamente*/ f[cont_f].dia[strlen(f[cont_f].dia)-1]=' '; /*reseta o newline da string */ if(strcmp(f[cont_f].dia,"----- Cadastro De Ofertas ----- ")==0)fgets(f[cont_f].dia,40,arquivo); if(f[cont_f].dia[0]==':')break; /*se for dois pontos, fim desse struct */ fscanf(arquivo,"%f",&f[cont_f].valor); /*pega só uma palavra ou numero do arquivo */ fgets(us,40,arquivo); /*para ler o restante da linha, senão dá erro */ f[cont_f].dia[strlen(f[cont_f].dia)-1]=' '; /*reseta o newline da string */ cont_f++; } } fclose(arquivo); do { system("cls"); printf("\n1 - Cadastro membro" ); printf("\n2 - Cadastro oferta" ); printf("\n3 - Cadastro lider" ); printf("\n4 - Relatorio membro" ); printf("\n5 - Relatorio oferta "); printf("\n6 - Relatorio lider" ); printf("\n0 - Sair"); printf("\nEscolha a opcao..: "); scanf("%i",&op); switch(op) { case 1: cadastro_membros(); break; case 2: cadastro_ofertas(); break; case 3: cadastro_lideres(); break; case 4: relatorio_membros(); break; case 5: relatorio_ofertas(); break; case 6: relatorio_lideres(); break; } }while(op !=0); /* os dados serao gravados aqui na saida do programa */ remove("arquivoS.txt"); arquivo=fopen("arquivoS.txt","a"); /* abre o arquivo para ler e gravar */ if(arquivo==NULL){ arquivo=fopen("arquivoS.txt","w"); /*cria o arquivo para gravar */ } fprintf(arquivo,"%s","----- Cadastro De Membros -----\n");/*escreve o cabeçalho*/ for(i=0;i<cont_m;i++){ /* grava os membros */ fprintf(arquivo,"%s\n",m[i].nome ); fprintf(arquivo,"%s\n",m[i].rg ); fprintf(arquivo,"%s\n",m[i].aniversario ); fprintf(arquivo,"%s\n",m[i].endereco ); if(i!=cont_m-1)fprintf(arquivo,"%s","\n"); /*para pular uma linha no texto*/ } fprintf(arquivo,"%s\n",":"); /* : é o fim desses dados no texto */ fprintf(arquivo,"%s","----- Cadastro De Lideres -----\n");/*escreve o cabeçalho*/ for(i=0;i<cont_l;i++){ /* grava os lideres */ fprintf(arquivo,"%s\n",l[i].nome ); fprintf(arquivo,"%s\n",l[i].registro ); fprintf(arquivo,"%s\n",l[i].idade ); fprintf(arquivo,"%s\n",l[i].cargo ); if(i!=cont_l-1)fprintf(arquivo,"%s","\n"); /*para pular uma linha no texto*/ } fprintf(arquivo,"%s\n",":"); /* : é o fim desses dados no texto */ fprintf(arquivo,"%s","----- Cadastro De Ofertas -----\n");/*escreve o cabeçalho*/ for(i=0;i<cont_f;i++){ /* grava as ofertas */ fprintf(arquivo,"%s\n",f[i].dia ); fprintf(arquivo,"%.2f\n",f[i].valor ); if(i!=cont_f-1)fprintf(arquivo,"%s","\n"); /*para pular uma linha no texto*/ } fprintf(arquivo,"%s\n",":"); /* : é o fim desses dados no texto */ fclose(arquivo); return 0; } void cadastro_membros(void){ do{ opc='n'; printf("Informe o nome do membro...:"); fflush(stdin); gets(m[cont_m].nome); printf("Informe o RG do membro...:"); fflush(stdin); scanf("%s",&m[cont_m].rg); printf("Informe a data de aniversario do membro...:"); fflush(stdin); gets(m[cont_m].aniversario); printf("Informe a endereco do membro...:"); fflush(stdin); gets(m[cont_m].endereco); cont_m++; printf("Quer Fazer Outro Cadastro S/N "); fflush(stdin); scanf("%c",&opc); }while(opc =='s'); } void cadastro_ofertas(void){ do{ opc='n'; printf("Informe O Dia Da Oferta...:"); fflush(stdin); gets(f[cont_f].dia); printf("Informe O Valor Da Oferta...:"); fflush(stdin); scanf("%f",&f[cont_f].valor); cont_f++; printf("Quer Fazer Outro Cadastro S/N "); fflush(stdin); scanf("%c",&opc); }while(opc =='s'); } void cadastro_lideres(void){ do{ opc='n'; printf("Informe O Nome Do Lider...:"); fflush(stdin); gets(l[cont_l].nome); printf("Informe O Cargo Do Lider...:"); fflush(stdin); scanf("%s",&l[cont_l].cargo); printf("Informe O Registro Do Lider...:"); fflush(stdin); gets(l[cont_l].registro); printf("Informe A Idade Do Lider...:"); fflush(stdin); gets(l[cont_l].idade); cont_l++; printf("Quer Fazer Outro Cadastro S/N "); fflush(stdin); scanf("%c",&opc); }while(opc =='s'); } void relatorio_ofertas(){ printf("Relatorio De Ofertas\n"); for(i=0;i<cont_f;i++){ printf("aqui o dia ------------> %s\n",f[i].dia); printf("aqui o valor ----------> %.2f\n",f[i].valor); printf(" Tecle\n"); getch(); } } void relatorio_membros(){ printf("Relatorio De Membros\n"); for(i=0;i<cont_m;i++){ printf("aqui o nome --------> %s\n",m[i].nome); printf("aqui o rg ----------> %s\n",m[i].rg); printf("aqui o aniversario -> %s\n",m[i].aniversario); printf("aqui o endereco ----> %s\n",m[i].endereco); printf(" Tecle\n"); getch(); } } void relatorio_lideres(){ printf("Relatorio De Lideres\n"); for(i=0;i<cont_l;i++){ printf("aqui o Nome --------> %s\n",l[i].nome); printf("aqui o Reggistro ---> %s\n",l[i].registro); printf("aqui o Idade -------> %s\n",l[i].idade); printf("aqui o Cargo -------> %s\n",l[i].cargo); printf(" Tecle\n"); getch(); } } não usei o fscanf pois ele pega apenas uma palavra, então se o nome da pessoa tiver dois ou tres nomes ele pega apenas o primeiro e o próximo fscanf pega a outra palavra, e em muitos casos não é isso que queremos, escolhi o fgets,pois o comando fgets pega a linha toda , dependendo do tamanho especificado na variável ou até encontrar um newline "\n" e pega até o newline, então será necessário resetar esse caractere newline pois senão na hora de imprimir o gravar no arquivo haverá erro pois pulará uma linha , então precisa encontrar esse caractere na sting e colocar um caractere no lugar dele pode ser um caracter espaço ' ' assim a string estará normal, e para encontrar esse newline ,que estará na última posição da string, usamos a função strlen que vai retornar o tamanho da string então em strlen-1 estará o newline pois as posições começam de zero e é aí no strlen-1 que colocamos o outro caractere espaço ' ' assim : string[strlen(string)-1] =' '; -
Sem som, suspeito de placa de som queimada
devair1010 respondeu ao tópico de FobaioO em Áudio do computador
@FobaioO testa a saída do pc com uma caixa de som normal . se funcionar é porque seu headset está com problemas , e como você disse que ele apresentou problemas desde o inicio creio que seja melhor você recorrer a garantia e trocar ele por outro . -
Sem som, suspeito de placa de som queimada
devair1010 respondeu ao tópico de FobaioO em Áudio do computador
@FobaioO você está conectado esse headset no pc ? -
C Erro de "implicit declaration of function 'tabela"'
devair1010 respondeu ao tópico de Danilo Henriq em C/C#/C++
@Danilo Henriq é como o @TYSQUARE89 disse , mas o que vi é que uma função está chamando outra função abaixo dela aí dá warning mesmo , para isso não acontecer coloque uma declaração da função lá em cima logo abaixo dos includes , essa função tabela que está dando warning coloque assim : #include <time.h> #include <windows.h> int tabela(); assim ela já tendo sido declarada no inicio ela não causará warning . seu código ficou assim depois dessa organizada, mas não entendi o jogo , ele fica repetindo algumas perguntas , será que é isso mesmo que era para ele fazer ? . : #include <stdio.h> #include<locale.h> #include <time.h> #include <windows.h> int i,j,k,l, dados[5],op,op1,op2,op3,op4, soma=0, cont=0, table[13], vrf=0, zero=0, cc=0, soma_total=0; char tableM[] = {'n','n','n','n','n','n','n','n','n','n','n','n','n','n'}, ini, frase[10000]; int tabela(); int lansa_5dados(){ printf("\n POSIÇAO| 1 | 2 | 3 | 4 | 5 "); printf("\n ##DADOS"); for(j=0;j<5;j++){ printf("| %d ", dados[j] = 1 + rand() % 6); } return 0; }/* lansa_5dados();*/ void jogadas_ini(int opp){ if(tableM[opp-1]=='n'){ if(zero==0){ /*//Verifica se o numero existe*/ for(l=0;l<5;l++){ if(dados[l]==opp){ vrf++; } } if(vrf>0){ /*//Executa a soma*/ for(l=0;l<5;l++){ if(dados[l]==opp){ soma += dados[l]; } } table[opp-1] = 0; table[opp-1] = soma; tableM[opp-1] = 'm'; vrf=0; soma = 0; } else{ tabela(); } } else if(zero==1){ table[opp-1] = 0; tableM[opp-1] = 'm'; zero = 0; } } else{ tabela(); } }/*//end jogaUMAseis*/ void trinca(){ int conta=0; if(tableM[6]=='n'){ if(zero==0){ for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(dados[i]==dados[j]) conta++; } if(conta>=3){ table[6] = 23; tableM[6] = 'm'; i = 6; }else{ conta=0;} } if(conta==0){ tabela(); } }else if(zero==1){ table[6] = 0; tableM[6] = 'm'; zero = 0; } }else{ tabela(); } }/*//end Trinca*/ void quadra(){ int con=0; if(tableM[7]=='n'){ if(zero==0){ for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(dados[i]==dados[j]) con++; } if(con>=4){ table[7] = 21; tableM[7] = 'm'; i = 6; }else{ con=0;} } if(con==0){ tabela(); } }else if(zero==1){ table[7] = 0; tableM[7] = 'm'; zero = 0; } }else{ tabela(); } }/*//End quadra*/ void fullhouse(){ int marcatres=0, marcadois=0; if(tableM[8]=='n'){ if(zero==0){ /*//Verifica se há tres valores iguais*/ for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(dados[i]==dados[j]) marcatres++; } if(marcatres==3){ i=6; }else{ marcatres=0; } } /*//verifica se há dois valores iguais*/ for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(dados[i]==dados[j]){ marcadois++; } } if(marcadois==2){ i=6; }else{ marcadois=0; } } if(marcadois==2 && marcatres==3){ table[8] = 25; tableM[8] = 'm'; }else{ tabela(); } }else if(zero==1){ table[8] = 0; tableM[8] = 'm'; zero = 0; } }else{ tabela(); } }/*//End FullHouse*/ void sequenciaAltaBaixa(int op8){ int aux=0, cont=0, pos=0, p=0; if(op8==10){ pos = 9; p=30; }else if(op8==11){ pos = 10; p = 40; } if(tableM[pos]=='n'){ if(zero==0){ /*//ordena o vetor*/ for(i=0;i<5;i++){ for(j=i+1;j<5;j++){ if(dados[i] > dados[j]){ aux=dados[j]; dados[j]=dados[i]; dados[i]=aux; } } } /*//Verifica se é uma sequencia alta ou baixa*/ if(op8==10){ aux = 2; }else if(op8==11){ aux = 1; } for(i=0;i<5;i++){ if(dados[i]==aux){ cont++; } aux++; } if(cont==5){ table[pos]=p; tableM[pos]='m'; }else{ tabela(); } }else if(zero==1){ table[pos] = 0; tableM[pos] = 'm'; zero = 0; } }else{ tabela(); } }/*//End sequencia alta e baixa*/ void general(){ int co=0; if(tableM[11]=='n'){ if(zero==0){ for(i=0;i<5;i++){ for(j=0;j<5;j++){ if(dados[i]==dados[j]){ co++; } } if(co==5){ table[11] = 50; tableM[11] = 'm'; i=6; }else{ co=0; } } /*//significa que os dados não deram general*/ if(co==0){ tabela(); } }else if(zero==1){ table[11] = 0; tableM[11] = 'm'; zero = 0; } }else { tabela(); } }/*//End General*/ void aleatoria(){ int soma=0; if(tableM[12]=='n'){ if(zero==0){ for(i=0;i<5;i++){ soma += dados[i]; } table[12] = soma; tableM[12] = 'm'; soma=0; }else if(zero==1){ table[12] = 0; tableM[12] = 'm'; zero = 0; } }else { tabela(); } }/*//End aleatoria*/ int tabela(){ FILE *file; printf("\n==================================="); printf("\n \t TIPO DE JOGADA"); printf("\n===================================\n"); file = fopen("string.txt", "r"); for(i=0;i<14;i++){ fgets(frase, 10000, file); if(tableM[i]=='n'){ printf(" %s", frase); } } fclose(file); printf("\n==================================="); printf("\n Nº DA JOGADA: "); scanf("%d", &op2); switch(op2){ case 1 : jogadas_ini(op2); case 2 : jogadas_ini(op2); case 3 : jogadas_ini(op2); case 4 : jogadas_ini(op2); case 5 : jogadas_ini(op2); case 6 : jogadas_ini(op2); break; case 7: trinca(); break; case 8: quadra(); break; case 9: fullhouse(); break; case 10: case 11:sequenciaAltaBaixa(op2); break; case 12: general(); break; case 13: aleatoria(); break; case 14: zero=1; printf("\n___________________________________"); printf("\n ONDE VOCÊ DESEJA MARCAR ZERO ?"); tabela(); break; default: tabela(); } return 0; }/*end tabela*/ int main(){ FILE *file; inicio: setlocale(LC_ALL, "portuguese_Brazil"); srand(time(NULL)); printf("\n PARA INICIAR DIGITE [1]: "); scanf("%c", &ini); fflush(stdin); if(ini=='1'){ /*//Laço das 13 jogadas*/ for(k=0;k<13;k++){ if(k>0){ printf("\n___________________|PLACAR|___________________\n"); printf("\n PONTOS | JOGADA\n\n"); file = fopen("string2.txt", "r"); for(i=0;i<13;i++){ fgets(frase, 10000, file); if(tableM[i]=='m'){ printf(" %4d \t|", table[i]); printf("%s", frase); } } fclose(file); printf("\n______________________________________________\n"); } printf("\n\n ========== | %dº JOGADA | ========== \n\n", k+1); lansa_5dados(); /*int lansa_5dados(){ printf("\n POSIÇAO| 1 | 2 | 3 | 4 | 5 "); printf("\n ##DADOS"); for(j=0;j<5;j++){ printf("| %d ", dados[j] = 1 + rand() % 6); } } lansa_5dados();*/ do{ printf("\n\n USAR ESTES VALORES[1]"); printf("\n LANÇAR NOVAMENTE[2]"); printf("\n opção: "); scanf("%d", &op1); if(op1==2){ printf("\n QUANTOS DADOS DESEJA LANÇAR: "); scanf("%d", &op3); if(op3<=4){ printf("\n POSIÇÃO:\n "); for(i=0;i<op3;i++){ printf("\n #DADOS: "); scanf("%d", &op4); dados[op4-1] = 1 + rand() % 6; } printf("\n POSIÇAO| 1 | 2 | 3 | 4 | 5 "); printf("\n ##DADOS"); for(j=0;j<5;j++){ printf("| %d ", dados[j]); } } else{ lansa_5dados(); } } cc++; }while(op1==2 && cc<=1); printf("\n\n"); tabela(); cc=0; }/*//fim laço jogadas*/ }/*//fim op==1*/ else{ printf("\n POR FAVOR DIGITE UMA OPÇÃO VALIDA \n\n"); /*main();*/ goto inicio; } /*//Calcula o total de pontos*/ for(i=0;i<13;i++){ soma_total += table[i]; } printf("\n\n ***********************************************************"); printf("\n\n A SOMA TOTAL DOS PONTOS É IGUAL %d ", soma_total); printf("\n\n ***********************************************************"); system("pause>null"); return 0; } -
C Erro de "implicit declaration of function 'tabela"'
devair1010 respondeu ao tópico de Danilo Henriq em C/C#/C++
@Danilo Henriq mas suas funções não estão abaixo não, elas estão acima da main então esse warnig seria por outro motivo , vou verificar . -
C Programa com arquivos gravar e ler.
devair1010 respondeu ao tópico de Jemima Fonseca Passos em C/C#/C++
@Jemima Fonseca Passos para fazer a leitura de um arquivo você pode usar o comando fscanf assim : while(fscanf(arquivo,"%s",palavra) != EOF ) printf("%s ",palavra); cada fscanf vai ler uma palavra se entre aspas tiver um %s ou um caractere se tive c ou um inteiro se tiver d ou um float se tiver f , onde arquivo é a variável do tipo FILE e palavra é uma variável do tipo char com varias posições, umas vinte está bom, e o certo seria você fazer a leitura do arquivo do mesmo jeito que você gravou, no mesmo formato, no inicio do programa e colocar os dados no struct com isso você tem tudo que foi gravado antes e continua de onde parou , e ir imprimindo e gravando não é bom , melhor ir guardando os dados no struct e depois que fizer todos os cadastros vai em uma função que faz a gravação no arquivo, ou na saída do programa . então um trecho do seu código que faz a leitura seria assim : void relatorio_ofertas() { FILE*arquivo; arquivo = fopen("arquivo.txt","r"); int i; char op[20],op2[20]; if(arquivo==NULL)printf("Erro No Arquivo..."); else{ for(i=0;i<10;i++) { while(fscanf(arquivo,"%s",&op != EOF && fscanf(arquivo,"%s",&op2 != EOF)){ printf("\nDia oferta ..........:%s",op); printf("\nValor da oferta .....:%s\n",op2); } } } fclose(arquivo); } -
C RESOLVIDO Struct para Controle de estoque
devair1010 respondeu ao tópico de Vitor Hugo Bonato Ladislau em C/C#/C++
@Vitor Hugo Bonato Ladislau como disse o @CiroboyBR seu código está bom precisa retirar esse goto e organizar melhor , então seu código ficaria assim : #include <stdio.h> #include <locale.h> #include <stdlib.h> #include <conio.h> int contador=0; int opc; int i; char cd[10],op; struct produtos { char cod[50]; float valor; int quantArma; int quantVend; char descProd[100]; }; struct produtos Produto[100]; int main(void){ int menu; setlocale(LC_ALL, ""); do{ inicio: system("cls"); printf("--------Menu de Estoque--------\n\n\n"); printf("----Escolha uma das opção:----\n\n"); printf("1-Cadastrar Produto\n2-Consultar Produtos\n"); printf("3-Lista Todos\n"); printf("4-Sair\n "); fflush(stdin); scanf("%d",&opc); system("cls"); switch(opc){ case 1: if (contador < 10){ do{ op='n'; printf("------Cadastrando Produto-------\n\n\n"); printf("Codigo do Produto---:"); fflush(stdin); gets(Produto[contador].cod); printf("\nValor do protudo---R$:"); fflush(stdin); scanf("%f",&Produto[contador].valor); printf("\nQuantidade no Estoque---:"); fflush(stdin); scanf("%d",&Produto[contador].quantArma); printf("\nQuantidade Vendida---:"); fflush(stdin); scanf("%d",&Produto[contador].quantVend); printf("\nDescricao do Produto---:"); fflush(stdin); gets(Produto[contador].descProd); contador ++; printf ("Produto Cadastrado\n"); /*goto inicio;*/ printf("Quer Fazer Mai Algum Cadastro S/N "); fflush(stdin); scanf("%c",&op); if(contador > 9){ printf("\nNão é possivel adicionar mais produtos!!!\n\n\nVoltando para o menu\n"); op='n'; } }while(op=='s'); } break; case 2: printf("-----ESTOQUE-----\n"); printf("Digite O Codigo Do Produto Quer voce Quer Encontrar "); fflush(stdin); gets(cd); for(i=0;i<contador;i++){ if(strcmp(cd,Produto[i].cod)==0){ printf("Codigo ------> %s\n",Produto[i].cod); printf("Valor -------> %.2f\n",Produto[i].valor); printf("Quantidade --> %d\n",Produto[i].quantArma); printf("Vendida -----> %d\n",Produto[i].quantVend); printf("Descricao ---> %s\n",Produto[i].descProd); printf(" Tecle"); getch(); break; } } break; case 3: printf("Vamos Listar Todos Os Produtos\n"); for(i=0;i<contador;i++){ printf("Codigo ------> %s\n",Produto[i].cod); printf("Valor -------> %.2f\n",Produto[i].valor); printf("Quantidade --> %d\n",Produto[i].quantArma); printf("Vendida -----> %d\n",Produto[i].quantVend); printf("Descricao ---> %s\n Tecle\n",Produto[i].descProd); getch(); } break; } }while(opc!=4); } -
Peças novas e mesmo assim o PC não conclui formatação
devair1010 respondeu ao tópico de Rafael R Costa em Outros problemas de hardware
@Rafael R Costa pelo jeito é mesmo problema de atualização da bios, pois essa h110m precisa sim de atualizar a bios para que aceite as memórias ddr4, talvez essa especificamente ainda não tenha sido atualizada , se você tiver um processador da 7 geração você mesmo pode atualizar a bios , tem vários vídeo ensinando no youtube, mas se você tiver dificuldades você pede para alguém atualizar para você.
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