Ir ao conteúdo
  • Cadastre-se

Gnomo Psicodélico

Membro Pleno
  • Posts

    37
  • Cadastrado em

  • Última visita

Tudo que Gnomo Psicodélico postou

  1. @Danielle Emely Eu não sei como ignorar mas vou te falar uma forma alternativa para fazer caso ninguém mais responda. Você pode apagar a última linha de um char dessa forma CHAR_AQUI[x][(strlen(CHAR_AQUI[x])-1)] = '\0'; Segue um exemplo: char CHAR_AQUI[100]; //... if(CHAR_AQUI[(strlen(CHAR_AQUI)-1)] == '\n') { CHAR_AQUI[(strlen(CHAR_AQUI)-1)] = '\0'; }
  2. @quinn smart Seu código ta funcionando normal só tem um problema, printf é com P minúsculo e não maiúsculo #include <stdio.h> #include <stdlib.h> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char *argv[]) { char nome [30]; printf("\nInsira o nome do aluno: \n"); scanf("%s",&nome); system ("pause"); printf("Bem vinda a disciplina de algoritmos 2 %s",nome); return 0; }
  3. tentei assim case wm_ctlcolorbtn: { hbrush hbrushbtn; hbrushbtn = (hbrush) getstockobject(null_brush); setbkmode((hdc) wparam, transparent); return ((lresult) hbrushbtn); }
  4. estou usando o resedit para criar a interface de um programa mas não estou conseguindo colocar icone em botões, alguém sabe como fazer? resource.rc // generated by resedit 1.6.6 // copyright (c) 2006-2015 // http://www.resedit.net #include #include #include #include "resource.h" // // bitmap resources // language lang_neutral, sublang_neutral idb_bitmap1 bitmap "..\\..\\..\\music\\fundobmp.bmp" // // dialog resources // language lang_neutral, sublang_neutral dlg_main dialog 0, 0, 266, 254 style ds_3dlook | ds_center | ds_modalframe | ds_shellfont | ws_caption | ws_visible | ws_group | ws_popup | ws_sysmenu caption "login" font 8, "ms shell dlg" { control idb_bitmap1, idc_static, wc_static, ss_bitmap, 4294967291, 4294967293, 293, 259, ws_ex_left pushbutton idc_button1, idc_button1, 91, 145, 76, 21, bs_icon, ws_ex_left ltext "usuario", idc_static, 113, 79, 34, 10, not ws_group | ss_left, ws_ex_transparent combobox idc_combo1, 42, 92, 182, 14, ws_tabstop | cbs_simple | cbs_hasstrings, ws_ex_left combobox idc_combo1, 42, 125, 182, 14, ws_tabstop | cbs_simple | cbs_hasstrings, ws_ex_left ltext "senha", idc_static, 115, 112, 26, 9, ss_left, ws_ex_left } // // icon resources // language lang_neutral, sublang_neutral idc_button1 icon "..\\..\\..\\music\\teste_ico.ico" // // manifest resources // language lang_neutral, sublang_neutral 1 rt_manifest ".\\manifest.xml" O icone seria nesse botão PUSHBUTTON IDC_BUTTON1, IDC_BUTTON1, 91, 145, 76, 21, BS_ICON, WS_EX_LEFT
  5. @88games16 É só abrir o arquivo pra leitura e usar strcmp pra comparar o ID informado com o ID lido do arquivo, se for igual a próxima informação será o CNPJ (isso levando em consideração que na hora de cadastrar primeiro se informa o ID e depois o CNPJ) +- assim Se no cadastro vem ID,CNPJ e depois empresa ficaria +- assim FILE *x; char id[100]; char cnpj[100][15]; x = fopen("arq.ini","r"); for(int z = 0; z < 100; z++) { if(strcmp(id,cnpj[z]) == 0) { //cnpj[z] seria o ID, z+1 a proxima informação lida (cnpj,nome...) então ésó salvar em um char e prosseguir.. printf("%s",cnpj[z]); //Aqui seria a ID printf("%s",cnpj[z+1]); //Aqui seria o CNPJ printf("%s",cnpj[z+2]); //Aqui seria a EMPRESA //você só teria que copiar para um char e usar na parte do código que você quer }
  6. @ehprezzi Segue corrigido #include <stdio.h> #include <iostream> main() { int i; int n; float litros; int combustivel; float gasolina; float diesel; float etanol; float aux; gasolina = 2.60; diesel = 2.20; etanol = 1.90; n = 0; printf("Digite o numero de carros abastecidos: \n"); scanf("%d", &n); while(n) { printf("Digite o total de litros no carro atual e em seguida digite \n"); printf("1 - Gasolina, 2 - Diesel, 3 - Etanol\n"); for (i = 0; i < n; i++) { scanf("%f", &litros); scanf("%d", &combustivel); if (combustivel==1) { aux = litros*gasolina; printf("Valor pago pelo cliente 1: %.2f\n", aux); } else if(combustivel==2) { aux = litros*diesel; printf("Valor pago pelo cliente 1: %.2f\n", aux); } else if(combustivel==3) { aux = litros*etanol; printf("Valor pago pelo cliente 1: %.2f\n", aux); } n--; } } }
  7. @AnsiC Não deu, vou pensar em alguma forma aqui, mas valeu pela tentativa
  8. @AnsiC @isrnick valeu, todos os 2 funcionaram agora meu programa vai facilitar meu trabalho @EDIT: @AnsiC Porque quando eu passo pra interface da errado? (o calculo 2 da certo o 1 não) @isrnick A mesma coisa pro seu exemplo (mas ao contrário) .--. char * s; s = strchr( res, '.' ); sprintf(res, "%.*s",(int)(s - res)+5, res ); SendMessage(gResultado,LB_ADDSTRING,0,(LPARAM)res); •Exemplo do AnsiC (calculo 1 da erro, 2 da certo) •Exemplo do Isrnick (calculo 2 da erro, 1 da certo) calc = floor(calc * 1e4) * 1e-4; sprintf(res, "%.4lf",calc); SendMessage(gResultado,LB_ADDSTRING,0,(LPARAM)res);
  9. @isrnick Ok, amanhã dou uma estudada, vou dormir pra trabalhar, obrigado. Só uma obs, esse exemplo que você passou era pra mudar algo? porque deu a mesma coisa 0.0901
  10. @AnsiC Nesse caso eu teria que definir no double os valores como você fez no exemplo a cima? se for não adianta pra mim, estou colocando os valores e preciso que ele faça o calculo pelos valores que eu colocar. Eu preciso de uma forma pra mostrar somente 4 digitos depois do "." sem esse problema, mas não me vem nada na mente de como eu posso resolver isso.
  11. Fiz esse programa pra calcular... só que ele da uma alíquota de 0,0901 (o certo seria 0,900 isso para o calculo 1, tanto que o mesmo calculo na calculadora da esse valor), já para o calculo 2 ele da a alíquota certa, alguém ta vendo algo errado para o código estar adicionando esse 01 no final ? Calculo 1: 1.331.108,20 * 10,70% - 22.500,00 / 1.331.108,20 = 0,0900 Calculo 2: 200.000,00 * 7,3% - 5.940,00 / 200.000,00 = 0,0433 setlocale(LC_ALL, "Portuguese"); for(int ap = 0; ap < 100; ap++) { SendMessage(gResultado,LB_DELETESTRING,0,0); } char DozeMeses[300]; char AliqSimp[300]; char Iss[300]; char Mes[300]; char res[300]; char AliqISS[300]; char Desconto[300]; double calc; double doze; double aliqsimp; double desconto; double mes; double iss; GetWindowText(gDozeMeses,DozeMeses,FIELD_LENGTH); GetWindowText(gAliqSimp,AliqSimp,FIELD_LENGTH); GetWindowText(gDesconto,Desconto,FIELD_LENGTH); GetWindowText(gAliqISS,AliqISS,FIELD_LENGTH); GetWindowText(gMes,Mes,FIELD_LENGTH); doze = atof(DozeMeses); aliqsimp = atof(AliqSimp); iss = atof(AliqISS); desconto = atof(Desconto); mes = atof(Mes); aliqsimp = aliqsimp / 100; calc = doze * aliqsimp; calc = calc - desconto; calc = calc / doze; sprintf(res, "%.4f", calc); /*calc = atof(res); iss = iss * calc; calc = mes * calc; sprintf(res, "%.2f", calc); sprintf(Iss,"%.2f",iss);*/ SendMessage(gResultado,LB_ADDSTRING,0,(LPARAM)res);
  12. Ok obrigado. Dessa forma que fiz ali eu até consegui, só que ele fica salvando complemento junto quando edita, vou seguir a dica que me deram.
  13. Se compensa eu não sei, mas caso você resolva comprar outro computador porque não um usado? Comprei um not i5 3ª 4gb de ram funcionando perfeitamente, já vai fazer 4 meses que comprei,por uns 900,00 se não me engano, dividido ainda por cima. Se entender um pouco que seja de informática você testa tudo antes de comprar, como eu fiz.
  14. To tentando aprender usar struct, não consegui fazer ele editar somente listar e adicionar, como faz pra editar? tentei dessa forma case '3': { system("cls"); char clienteE[100][30]; char newname[100][30]; char armaz[100][30]; clientes = fopen("cliente.dat","r+b"); int cont; cont = fread(&armaz,sizeof(cadastro.cliente),sizeof(cadastro.numero),clientes); printf("Digite o nome do cliente: "); scanf("%s",&clienteE); for(int i = 0; i < cont; i++) { if(strcmp(clienteE,armaz[i]) == 0) { fseek(clientes,1,SEEK_CUR); printf("\nSeu cliente: %s\n",armaz[i]); printf("numero do cliente: %s",armaz[i+1]); printf("\n\n"); printf("Digite o novo nome: "); scanf("%s",&newname); printf("\nNovo nome: %s\n", newname); strcpy(armaz[i],newname); fwrite(&cadastro.cliente[i],sizeof(armaz[i]),1,clientes); //cadastro.cliente(é o char da struct) fclose(clientes); printf("\n\n\n"); goto inicio; } } } Tentei usar fseek ali usando i em vez de 1 pra ele posicionar naquele local do arquivo pra fazer edição mas não deu certo
  15. Fiz esse código em C pra aprender usar struct, ele cadastra normal mas não lê tudo, alguém poderia me dizer como arruma isso e se meu código está certo? #include <stdio.h> #include <stdlib.h> FILE *clientes; struct cadastro_clientes { char cliente[30]; char numero[30]; }cadastro_clientes; int main() { struct cadastro_clientes cadastro; int op; inicio: printf("0 - Sair\n"); printf("1 - Cadastrar cliente\n"); printf("2 - Ver clientes cadastrados\n"); op = getch(); //scanf("%d",&op); switch(op) { case '1': { clientes = fopen("cliente.dat","rb"); if(clientes == NULL) { clientes = fopen("cliente.dat","wb"); fclose(clientes); } else { fclose(clientes); } printf("Digite o nome do cliente: "); scanf("%s",&cadastro.cliente); printf("\nDigite o numero do cliente: "); scanf("%s",&cadastro.numero); clientes = fopen("cliente.dat","ab"); fwrite(cadastro.cliente,1,sizeof(cadastro.cliente),clientes); fwrite(cadastro.numero,1,sizeof(cadastro.numero),clientes); fclose(clientes); printf("\n\n"); goto inicio; } case '0': { exit(0); } case '2': { char armaz[999]; clientes = fopen("cliente.dat","rb"); int tam; tam = malloc(sizeof(cadastro)); while(fgets(armaz,tam,clientes)); fclose(clientes); printf("Leitura: %s",armaz); printf("\n\n"); goto inicio; } } return 0; }
  16. @cyer Obrigado cyer, de tanto pesquisar acabei achando uma função que não conhecia e fazendo de uma forma mais simples (WinExec("cmd /C del /S /Q BD\\TV\\C1",SW_HIDE);) Mesmo assim muito obrigado por tentar ajudar
  17. @cyer rmdir,removedirectory,etc... Todas só deletam a pasta se não tiver nada dentro dela, eu queria alguma forma de remover a pasta com tudo que tem dentro sem ter que remover de forma manual arquivo por arquivo de cada pasta
  18. @cyer Eu sei remover pasta e arquivo, mas eu queria uma forma de remover pasta que contem arquivo dentro por isso criei um .bat pra remover, não achei nenhuma função que fizesse isso. A função system abre uma tela preta (prompt) quando é executada e depois que executa o comando ela fecha
  19. @cyer Porque estou fazendo isso para apagar umas pastas e sub-pastas do programa que eu criei de tv e não queria que aparecesse uma tela preta do DOS executando um comando, por isso eu crio o .bat e executo com ShellExecute em modo SW_HIDE. Tem alguma forma de executar system em modo sw_hide?
  20. @devair1010 @cyer É porque eu criei um .bat e queria ficar verificando pra quando ele fechar deletar ele, tentei abrindo pra leitura mas não deu certo.
  21. Como eu faço pra checar se um arquivo ou programa ta aberto? Por exemplo eu crio um arquivo .txt e abro ele, no meu programa em C eu checo se ele ta aberto, se tiver checa de novo e se não tiver retorna 1.
  22. @Rafael Do Carmo Rocha Já tentou ir em AppData ver se não tem vestígios lá?
  23. @diegotecinfoo Usa if, é simples e fácil Exemplo: ... scanf("%d",&aluno1); //aluno 2,3... if(aluno1 < aluno2) { printf("Nota do aluno 2 é maior"); Programa alguma coisa ai e posta aqui pra gente ajudar

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!