Ir ao conteúdo
  • Cadastre-se

Xaws

Membro Pleno
  • Posts

    200
  • Cadastrado em

  • Última visita

Reputação

136
  1. @Celestino Alona freopen("D:\\ContaCelestinoAlona\\Desktop\\Arquivo 2.txt", "r", stdin);
  2. @jbiribi #include <stdio.h> #include <string.h> int main() { char login[100] = "12345"; char login1[100]; char senha[100] = "123"; char senha1[100]; //char login[100]; int tentativas = 0; do{ printf("Insira o login: "); scanf("%s", &login1); printf("Insira a senha numérica: "); scanf("%s", &senha1); tentativas = tentativas + 1; } while(tentativas < 3); if(strcmp(login1,login) == 0 && strcmp(senha,senha1) == 0){ printf("LOGADO"); } else { printf("REJEITADO"); } return 0; } Nem é preciso
  3. Xaws

    C Onde esta errado? [U.I

    Onde tá o erro no meu código? Ele funciona normal mais quando eu deleto mais de 3 itens ele duplica o último item...Removi 3 itens ele não duplica, removi 4 ele duplica 1 vez o último item, ai se eu seleciono 3 itens e removo ele duplica o último item 3 vezes FILE *file; char prod[] = "PRODS.txt"; char prods[] = "PRODUTOS.txt"; int pos; char le[100]; pos = SendMessage(gProductList,LB_GETCURSEL,0,0); SendMessage(gProductList,LB_DELETESTRING,(WPARAM)pos,0); file = fopen("PRODS.txt","w+"); int max; max = sizeof(prods); for(int x = 0; x < max; x++) { SendMessage(gProductList,LB_GETTEXT,(WPARAM)x,(LPARAM)le); max = sizeof(gProductList); { fprintf(file,le); } } fclose(file); remove(prods); rename(prod,prods); } } break; @EDIT: Deixa pra lá, já consegui arrumar
  4. @devair1010 Não man, isso é apenas uma parte do código... Eu fiz pra ele salvar as informações em um arquivo novo de texto, depois apagar o antigo e renomear o novo assim não fica duplicado...Mais valeu mesmo assim
  5. @TYSQUARE89 perfeito, muito obrigado
  6. @Anonymous Programmer @TYSQUARE89 Deu certo assim ↓ porém ele apaga algumas letras if(frase[i] == ' ' && frase[i+1] == ' ') { //i=+2; continue; } else if(frase[i+1] != ' ') { novo[j] = frase[i]; j++; novo[j] = '\0'; } }
  7. Esse código tira todos os espaços mais eu queria que tirasse só quando tivesse 2 espaços ou mais que 2...Help Exemplo: No arquivo txt está escrito LINHA 1 LINHA 2 LINHA 3 ----------------------------- Depois ficasse LINHA 1 LINHA 2 LINHA 3 #include <stdio.h> #include <stdlib.h> #include <string.h> main(){ int i,tam,j=0; char frase[900],novo[900],le[900]; FILE *file; file = fopen ("teste.txt","r+"); fscanf(file,"%900[^\0]",frase); //while(fscanf(file,"%900[^\0]",frase)) //while(fgets(frase,900,file)) { tam = strlen(frase); for(i = 0;i < tam;i++) { if(frase[i] != ' ') { novo[j] = frase[i]; j++; novo[j] = '\0'; } } fprintf(file,novo); printf("%s",novo); fclose(file); system("start teste.txt"); return 0; } }
  8. @zennom O código do @devair1010 ta funcionando mesmo, também testei aqui e ta normal... Se você estiver usando o devc++ pode ser um bug que o meu também apresenta → Quando você tem o mesmo código em 2 arquivos diferentes jogados na mesma pasta, ai modifica um e executa as vezes ele executa o código do outro arquivo.
  9. Bom já que ninguém me respondeu vou postar a solução que consegui↓ case IDC_BUTTON_REMOVE: { FILE *file; char prod[] = "PRODS.txt"; char prods[] = "PRODUTOS.txt"; int pos; char le[100]; pos = SendMessage(gProductList,LB_GETCURSEL,0,0); SendMessage(gProductList,LB_DELETESTRING,(WPARAM)pos,0); file = fopen("PRODS.txt","w+"); for(int x = 0; x < 100; x++) { SendMessage(gProductList,LB_GETTEXT,x,(LPARAM)le); fprintf(file,le); } fclose(file); remove(prods); rename(prod,prods); } for(int x = 0; x < 100; x++) ← Aqui é pra ele executar esse comando ↓ até 100 vezes, fazendo assim com que ele pegue até 100 itens que esteja na listbox SendMessage(gProductList,LB_GETTEXT,x,(LPARAM)le); ← Aqui ele pega o texto que está no LISTBOX (x é para executar esse comando 100 vezes, de acordo com o meu 'for') pos = SendMessage(gProductList,LB_GETCURSEL,0,0); ← Essa parte do pos é muito importante porque é ela que vai checar qual item você selecionou pra deletar
  10. Já tem um tempo que estava tentando fazer com que mostrasse em um LISTBOX todos os itens adicionado em um arquivo de texto, hoje finalmente consegui de uma forma bem simples,segue pra quem estava com o mesmo problema que eu ↓ case IDC_BUTTON_LIST: //Aqui o botão que lista os itens no LISTBOX { char le[100]; FILE *file; file = fopen("teste.txt","r"); while(fgets(le,100,file)) { SendMessage(gProductList,LB_ADDSTRING,0,(LPARAM)le); } fclose(file); } } Agora eu estou enfrentando o seguinte problema, quando eu seleciono um item do LISTBOX e removo ele como fazer para que ele seja salvo no arquivo de texto? Tentei assim↓ case IDC_BUTTON_REMOVE: { int pos; char buffer[256]; pos = SendMessage(gProductList,LB_GETCURSEL,0,(LPARAM)0); SendMessage(gProductList,LB_DELETESTRING,(WPARAM)pos,(LPARAM)0); GetWindowText(gProductList,buffer,256); FILE *file2; file2 = fopen("teste2.txt","w+"); fprintf(file2,buffer); } //fclose(file2); } break;
  11. @Itallo Gravina Exatamente o que a @Geh Silva disse, só vim acrescentar pra você tirar aquele CLS do começo do código porque quando você termina alguma opção ele volta pro inicio e ai ele apaga a tela. ~~> system("cls"); E também deve ser definido no escopo global pra depois você poder visualizar os produtos adicionados ↓ int a; float b;
  12. Como eu pego um PID de um arquivo aberto? Exemplo, quero abrir o arquivo "notepadx.txt",depois de abri-lo quero que pegue seu PID pra depois eu matar ele...O problema é que não pega o PID desse arquivo, somente da janela usada pelo código. Segue minha tentativa #include <stdio.h> #include <unistd.h> #include <windows.h> int a; int b; int c; FILE *kill; main() { inicio: pid_t processo; processo = getpid(); //kill = fopen("notepadx.txt","r+"); pid_t b; b = system ("start notepadx.txt"); b = getpid(); printf("PID: %ld %ld\n",processo,b); printf("Digite 1 para matar o PID e 0 para voltar\n"); scanf("%d",&a); switch(a) { case 0: goto inicio; case 1: exit(0); } }
  13. @Bruna Karoline Eu também usava o skype pra jogar mais depois que troquei de fone ele ficava baixo no skype então eu larguei de lado o skype e to usando somente TeamSpeak, mas no meu caso o problema é com meu fone, como no seu caso ele funcionava normal e funciona em outros programas eu não sei mais o que pode ser, foi mal não poder ajudar Caso não ache a solução experimenta mudar pro TeamSpeak, nele é possível ajustar seu volume e as outras pessoas também podem aumentar a sua voz pra elas (dessa forma eles conseguem aumentar seu volume sem que escutem aquele chiado chato de quando aumentamos de mais o volume do microfone)
  14. @Alisson Pavinhaski O código serve da mesma forma, só você modifica-lo
  15. @Renan Braz Silva A parte do login e cadastro de conta bancaria você pode estudar o código desse fórum: https://www.clubedohardware.com.br/forums/topic/1249435-comparar-login-e-senha-a-partir-de-arquivo-txt/?page=2 Saque você vai ter que fazer normal... Uma opção pra pessoa escolher em qual conta quer efetuar o saque, ele coloca o valor você checa com o valor que ele tem se não ultrapassar ele faz o saque do mesmo e salva o valor que sobrou,consulta mesmo coisa... Ofertas não sei, acho que terá que criar um banco de dados e deixar o programa em conexão com ele,assim você envia atualizações e novidades (creio que seja assim) Função do caixa eletrônico aqui: https://www.youtube.com/watch?v=8rIZMrGJENI

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!