Ir ao conteúdo

devair1010

Membro Pleno
  • Posts

    6.318
  • Cadastrado em

  • Última visita

Tudo que devair1010 postou

  1. @mateus costa r seu código está certo ficou faltando colocar os comandos para fazer a leitura do arquivo e comparar com o login e a senha : então seu código ficaria assim : #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <locale.h> #include <windows.h> #include <string.h> FILE * arq; int n,v; void cadastro(){ char login[50], senha[50], email[50]; system("cls"); arq=fopen("cadastro.txt","r"); fclose(arq); if(arq==NULL){ arq = fopen("cadastro.txt","a"); if (arq == NULL){ printf("O arquivo não pode ser gerado"); system("pause"); } printf("=============cadastro============\n"); fprintf(arq, "-------------cadastro-----------\n"); printf("Escreva seu Login: "); gets(login); fprintf(arq, "Login: %s \n", login); printf("Escreva sua senha: "); fflush(stdin); gets(senha); fprintf(arq,"Senha: %s \n",senha); printf("Escreva seu email: "); fflush(stdin); gets(email); fprintf(arq, "Email: %s \n\n", email); printf("\n"); printf("Cadastro gerado com sucesso!\n"); fclose(arq); } } void menu_nao_incial() { char c; printf("Se você não tiver uma conta aperte 'F' maiúsculo\n"); printf("Se já tiver uma conta aperte qualquer tecla!!!\n\n"); c = getch(); switch(c){ case 'F': cadastro(); printf(" Tecle . . .\n"); getchar(); printf("retornando aguarde..."); Sleep(3000); system("cls"); } } void menu(){ char a[20],r[20],s[20],w; int x; menu_nao_incial(); do{ x=0,v=0,n=0; printf("=======Menu de Acesso=========\n"); printf("login: "); fflush(stdin); gets(r); printf("senha: "); fflush(stdin); gets(s); arq=fopen("cadastro.txt","r"); while(fscanf(arq,"%s",a)!=EOF){ if(strcmp(a,s) == 0){ v=1; break; } } fclose(arq); arq=fopen("cadastro.txt","r"); while(fscanf(arq,"%s",a)!=EOF){ if(strcmp(r,a)==0){ n=1; } } fclose(arq); if(n==0){printf("Login Errado\n");} if(v==0){printf("Senha Errada\n");} if(n==0 || v==0){ printf("Quer Tentar Novamente S/N "); scanf("%c",&w); if(w=='n'){x=1;} printf("\n"); } else{ printf("\nLogin e Senha certos\n\n"); x=1; } }while(x==0); } int main(){ setlocale(LC_ALL,""); menu(); if(n==0 || v==0)return 0; printf("Acessando...\n"); Sleep(3000); system("cls"); printf("====programa====\n"); printf("Instruçôes do programa ....\n"); return 0; }
  2. @Lael Lima seu código está realmente com um erro de syntaxe na linha 11 você está usando and ,mas deveria usar && .
  3. @Nerociffer use as funções _strdate() e _strtime assim : #include <stdio.h> #include <time.h> char data[9],hora[9],dia[2],mes[2],ano[2]; char minuto[2],segundo[2],horas[2]; int n_dia,n_mes,n_ano,n_horas,n_minuto,n_segundo; int main(){ _strdate(data); _strtime(hora); printf("Data em inglês = %s\n",data); printf("Hora= %s\n",hora); return 0; }
  4. @jbiribi No windows, para encerrar quando teclar ESC você usa o comando getch() assim : int tecla; printf("Tecle ESC Para Sair"); tecla = getch(); if(tecla == 27)return 0;
  5. @Katelyn Marie você pode usar uma variável char para pegar o número e em seguida ver a quantidade de dígitos que ele tem usando a função strlen ( ) e converter para o valor decimal usando a função atoi assim : printf("Digite Um Numero "); gets(ch); num = atoi(ch); d = strlen(ch); com isso a variável d conterá a quantidade de dígitos do número decimal e num conterá o valor do número digitado e depois fazer a conversão para binário . então faça o código e poste aqui para podermos ver como está e em que podemos ajudar .
  6. @Isaque silva oliveira 2 você pega os dois valores, um para a base e outro para o expoente por exemplo : x scanf("%d %d",&x,&p); e calcula assim : r=x; for(i=1;i<p;i++) r=r*x; depois imprime o valor de r .
  7. @Igor Vargas você misturou struct com typedef por isso estava dando erro, e é melhor colocar a definição do struct lá em cima antes da main para que ele seja do tipo global, assim você pode trabalhar com ele dentro das outras funções, então seu código com algumas modificações ficaria assim : #include <stdio.h> #include <string.h> #include <stdlib.h> struct info { char nome[20]; int sexo; int idade; }; struct info pessoas[3]; int pessoas_verefica(){ int x; int masculino=1; for(x=0; x<3; x++){ if(pessoas[x].sexo==masculino){ printf("Nome:%s Idade:%d \n",pessoas[x].nome,pessoas[x].idade); } else{ printf("Nome:%s Idade:%d \n",pessoas[x].nome,pessoas[x].idade); } } return masculino; } int main(){ int x; /*int y;*/ while(x<3){ printf("Digite seu nome:"); gets(pessoas[x].nome); printf("Digite 1 para M e 0 Para F:"); /*gets*/scanf("%d",&pessoas[x].sexo); printf("Digite Sua Idade:"); fflush(stdin); scanf("%d",&pessoas[x].idade); fflush(stdin); x++; } pessoas_verefica(); system("pause"); }
  8. @Lucas Sato se você quiser pode tentar resolver você mesmo, então faça a limpeza como o @JonasTC disse, retire e limpe os contatos das memórias e da placa de vídeo com uma borracha, e faça clear_cmos resetando a bios , para isso geralmente basta retirar a bateria e esperar uns 30 segundos e colocar novamente no lugar . se não resolver o melhor é levar em uma assistência técnica.
  9. @Marcos Paulo feitosa primeiro você pega o número que você vai dividir e o número que será o divisor e então você pode colocar um loop que repete enquanto a variável referente ao número que você quer dividir for maior que 1 e dentro do loop você subtrai o outro valor (divisor) que você quer dividir dessa primeira variável e somar um ao contador que será o resultado, então na saída desse loop você tem a parte inteira do quociente da divisão .
  10. @Brendah nesse primeiro para você ordenar em ordem crescente você pode usar uma variável auxiliar, então depois que você fez a leitura do números você coloca assim : if(a<b){aux=a;a=b;b=aux;} if(a<c){aux=a;a=c;c=aux;} if(b<c){aux=b;b=c;c=aux;} depois ver se são ou não distintos .
  11. @jeferson junior rodrigues você está usando a variável x para ver se é par ou ímpar mas deveria usar a variável i .
  12. @Vinezof2 ele está lendo essa variável dependendo de quantos dependentes tem , se quando ele perguntar quantos dependentes, você colocar 2 então ele vai ler duas vezes pois serão dois dependentes, mas se você colocar que é um dependente então ele não repetirá e segue com o programa .
  13. @Murillo Pereira da Silva para escrever no arquivo você pode usar o comando fprintf, então depois que você abriu o arquivo para escrever, você coloca esses comando assim : fprintf("==========Nota Fiscal==========\n\n"); fprintf(" Nome: %s \n carro alugado: %s\n Preco a ser pago: R$%.2f \n Hora: %s \n",nome,caresc,tarifacarro,hora); fprintf(" Data do Recebimento do veiculo: Dia %d \n ==============================\n\n\n",devolucao+dia); e logo em seguida você escreve na tela usando esses comandos : printf("==========Nota Fiscal==========\n\n"); printf(" Nome: %s \n carro alugado: %s\n Preco a ser pago: R$%.2f \n Hora: %s \n",nome,caresc,tarifacarro,hora); printf(" Data do Recebimento do veiculo: Dia %d \n ==============================\n\n\n",devolucao+dia);
  14. @Eizy para que não se digite letra ao invés de número,no seu caso, você pode usar o comando atoi , então seu código ficaria assim : char CPE = 'C',VIA = 'P',po[1]; P = CP = S = IM = VT = 0; for(i=1;i<=5;i++){ do{ printf("Digite o preço da mercadoria %d: ",i); /*scanf("%d",&P);*/ fflush(stdin); scanf("%c",&po); P = atoi(po); if(P<1) printf("So Pode Ser Numero... Digite novamente !\n"); }while(P < 1); if(P <= 100){ IM = P*0.05;
  15. @Patrick Weber para calcular a média você está usando o vetor de forma errada, pois no visualg não se usa esse formato para vetores mas sim para matriz, então você pode fazer esse cálculo assim : media[loopnomes] := (notas[1] + notas[2] + notas[3] + notas[4])/4 se media[loopnomes] >= 6 ENTÃO
  16. @anonymouatour a ordenação se faz usando dois loop um dentro do outro, sendo que o segundo loop começa do valor do primeiro mais um, com isso o loop de dentro verifica todos os números com o primeiro para ver se ele é maior, se for então trocar eles de lugar, usando para isso uma variável assim : aux = vetor[ i ]; vetor[ i ] = vetor[ j ]; vetor[ j ]= aux;
  17. devair1010

    C Ordenar nome em C

    @AnaTrinity o primeiro da ordem alfabética depois que o vetor estiver ordenado , fica na posição zero do vetor nomes , então você pode imprimir assim : printf("Aqui esta O Primeiro Nome => %s\n",nomes[ 0 ]);
  18. devair1010

    C Ordenar nome em C

    @AnaTrinity para ordenar nomes é igual ordenar números , pois cada letra tem um valor numérico, então você pode usar o método bubllesort , mas os nomes serão ordenados pela primeira letra e que seja todos os nomes em letras minúsculas ou todos os nomes com letras maiúsculas, se você misturar maiúsculas com minúsculas a ordenação não dará certo. então seu código com algumas modificações ficaria assim : #include <stdio.h> #include <string.h> int main(){ int N,j,i; char aux[11]; printf("digite a quantidade de nomes "); scanf("%d", &N); getchar(); char nomes[N][11]; for(i=0;i<N;i++){ printf("digite o %d nome ",i+1); scanf("%[^\n]s",nomes[i]); getchar(); } printf("\naqui estão os nomes na ordem digitados\n"); for(i=0;i<N;i++){ printf("%s\n",nomes[i]); } for(i=0;i<N;i++){ for(j=i+1;j<N;j++){ if( nomes[i][0]>nomes[j][0]){ strcpy(aux,nomes[i]); strcpy(nomes[i],nomes[j]); strcpy(nomes[j],aux); } } } printf("\naqui os nomes em ordem crescente\n"); for(i=0;i<N;i++){ printf("%s\n",nomes[i]); } return 0; }
  19. @Niedson Santana no seu código você está misturando int com float, seu código seria assim : #include<stdio.h> main(){ int s; float seg=0,pri,div=0,res=0; scanf("%d", &s); for(pri=0; pri<s; pri++){ seg=pri*3; div=pri/seg; res=res+div; printf("%.f/%.f",pri,seg); if(pri<s) printf(" + "); } printf("\n%.2f", res); }
  20. @João Vitor Volpin nesse primeiro você pega um número e verifica se ele está entre 1 e dez , se estiver nesse intervalo você mostra a tabuada dele de 1 até dez usando um para assim : para i de 1 ate 10 faca escreval(i," X ",numero," = ",i*numero) fimpara se não estiver nesse intervalo mostre a mensagem de número inválido . não podemos te dar um código pronto, pois é contra as regras do fórum, então faça os algoritmos um de cada vez e poste aqui para podermos ver como está e em que podemos ajudar .
  21. @mosiah santos seu código está dando erro no escolha / caso , modifiquei algumas linhas para que funcionasse então seu código com algumas modificações ficou assim : Algoritmo "centro automotivo" Var a,b,opcao,op:inteiro //--------------------------------------------------------------------- procedimento menu_principal Inicio //menu principal limpatela escreval ("centro automotivo") escreval("Selecione uma opção") escreval ("1 - Motor") escreval ("2 - Suspenção") escreval ("3 - Freio") escreval ("4 - sair") escreva("=> ") Fimprocedimento //--------------------------------------------------------------------- //funcao da opcao 1 procedimento menu_motor inicio limpatela escreval ("Opcao Motor") escreval ("1- Alto consumo de óleo lubrificante") escreval ("2- Excesso de fumaça sendo expelida pelo escapamento") escreval ("3- Baixa potencia") escreval ("4- voltar") escreval ("selecione uma opção") escreval ("valor por horas/atividades é de R$ 100,00 , por hora") escreva("=> ") fimprocedimento //--------------------------------------------------------------------- //funcao opcao 2 procedimento menu_suspencao inicio limpatela escreval ("Opcao Suspenção") escreval ("1- Ruidos e batidas nas rodas") escreval ("2- Vibrações e direção puxando") escreval ("3- Desgaste irregular dos pneus") escreval ("4- voltar") escreval ("selecione uma opção") escreval ("valor por horas/atividades é de R$ 200,00 , por hora") escreva("=> ") fimprocedimento //--------------------------------------------------------------------- // funcao opcao 3 procedimento menu_freio inicio limpatela escreval ("Opcao Suspenção") escreval ("1- O carro ou pedal vibra ao pisar no pedal do freio") escreval ("2- O carro puxa para algum lado quando freia") escreval ("3- Chiado ou ronco quando pisa no freio") escreval ("4- voltar") escreval ("selecione uma opção") escreval ("valor por horas/atividades é de R$ 300,00 , por hora") escreva("=> ") fimprocedimento //--------------------------------------------------------------------- procedimento alto_consumo inicio escreval("esta aqui no alto consumo") escreval(" Tecle Enter") leia(a) fimprocedimento //--------------------------------------------------------------------- procedimento excesso_de_fumaca inicio escreval("esta aqui no excesso de fumaça") escreval(" Tecle Enter") leia(a) fimprocedimento //--------------------------------------------------------------------- procedimento baixa_potencia inicio escreval("esta aqui no baixa potencia") escreval(" Tecle Enter") leia(a) fimprocedimento //--------------------------------------------------------------------- procedimento Ruidos_e_batidas_nas_rodas inicio escreval("está aqui no procedimento ruido e batidas nas rodas") escreval(" Tecle Enter") leia(a) fimprocedimento //--------------------------------------------------------------------- procedimento Vibracoes_e_direcao_puxando inicio escreval("eata aqui no procedimento vibrações e direção puxando") escreval(" Tecle Enter") leia(a) fimprocedimento //--------------------------------------------------------------------- procedimento desgaste_irregular_dos_peneus inicio escreval("esta aqui no prcedimento desgaste irregular dos peneus") escreval(" Tecle Enter") leia(a) fimprocedimento //--------------------------------------------------------------------- procedimento carro_ou_pedal_vibra_ao_pisar inicio escreval("esta aqui no procedimento carro ou pedal vibra ao pisar no freio") escreval(" Tecle Enter") leia(a) fimprocedimento //--------------------------------------------------------------------- procedimento carro_puxa_para_algum_lado inicio escreval("esta aqui no procedimento carro puxa para algum lado") escreval(" Tecle Enter") leia(a) fimprocedimento //--------------------------------------------------------------------- procedimento Chiado_ou_ronco_quando_pisa inicio escreval("esta aqui no procedimento chiado ou ronco quando pisa") escreval(" Tecle Enter") leia(a) fimprocedimento //--------------------------------------------------------------------- Inicio repita menu_principal leia(Opcao) limpatela escolha opcao caso 1 repita menu_motor leia(op) escolha op caso 1 alto_consumo caso 2 excesso_de_fumaca caso 3 baixa_potencia caso 4 escreval("voltando . . . Tecle Enter") leia(a) fimescolha ate op=4 caso 2 repita menu_suspencao leia(op) escolha op caso 1 Ruidos_e_batidas_nas_rodas caso 2 Vibracoes_e_direcao_puxando caso 3 desgaste_irregular_dos_peneus caso 4 escreval("voltando . . . Tecle Enter") leia(a) fimescolha ate op=4 caso 3 repita menu_freio leia(op) escolha op caso 1 carro_ou_pedal_vibra_ao_pisar caso 2 carro_puxa_para_algum_lado caso 3 Chiado_ou_ronco_quando_pisa caso 4 escreval("voltando . . . Tecle Enter") leia(a) fimescolha ate op=4 caso 4 escreval("você pediu para sair, saindo . . . !") fimescolha ate opcao=4 Fimalgoritmo
  22. @Jv Rotta seu código está bom, a chamada da função está quase certa você colocou esse & que não precisa , então seu código com algumas modificações fiaria assim : #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <conio.h> typedef struct { char sexo, nome[50]; int idade, codigo; float peso, altura; }paciente; int cadastro(paciente *x,int l){ printf("Insira o codigo do paciente: "); fflush(stdin); scanf("%d", &x[l].codigo); if(x[l].codigo != 0){ fflush(stdin); printf("Insira o nome do paciente: "); gets(x[l].nome); fflush(stdin); printf("Insira a idade do paciente: "); scanf("%d", &x[l].idade); fflush(stdin); printf("Insira o sexo do paciente: "); scanf("%c", &x[l].sexo); fflush(stdin); printf("Insira a altura do paciente(ex. 1.75): "); scanf("%f", &x[l].altura); fflush(stdin); printf("Insira o peso do paciente(ex. 75.5"); scanf("%f", &x[l].peso); } return x[l].codigo; } int main(){ /*setlocale(LC_ALL, "portuguese");*/ /*se usar essa biblioteca os float ficarão sem casas decimais */ int j,r,c,cont=0; paciente x[15]; for(c=0;c<15;c++){ r = cadastro(x,c); if(r==0)c=15; cont++; } for(j=0;j<cont-1;j++){ printf("codigo = %d \n",x[j].codigo); printf("nome = %s \n",x[j].nome ); printf("idade = %d \n",x[j].idade ); printf("sexo = %c \n",x[j].sexo ); printf("altura = %.2f\n",x[j].altura); printf("peso = %.2f\n\n",x[j].peso); } getch(); return 0; }
  23. @xihekuso para preencher a matriz você usa dois laços um dentro do outro, sendo um para as linhas e outro para as colunas e faz a leitura assim : scanf(" % d ",& matriz[i][j]); depois pega outro número e compara com os números que estão nas posições da matriz assim : scanf("%d",&x); if(x==matriz[i][j])printf("esse valor de x=%d existe na matriz",x); else printf("esse valor x= %d nao existe na matriz",x); nesse segundo você pega os dados para a matriz e depois imprime invertendo as variáveis no printf assim : na hora de ler a matriz você faz : scanf("%d",&matriz[i][j]); e na hora de imprimir você coloca assim : printf("%d",matriz[j][i]);
  24. @Eri Fari mas me diga o que seria uma função prototipada? se você tiver um código poste ele aqui para podermos ver como está e em que podemos ajudar . pois não podemos te dar um código pronto , pois é contra as regras do fórum .
  25. devair1010

    C++ Ler arquivo TXT em C

    @david nilo aqui seu código com algumas modificações : #include<stdio.h> #include<locale.h> #include<stdlib.h> #include<string.h> struct produto{ char peca[30]; int codigo; }cad[100]; int main(){ setlocale(LC_ALL,""); FILE* arq; char pesquisa[100]; int pos = 0,j,i,regnum = 0; char opc; arq=fopen("lista2.txt","r"); if(arq==NULL){ printf(" houve um erro ao ler o arquivo!\n"); system("pause"); exit(1); } j=1; fscanf(arq,"%s",&cad[0].peca);fscanf(arq,"%s",&cad[0].peca); while( fscanf(arq,"%s",&cad[j].peca ) != EOF && fscanf(arq,"%d",&cad[j].codigo ) != EOF){ j++; } fclose(arq); printf("Lista de produtos!\n\n"); printf("Digite sua pesquisa:\n"); gets(pesquisa); for(i=1;i<j;i++){ if(strcmp(cad[i].peca,pesquisa)==0 || cad[i].codigo == atoi(pesquisa)){ printf("\n\tpeça: %s\n\tcódigo %d\n\n",cad[i].peca,cad[i].codigo); regnum = pos+1; break; } } if (regnum ==0){ printf("Desculpe! produto nao localizado\n"); } else{ printf("Deseja altera o registro?(S/N) "); scanf("%c", &opc); getchar(); if (opc == 's'){ printf("atualizar produto: \n\n"); printf("\tpeca: "); gets(cad[i].peca); printf("\tcodigo: "); scanf("%d", &cad[i].codigo); printf("\n\n"); getchar(); remove("lista2.txt"); arq=fopen("lista2.txt","w"); fprintf(arq,"%s","produto"); fprintf(arq,"%s"," "); fprintf(arq,"%s\n","codigo"); for(i=1;i<j;i++){ fprintf(arq,"%s",cad[i].peca); fprintf(arq,"%s\t"," "); fprintf(arq,"%d",cad[i].codigo); fprintf(arq,"%s\n"," "); } fclose(arq); /*fseek(arq, sizeof(struct produto)*(regnum-1), SEEK_SET); fwrite(&cad, sizeof(struct produto), 1, arq);*/ printf("registro alterado com susseco! \n\n"); } } /*fclose(arq);*/ system("pause"); return 0; } não entendi essa parte de fseek que você colocou para alterar o arquivo, ela parece não ter funcionado, creio que no lugar desse fseek fwrite você precisaria colocar assim : remove("lista2.txt"); arq=fopen("lista2.txt","w"); fprintf(arq,"%s","produto"); fprintf(arq,"%s"," "); fprintf(arq,"%s\n","codigo"); for(i=1;i<j;i++){ fprintf(arq,"%s",cad[i].peca); fprintf(arq,"%s\t"," "); fprintf(arq,"%d",cad[i].codigo); fprintf(arq,"%s\n"," "); } fclose(arq);

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!