Ir ao conteúdo

Gnomo Psicodélico

Membro Pleno
  • Posts

    31
  • Cadastrado em

  • Última visita

Reputação

22

1 Seguidor

  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. @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 }
  4. @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--; } } }
  5. @AnsiC Não deu, vou pensar em alguma forma aqui, mas valeu pela tentativa
  6. @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);
  7. @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
  8. @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.
  9. @AnsiC O que me recomenda fazer nesse caso então?
  10. 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);
  11. 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.
  12. 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.
  13. 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
  14. @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
  15. @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

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