Ir ao conteúdo
  • Cadastre-se

RenanMaia

Membro Júnior
  • Posts

    15
  • Cadastrado em

  • Última visita

Reputação

14
  1. #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> struct cadastro { char primeiro_nome[15]; char ultimo_nome[15]; char cpf[15]; char data_nasc[11]; }; struct cadastro cliente[200]; typedef struct cadastro_Produt { char nome_produto[31]; int codigo_produto; float valor_produto; int quantidade_produtos; }produto; produto produtos_cadastrados[1000]; int conta_cliente ; int conta_produt ; int opcao, opcao2, opcao3, opcao4, opcao5; FILE *excluir_produto; FILE *excluir_client; FILE *produto_file[200]; FILE *cliente_file[200]; FILE *descricao; FILE *lerBackUp; FILE *BackUP; char ler_descricao[1000]; void tipos_servicos(void); void cadastros_cliente(void); void cadastro_produtos(void); void vendas_produtos(void); void copia_arquivo(FILE *file1, FILE *file2, char cpf[15]); void copia_arquivo2(FILE *file1, FILE *file2, int codigo); void copia_arquivo3(FILE *file1, FILE *file2, int codigo); int main() { while(opcao < 1 || opcao > 7) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" MENU "); puts("----------------------------------"); puts("1 - Tipos de servicos"); puts("2 - Clientes"); puts("3 - Produtos"); puts("4 - Vendas"); puts("5 - servicos prestados por valor"); puts("6 - relatorio geral"); puts("7 - Sair"); puts("----------------------------------"); scanf("%i", &opcao); opcao2 = 0; opcao3 = 0; opcao4 = 0; switch (opcao) { case 1: system("cls"); tipos_servicos(); break; case 2: system("cls"); cadastros_cliente(); break; case 3: system("cls"); cadastro_produtos(); break; case 4: system("cls"); vendas_produtos(); break; case 5: system("cls"); break; case 6: system("cls"); break; case 7: system("cls"); exit(0); break; default: system("cls"); printf("\a\nOpcao invalida!\n\n"); system("pause"); } } return 0; } void tipos_servicos() { while(opcao2 < 1 || opcao2 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts("TIPOS DE SERVICOS"); puts("----------------------"); puts("1 - PINTURA "); puts("2 - JARDINAGEM "); puts("3 - FAXINA "); puts("4 - REFORMA EM GERAL "); puts("5 - VOLTAR "); puts("----------------------"); scanf("%i", &opcao2); switch (opcao2) { case 1: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" PINTURA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao pintura.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #100\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 2: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" JARDINAGEM "); puts("----------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao jardinagem.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #200\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 3: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" FAXINA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao faxina.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #300\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 4: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" REFORMA GERAL "); puts("----------------------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao rg.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #400\n"); printf("\nDigite Enter para voltar!"); fclose(descricao); system("pause"); opcao2 = 0; break; case 5: system("cls"); opcao = 0; } } } void cadastros_cliente(void) { char ler_cpf[15]; char confirma_nome[15]; char confirma_ultimoNome[15]; char confirma_dataNasc[11]; char confirma_cpf[15]; int confirma_numero; char cpf_excluido[15]; while (opcao3 < 1 || opcao3 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CLIENTES "); puts("----------------------"); puts("1 - Cadastrar Cliente "); puts("2 - Pesquisar Cliente "); puts("3 - Listar Clientes "); puts("4 - Excluir Cliente "); puts("5 - Voltar "); puts("----------------------"); scanf("%i", &opcao3); switch (opcao3) { case 1: system("cls"); lerBackUp = fopen("BackUp.txt", "r"); if(lerBackUp == NULL) { printf("\a Arquivo nao encontrado!\n"); getchar(); break; } fscanf(lerBackUp, "%i", &conta_cliente); fclose(lerBackUp); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRO "); puts("----------------------"); puts("Primeiro nome: "); scanf("%s", cliente[conta_cliente].primeiro_nome); puts("Ultimo Nome: "); scanf("%s", cliente[conta_cliente].ultimo_nome); puts("CPF: "); fflush(stdin); scanf("%s", cliente[conta_cliente].cpf); puts("Data de Nascimento: "); scanf("%s", cliente[conta_cliente].data_nasc); puts("----------------------"); getchar(); cliente[conta_cliente].primeiro_nome[0] = toupper(cliente[conta_cliente].primeiro_nome[0]); cliente[conta_cliente].ultimo_nome[0] = toupper(cliente[conta_cliente].ultimo_nome[0]); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "a"); fprintf(cliente_file[conta_cliente], "%s %s %s %i %s\n", cliente[conta_cliente].primeiro_nome, cliente[conta_cliente].ultimo_nome, cliente[conta_cliente].data_nasc, conta_cliente, cliente[conta_cliente].cpf); fclose(cliente_file[conta_cliente]); conta_cliente++; BackUP = fopen("BackUp.txt", "w"); fprintf(BackUP, "%i", conta_cliente); fclose(BackUP); system("pause"); system("cls"); printf("Cadastro efetuado com sucesso!\n"); system("pause"); opcao3 = 0; break; case 2: system("cls"); conta_cliente--; puts("=============================="); puts(" PRESTADORA DE SERVICOS "); puts("=============================="); puts(" PESQUISAR CLIENTES "); puts("----------------------------------"); printf("Digite o CPF do cliente (incluindo pontos e traco): \n"); fflush(stdin); scanf("%s", ler_cpf); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "r"); if (cliente_file[conta_cliente] == NULL) { printf("\a\nArquivo nao encontrado!\n"); system("pause"); break; } while (fscanf(cliente_file[conta_cliente], "%s %s %s %i %s", confirma_nome, confirma_ultimoNome, confirma_dataNasc, &confirma_numero, confirma_cpf) != EOF || strcmp(ler_cpf, confirma_cpf) != 0) { if (strcmp(ler_cpf, confirma_cpf) == 0) { printf("\n\n"); puts("-------------------------------------"); printf("Nome: %s %s\n", confirma_nome, confirma_ultimoNome); printf("Data De Nascimento: %s\n", confirma_dataNasc); printf("Numero De Cadastro: %i\n", confirma_numero); printf("CPF: %s\n", confirma_cpf); puts("-------------------------------------"); printf("\n\nDigite qualquer tecla para voltar!\n"); getchar(); opcao3 = 0; break; } } fclose(cliente_file[conta_cliente]); conta_cliente++; system("pause"); break; case 3: system("cls"); puts("=============================="); puts(" PRESTADORA DE SERVICOS "); puts("=============================="); puts(" LISTAR TODOS OS CLIENTES "); puts("------------------------------"); putchar('\n'); putchar('\n'); puts("================================"); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "r"); while (fscanf(cliente_file[conta_cliente], "%s %s %s %i %s", confirma_nome, confirma_ultimoNome, confirma_dataNasc, &confirma_numero, confirma_cpf) != EOF) { puts("================================"); printf("Nome: %s %s\n", confirma_nome, confirma_ultimoNome); printf("Data De Nascimento: %s\n", confirma_dataNasc); printf("Numero De Cadastro: %i\n", confirma_numero); printf("CPF: %s\n", confirma_cpf); puts("================================"); } puts("================================"); system("pause"); opcao3 = 0; fclose(cliente_file[conta_cliente]); opcao3 = 0; break; case 4: system("cls"); puts("=============================="); puts(" PRESTADORA DE SERVICOS "); puts("=============================="); puts(" EXCLUIR CLIENTE "); puts("------------------------------"); printf("Digite o CPF do cliente a ser deletado: \n"); scanf("%s", cpf_excluido); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "r"); if (cliente_file[conta_cliente] == NULL) { printf("\a\nArquivo nao encontrado!\n"); system("pause"); opcao3 = 0; break; } excluir_client = fopen("clientes\\client2.txt", "w"); if (excluir_client == NULL) { printf("\a\nArquivo nao encontrado!\n"); system("pause"); opcao3 = 0; break; } copia_arquivo(cliente_file[conta_cliente], excluir_client, cpf_excluido); system("cls"); printf("\n\nCliente excluido com Sucesso!\n\n"); system("pause"); opcao3 = 0; break; case 5: opcao = 0; break; } } } void copia_arquivo(FILE *file1, FILE *file2, char cpf[15]) { char confirma_nome2[15]; char confirma_ultimoNome2[15]; char confirma_dataNasc2[11]; char confirma_cpf2[15]; int confirma_numero2; while (fscanf(file1, "%s %s %s %i %s", confirma_nome2, confirma_ultimoNome2, confirma_dataNasc2, &confirma_numero2, confirma_cpf2) != EOF) { if (strstr(cpf, confirma_cpf2) == 0) { fprintf(file2, "%s %s %s %i %s\n", confirma_nome2, confirma_ultimoNome2, confirma_dataNasc2, confirma_numero2, confirma_cpf2); } } fclose(file1); fclose(file2); remove("clientes\\client.txt"); rename("clientes\\client2.txt", "clientes\\client.txt"); } void cadastro_produtos(void) { int ler_codigo; int codigo_excluido; char confirma_nome_produt[30]; int confirma_codigo_produt; float confirma_preco_produt; int confirma_quant_produt; while (opcao4 < 1 || opcao4 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" PRODUTOS "); puts("----------------------"); puts("1 - Cadastrar Produto"); puts("2 - pesquisar Produto"); puts("3 - Listar Produtos"); puts("4 - Excluir Produto"); puts("5 - Voltar"); puts("----------------------"); scanf("%i", &opcao4); switch(opcao4) { case 1: lerBackUp = fopen("BackUp.txt", "r"); if(lerBackUp == NULL) { printf("\a Arquivo nao encontrado!\n"); getchar(); break; } int descartavel; fscanf(lerBackUp, "%i %i", &descartavel, &conta_produt); fclose(lerBackUp); system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts("CADASTRAR PRODUTOS"); puts("----------------------"); puts("Nome do produto(Ate 30 characteres):"); fflush(stdin); fgets(produtos_cadastrados[conta_produt].nome_produto, 30, stdin); puts("Codigo do Produto:"); scanf("%d", &produtos_cadastrados[conta_produt].codigo_produto); fflush(stdin); puts("Valor do Produto:"); scanf("%f", &produtos_cadastrados[conta_produt].valor_produto); puts("Quantidade de Produtos:"); scanf("%i", &produtos_cadastrados[conta_produt].quantidade_produtos); puts("----------------------"); puts("Produto cadastrado!"); puts("----------------------"); system("pause"); produtos_cadastrados[conta_produt].nome_produto[0] = toupper(produtos_cadastrados[conta_produt].nome_produto[0]); produto_file[conta_produt] = fopen("produtos\\produto.txt", "a"); fprintf(produto_file[conta_produt], "%d %.2f %i %s", produtos_cadastrados[conta_produt].codigo_produto, produtos_cadastrados[conta_produt].valor_produto, produtos_cadastrados[conta_produt].quantidade_produtos, produtos_cadastrados[conta_produt].nome_produto); fclose(produto_file[conta_produt]); conta_produt++; BackUP = fopen("BackUp.txt", "w"); fprintf(BackUP, "%i %i", descartavel, conta_produt); fclose(BackUP); opcao4 = 0; break; case 2: system("cls"); conta_produt--; puts("=============================="); puts(" PRESTADORA DE SERVICOS "); puts("=============================="); puts(" PESQUISAR PRODUTO "); puts("------------------------------"); printf("Digite o codigo do produto: \n"); fflush(stdin); scanf("%i", &ler_codigo); produto_file[conta_produt] = fopen("produtos\\produto.txt", "r"); if (produto_file[conta_produt] == NULL) { printf("\a\nArquivo nao encontrado!\n"); system("pause"); break; } while (fscanf(produto_file[conta_produt], "%d %f %i %[^\n]s", &confirma_codigo_produt, &confirma_preco_produt, &confirma_quant_produt, confirma_nome_produt) != EOF || ler_codigo != confirma_codigo_produt) { if (ler_codigo == confirma_codigo_produt) { printf("\n\n"); puts("============================"); printf("Nome: %s\n", confirma_nome_produt); printf("Codigo do Produto: %d\n", confirma_codigo_produt); printf("Preco do Produto: %.2f\n", confirma_preco_produt); printf("Produtos em Estoque: %i\n", confirma_quant_produt); puts("============================"); getchar(); opcao4 = 0; break; } } fclose(produto_file[conta_produt]); conta_produt++; system("pause"); break; case 3: system("cls"); puts("=============================="); puts(" PRESTADORA DE SERVICOS "); puts("=============================="); puts(" LISTAR TODOS OS PRODUTOS "); puts("------------------------------"); putchar('\n'); putchar('\n'); puts("================================"); produto_file[conta_produt] = fopen("produtos\\produto.txt", "r"); while (fscanf(produto_file[conta_produt], "%d %f %i %[^\n]s", &confirma_codigo_produt, &confirma_preco_produt, &confirma_quant_produt, confirma_nome_produt) != EOF) { puts("================================"); printf("Nome: %s\n", confirma_nome_produt); printf("Preco: %.2f\n", confirma_preco_produt); printf("Quantidade: %i\n", confirma_quant_produt); printf("Codigo: %d\n", confirma_codigo_produt); puts("================================"); } puts("================================"); system("pause"); fclose(produto_file[conta_produt]); opcao4 = 0; break; case 4: system("cls"); puts("=============================="); puts(" PRESTADORA DE SERVICOS "); puts("=============================="); puts(" EXCLUIR PRODUTO "); puts("------------------------------"); printf("Digite o codigo do produto a ser deletado: \n"); scanf("%d", &codigo_excluido); produto_file[conta_produt] = fopen("produtos\\produto.txt", "r"); if (produto_file[conta_produt] == NULL) { printf("\a\nArquivo nao encontrado!\n"); system("pause"); opcao4 = 0; break; } excluir_produto = fopen("produtos\\produto2.txt", "w"); if (excluir_produto == NULL) { printf("\a\nArquivo nao encontrado!\n"); system("pause"); opcao4 = 0; break; } copia_arquivo2(produto_file[conta_produt], excluir_produto, codigo_excluido); system("cls"); printf("\n\nProduto excluido com sucesso!\n\n"); system("pause"); opcao4 = 0; break; case 5: system("cls"); opcao = 0; break; default: system("cls"); printf("\a\nOpcao invalida!\n\n"); system("pause"); } } } void copia_arquivo2(FILE *file1, FILE *file2, int codigo) { char confirma_nome_produt2[31]; float confirma_preco_produt2; int confirma_codigo_produt2; int confirma_quant_produt2; while (fscanf(file1, "%d %f %i %[^\n]s", &confirma_codigo_produt2, &confirma_preco_produt2, &confirma_quant_produt2, confirma_nome_produt2) != EOF) { if (codigo != confirma_codigo_produt2) { fprintf(file2, "%d %.2f %i %s\n", confirma_codigo_produt2, confirma_preco_produt2, confirma_quant_produt2, confirma_nome_produt2); } } fclose(file1); fclose(file2); remove("produtos\\produto.txt"); rename("produtos\\produto2.txt", "produtos\\produto.txt"); } void vendas_produtos(void) { int confirma_compra; int verifica = 0; char confirma_nome[15]; char confirma_ultimoNome[15]; char confirma_dataNasc[11]; char confirma_cpf[15]; int confirma_codigo_produt; float confirma_preco_produt; int confirma_quant_produt; char confirma_nome_produt[31]; int confirma_numero; char vendas_cpf[15]; int vendas_codigo; lerBackUp = fopen("BackUp.txt", "r"); if(lerBackUp == NULL) { printf("\a Arquivo nao encontrado!\n"); getchar(); exit(1); } fscanf(lerBackUp, "%i", &conta_cliente); fclose(lerBackUp); opcao5 = 0; while(opcao5 == 0) { puts("=============================="); puts(" PRESTADORA DE SERVICOS "); puts("=============================="); puts(" VENDAS DE PRODUTOS "); puts("------------------------------"); putchar('\n'); puts("Entre com o CPF do cliente: "); scanf("%s", vendas_cpf); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "r"); if (cliente_file[conta_cliente] == NULL) { printf("\a\nArquivo nao encontrado!\n"); system("pause"); exit(1); } produto_file[conta_produt] = fopen("produtos\\produto.txt", "r"); if (produto_file[conta_produt] == NULL) { printf("\a\nArquivo nao encontrado!\n"); system("pause"); exit(1); } excluir_produto = fopen("produtos\\produto2.txt", "w"); if (excluir_produto == NULL) { printf("\a\nArquivo nao encontrado!\n"); system("pause"); exit(1); } while (fscanf(cliente_file[conta_cliente], "%s %s %s %i %s", confirma_nome, confirma_ultimoNome, confirma_dataNasc, &confirma_numero, confirma_cpf) != EOF || strcmp(vendas_cpf, confirma_cpf) == 0) { if (strcmp(vendas_cpf, confirma_cpf)) { puts("Informe o codigo do produto: "); scanf("%d", &vendas_codigo); while (fscanf(produto_file[conta_produt], "%d %f %i %[^\n]s", &confirma_codigo_produt, &confirma_preco_produt, &confirma_quant_produt, confirma_nome_produt) != EOF || verifica == 0) { if (confirma_codigo_produt == vendas_codigo) { verifica = 1; system("cls"); puts("============================"); printf("Nome: %s\n", confirma_nome_produt); printf("Codigo do Produto: %d\n", confirma_codigo_produt); printf("Preco do Produto: %.2f\n", confirma_preco_produt); printf("Produtos em Estoque: %i\n", confirma_quant_produt); puts("============================"); puts("Digite '1' para confirmar ou '0' para voltar!"); fflush(stdin); scanf("%d", &confirma_compra); switch(confirma_compra) { case 1: system("cls"); copia_arquivo3(produto_file[conta_produt], excluir_produto, vendas_codigo); puts("Produto Comprado!"); getchar(); opcao5 = 1; break; case 2: system("cls"); break; } } } } } } fclose(cliente_file[conta_cliente]); } void copia_arquivo3(FILE *file1, FILE *file2, int codigo) { char confirma_nome_produt2[31]; float confirma_preco_produt2; int confirma_codigo_produt2; int confirma_quant_produt2; while (fscanf(file1, "%d %f %i %[^\n]s", &confirma_codigo_produt2, &confirma_preco_produt2, &confirma_quant_produt2, confirma_nome_produt2) != EOF) { if (codigo != confirma_codigo_produt2) { fprintf(file2, "%d %.2f %i %s\n", confirma_codigo_produt2, confirma_preco_produt2, confirma_quant_produt2, confirma_nome_produt2); } else if (codigo == confirma_codigo_produt2) { fprintf(file2, "%d %.2f %i %s\n", confirma_codigo_produt2, confirma_preco_produt2, confirma_quant_produt2 = confirma_quant_produt2 - 1, confirma_nome_produt2); } } fclose(file1); fclose(file2); remove("produtos\\produto.txt"); rename("produtos\\produto2.txt", "produtos\\produto.txt"); }
  2. então eu dei o fclose nos dois arquivos, na acho q seja isso! o codigo inteiro esta aqui https://onedrive.live.com/?cid=60C3DB13B693A209&id=60C3DB13B693A209!3048&parId=60C3DB13B693A209!3039&o=OneUp se puder dar uma olhada eu agradeço!
  3. void copia_arquivo3(FILE *file1, FILE *file2, int codigo) { char confirma_nome_produt2[31]; float confirma_preco_produt2; int confirma_codigo_produt2; int confirma_quant_produt2; while (fscanf(file1, "%d %f %i %[^\n]s", &confirma_codigo_produt2, &confirma_preco_produt2, &confirma_quant_produt2, confirma_nome_produt2) != EOF) { if (codigo != confirma_codigo_produt2) { fprintf(file2, "%d %.2f %i %s\n", confirma_codigo_produt2, confirma_preco_produt2, confirma_quant_produt2, confirma_nome_produt2); } else { fprintf(file2, "%d %.2f %i %s\n", confirma_codigo_produt2, confirma_preco_produt2, confirma_quant_produt2--, confirma_nome_produt2); } } fclose(file1); fclose(file2); remove("produtos\\produto.txt"); rename("produtos\\produto2.txt", "produtos\\produto.txt"); } Estou com um problema na hora de uma comparação com o if-else! tenho uma função que lê um arquivo e escreve em outro apenas o que é aprovado pelo if-else, depois deleta o primeiro arquivo e muda o nome do segundo para ter o nome do primeiro! acontece que na hora de imprimir o novo arquivo sai em branco!
  4. Olá, estou fazendo um programa em tem uma parte dele que deve excluir um cliente e os dados do tal que estão em um arquivo .txt! até ai tudo bem, eu crio um novo arquivo com um nome diferente que copia todos os clientes que estavam no outro arquivo, menos o cliente a ser excluído! más apos ter feito isso eu preciso apagar o primeiro arquivo e mudar o nome do segundo para o nome do primeiro! Ai eu dei uma pesquisada e encontrei essas duas funções que prometem apagar e renomear arquivos, acontece que todos os exemplos que eu vi foram em c++, e ao tentar usar essas funções no meu código em c elas não fizeram o que deviam. A minha duvida é: Elas não funcionam em c ou eu as usei errado? Desde já agradeço! void copia_arquivo(FILE *file1, FILE *file2, char cpf[15]) { char confirma_nome2[15]; char confirma_ultimoNome2[15]; char confirma_dataNasc2[11]; char confirma_cpf2[15]; int confirma_numero2; while (fscanf(file1, "%s %s %s %i %s", confirma_nome2, confirma_ultimoNome2, confirma_dataNasc2, &confirma_numero2, confirma_cpf2) != EOF) { if (strstr(cpf, confirma_cpf2) == 0) { fprintf(file2, "%s %s %s %i %s\n", confirma_nome2, confirma_ultimoNome2, confirma_dataNasc2, confirma_numero2, confirma_cpf2); } } remove("clientes\\client.txt")); rename("clientes\\client2.txt", "clientes\\client.txt"); fclose(file1); fclose(file2); }
  5. então acho que é esta quebra de linha que me lascando! sabe me dizer como eu faço pra tirar o '\0' de cada linha?
  6. então eu tentei fazer isso, mas ao que parece quando eu faço esse loop e de alguma forma tento passar o texto para uma variavel, não funciona! é como se primeiro ele lesse o arquivo inteiro pra depois rodar o loop. e no final apenas a ultima linha fica salva! obs: posso ter feito do jeito errado mas acredito que não, pois tentei de diversas formas e sempre acontecia o mesmo.
  7. olá, eu sei que para ler o arquivo .txt eu posso fazer assim: while(fgets(VariavelChar, 90, file) != NULL).{ printf("%s", VariavelChar);} o problema é que quando eu preciso de algo desse arquivo e tento usar a VariavelChar a unica coisa que tem lá é a ultima linha do arquivo! desde já agradeço!
  8. Olá, Estou fazendo um código que recebe um cpf, procura no arquivo .txt um cpf que seja igual e mostre os dados do dono do cpf! Mas estou com um problema na hora de ler o arquivo! Eu coloco o fgets para ler o arquivo como parâmetro do loop while, e dentro do bloco loop eu faço os paranauê pra conseguir achar o cpf que seja igual e depois que acabar o loop (quando achar o cpf) eu peço pra mostrar os dados. o problema é que não está dando certo, na hora em que eu compilo e rodo o programa aparece apenas a primeira linha do arquivo e mais algumas em branco! Agora eu estou em duvidá se quando eu coloco o fgets como parâmetro do while para ler o arquivo, se ele primeiro lê o arquivo inteiro e depois roda o que esta dentro do loop ou se a cada linha lida (que é o que eu espero q seja) ele roda o loop! sou novo em programação me desculpem se isso for um erro muito grosseiro! vou deixar um trecho do código aqui! Obrigado desde já edit: acabei de fazer um teste e percebi que o bloco if nao está rodando! system("cls"); conta_cliente--; puts("=============================="); puts(" PRESTADORA DE SERVICOS "); puts("=============================="); puts(" PESQUISAR CLIENTES "); puts("----------------------------------"); printf("Digite o CPF do cliente (incluindo pontos e traco): \n"); fflush(stdin); scanf("%s", ler_cpf); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "r"); if (cliente_file[x] == NULL) { } struct pesquisa_cliente bloco[200]; x = 0; while(fgets(ler_cadastro, 5000, cliente_file[conta_cliente]) != NULL) { x++; strcpy(bloco[x].pesquisa, ler_cadastro); if(strcmp(bloco[x].pesquisa, ler_cpf)) { break; } } for(i = 0; i <= 4; i++) { printf("%s\n", bloco[x].pesquisa); x--; } fclose(cliente_file[conta_cliente]); conta_cliente++; system("pause");
  9. Olá, estou fazendo um programa de cadastro de produtos e cliente, no menu de cadastros tem a opção "Pesquisar cliente". Nessa opção é pedido o CPF do cliente ha ser localizado! o problema é que as informações de todos os clientes estão em um arquivo .txt! como eu posso fazer para alem de achar o CPF mostrar as informações do usuário correspondentes ao CPF pesquisado? Me perdoem qualquer erro grosseiro no código! faz pouco tempo que comecei a programar. segue o código #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <string.h> struct servicos { int numero_servico; float valor_servico; char codigo_servico[5]; int codigo_cliente; }; struct servicos serv[4]; struct cadastro { char primeiro_nome[15]; char ultimo_nome[15]; char cpf[15]; char data_nasc[11]; }; int main() { FILE *cliente_file[200]; FILE *lerBackUp; FILE *BackUP; FILE *descricao; int opcao, opcao2, opcao3; char ler_descricao[1000]; int conta_cliente; char confirma_cpf[15]; struct cadastro { char primeiro_nome[15]; char ultimo_nome[15]; char cpf[15]; char data_nasc[11]; }; struct cadastro cliente[200]; while(opcao < 1 || opcao > 7) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" MENU "); puts("----------------------"); puts("1 - Tipos de servicos"); puts("2 - Cadastro de Clientes"); puts("3 - Cadastrar os servicos prestados"); puts("4 - servicos (por dia)"); puts("5 - servicos prestados por valor"); puts("6 - relatorio geral"); puts("7 - Sair"); puts("----------------------"); scanf("%i", &opcao); opcao2 = 0; opcao3 = 0; switch (opcao) { case 1: system("cls"); while(opcao2 < 1 || opcao2 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRAR SERVICOS "); puts("----------------------"); puts("1 - PINTURA "); puts("2 - JARDINAGEM "); puts("3 - FAXINA "); puts("4 - REFORMA EM GERAL "); puts("5 - VOLTAR "); puts("----------------------"); scanf("%i", &opcao2); switch (opcao2) { case 1: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" PINTURA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao pintura.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #100\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 2: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" JARDINAGEM "); puts("----------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao jardinagem.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #200\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 3: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" FAXINA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao faxina.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #300\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 4: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" REFORMA GERAL "); puts("----------------------------------"); puts("Descricao: "); descricao = fopen("Descricao\\descricao rg.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #400\n"); printf("\nDigite Enter para voltar!"); fclose(descricao); system("pause"); opcao2 = 0; break; case 5: system("cls"); opcao = 0; } } break; case 2: while (opcao3 < 1 || opcao3 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRAR CLIENTES "); puts("----------------------"); puts("1 - Cadastrar Cliente "); puts("2 - Pesquisar Cliente "); puts("3 - Listar Clientes "); puts("4 - Excluir Cliente "); puts("5 - Voltar "); puts("----------------------"); scanf("%i", &opcao3); switch (opcao3) { case 1: system("cls"); lerBackUp = fopen("BackUp.txt", "r"); if(lerBackUp == NULL) { printf("\a Arquivo nao encontrado!\n"); getchar(); break; } fscanf(lerBackUp, "%i", &conta_cliente); fclose(lerBackUp); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRO "); puts("----------------------"); puts("Primeiro nome: "); scanf("%s", cliente[conta_cliente].primeiro_nome); puts("Ultimo Nome: "); scanf("%s", cliente[conta_cliente].ultimo_nome); puts("CPF: "); scanf("%s", cliente[conta_cliente].cpf); puts("Data de Nascimento: "); scanf("%s", cliente[conta_cliente].data_nasc); puts("----------------------"); getchar(); cliente[conta_cliente].primeiro_nome[0] = toupper(cliente[conta_cliente].primeiro_nome[0]); cliente[conta_cliente].ultimo_nome[0] = toupper(cliente[conta_cliente].ultimo_nome[0]); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "a"); fprintf(cliente_file[conta_cliente], "\n\n"); fputs("---------------------------\n", cliente_file[conta_cliente]); fputs(" CADASTRO \n", cliente_file[conta_cliente]); fputs("---------------------------\n", cliente_file[conta_cliente]); fprintf(cliente_file[conta_cliente], "Nome: %s %s\n", cliente[conta_cliente].primeiro_nome, cliente[conta_cliente].ultimo_nome); fprintf(cliente_file[conta_cliente], "CPF: %s\n", cliente[conta_cliente].cpf); fprintf(cliente_file[conta_cliente], "Data de Nascimento: %s\n", cliente[conta_cliente].data_nasc); fprintf(cliente_file[conta_cliente], "Numero Do Cliente: #%i\n", conta_cliente); fputs("---------------------------", cliente_file[conta_cliente]); fclose(cliente_file[conta_cliente]); conta_cliente++; BackUP = fopen("BackUp.txt", "w"); fprintf(BackUP, "%i", conta_cliente); fclose(BackUP); system("cls"); printf("Cadastro efetuado com sucesso!\n"); system("pause"); opcao3 = 0; break; case 2: system("cls"); puts("======================"); puts(" PRESTADORA DE SERVICOS "); puts("======================"); puts(" PESQUISAR CLIENTES "); puts("---------------------------------------------------------"); printf("Digite o CPF do cliente (incluindo pontos e traço): \n"); scanf("%s", confirma_cpf); system("pause"); break; case 3: system("cls"); system("pause"); break; case 4: system("cls"); system("pause"); break; case 5: opcao = 0; break; } } system("cls"); break; case 3: system("cls"); break; case 4: system("cls"); break; case 5: system("cls"); break; case 6: system("cls"); break; case 7: system("cls"); exit(0); break; } } return 0; }
  10. @devair1010 Nossa obrigado eu tava batendo a cabeça com isso! valeu mesmo.
  11. Olá, estou fazendo um programa de cadastro de produtos e cliente, ai quando eu abro o primeiro ou segundo item do menu, "tipos de serviços" e "cadastro de clientes" (por enquanto só mexi nesses dois itens) funciona normal mas depois que eu volto para o menu principal e tento abrir um dos dois de novo eles não abrem! Obs: sou novo em programação, me perdoem qualquer erro grosseiro no código! #include <stdio.h> #include <stdlib.h> #include <ctype.h> struct servicos { int numero_servico; float valor_servico; char codigo_servico[5]; int codigo_cliente; }; struct servicos serv[4]; struct cadastro { char primeiro_nome[15]; char ultimo_nome[15]; char cpf[15]; char data_nasc[11]; }; int main() { FILE *cliente_file[200]; FILE *lerBackUp; FILE *BackUP; FILE *descricao; int opcao, opcao2, opcao3; char ler_descricao[1000]; int conta_cliente; struct cadastro { char primeiro_nome[15]; char ultimo_nome[15]; char cpf[15]; char data_nasc[11]; }; struct cadastro cliente[200]; while(opcao < 1 || opcao > 7) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" MENU "); puts("----------------------"); puts("1 - Tipos de servicos"); puts("2 - Cadastro de Clientes"); puts("3 - Cadastrar os servicos prestados"); puts("4 - servicos (por dia)"); puts("5 - servicos prestados por valor"); puts("6 - relatorio geral"); puts("7 - Sair"); puts("----------------------"); scanf("%i", &opcao); switch (opcao) { case 1: system("cls"); while(opcao2 < 1 || opcao2 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRAR SERVICOS "); puts("----------------------"); puts("1 - PINTURA "); puts("2 - JARDINAGEM "); puts("3 - FAXINA "); puts("4 - REFORMA EM GERAL "); puts("5 - VOLTAR "); puts("----------------------"); scanf("%i", &opcao2); switch (opcao2) { case 1: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" PINTURA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("descricao pintura.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #100\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 2: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" JARDINAGEM "); puts("----------------------"); puts("Descricao: "); descricao = fopen("descricao jardinagem.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #200\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 3: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" FAXINA "); puts("----------------------"); puts("Descricao: "); descricao = fopen("descricao faxina.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #300\n"); printf("\nDigite Enter para voltar!"); system("pause"); opcao2 = 0; break; case 4: system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" REFORMA GERAL "); puts("----------------------------------"); puts("Descricao: "); descricao = fopen("descricao rg.txt", "r"); if (descricao == NULL) { printf("\n\aArquivo nao encontrado!"); } while (fgets(ler_descricao, 1000, descricao) != NULL) { printf("\n%s", ler_descricao); } printf("\n\n\nCodigo do servico: #400\n"); printf("\nDigite Enter para voltar!"); fclose(descricao); system("pause"); opcao2 = 0; break; case 5: system("cls"); opcao = 0; } } break; case 2: while (opcao3 < 1 || opcao3 > 5) { system("cls"); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRAR CLIENTES "); puts("----------------------"); puts("1 - Cadastrar Cliente "); puts("2 - Pesquisar Cliente "); puts("3 - Listar Clientes "); puts("4 - Excluir Cliente "); puts("5 - Voltar "); puts("----------------------"); scanf("%i", &opcao3); switch (opcao3) { case 1: system("cls"); lerBackUp = fopen("BackUp.txt", "r"); if(lerBackUp == NULL) { printf("\a Arquivo nao encontrado!\n"); getchar(); exit(0); } fscanf(lerBackUp, "%i", &conta_cliente); fclose(lerBackUp); puts("======================"); puts("PRESTADORA DE SERVICOS"); puts("======================"); puts(" CADASTRO "); puts("----------------------"); puts("Primeiro nome: "); scanf("%s", cliente[conta_cliente].primeiro_nome); puts("Ultimo Nome: "); scanf("%s", cliente[conta_cliente].ultimo_nome); puts("CPF: "); scanf("%s", cliente[conta_cliente].cpf); puts("Data de Nascimento: "); scanf("%s", cliente[conta_cliente].data_nasc); puts("----------------------"); cliente[conta_cliente].primeiro_nome[0] = toupper(cliente[conta_cliente].primeiro_nome[0]); cliente[conta_cliente].ultimo_nome[0] = toupper(cliente[conta_cliente].ultimo_nome[0]); cliente_file[conta_cliente] = fopen("clientes\\client.txt", "w"); fputs("---------------------------\n", cliente_file[conta_cliente]); fputs(" CADASTRO \n", cliente_file[conta_cliente]); fputs("---------------------------\n", cliente_file[conta_cliente]); fprintf(cliente_file[conta_cliente], "Nome: %s %s\n", cliente[conta_cliente].primeiro_nome, cliente[conta_cliente].ultimo_nome); fprintf(cliente_file[conta_cliente], "CPF: %s\n", cliente[conta_cliente].cpf); fprintf(cliente_file[conta_cliente], "Data de Nascimento: %s\n", cliente[conta_cliente].data_nasc); fprintf(cliente_file[conta_cliente], "Numero Do Cliente: #%i\n", conta_cliente); fputs("---------------------------", cliente_file[conta_cliente]); fclose(cliente_file[conta_cliente]); conta_cliente++; BackUP = fopen("BackUp.txt", "w"); fprintf(BackUP, "%i", conta_cliente); fclose(BackUP); system("cls"); printf("Cadastro efetuado com sucesso!\n"); system("pause"); opcao3 = 0; break; case 2: system("cls"); system("pause"); break; case 3: system("cls"); system("pause"); break; case 4: system("cls"); system("pause"); break; case 5: system("pause"); break; } } system("cls"); break; case 3: system("cls"); break; case 4: system("cls"); break; case 5: system("cls"); break; case 6: system("cls"); break; case 7: system("cls"); exit(0); break; } } return 0; }
  12. @cyer , muito obrigado! era exatamente isso que eu precissava!
  13. Olá, gostaria de saber se da para criar um vetor em uma variável do tipo FILE *. Faz pouco tempo que comecei a programar, desculpe a ignorância! E se sim, como?
  14. Noooosa, funcionou obrigado de verdade! faz mais de umas 4 horas que eu to batendo cabeça com isso e não acho uma solução! mas eu sinceramente ainda n entendi o porque de mudar o && pelo ||. porque tipo, pro loop parar não era necessario que os parametros fossem tanto o enter quanto a senha correta para para? mas mesmo não tendo intendido muito obrigado você é d+.!!!
  15. Olá, comecei a aprender a programar a pouco tempo, e resolvi criar um programa simples que pedia em um livro que estou lendo, acontece que sempre que aprendo algo novo quero desenvolver dentro deste programa. o meu problema atual é em uma comparação de strings! estou tentando fazer uma senha que quando digitada apareça asteriscos e até que está dando certo, mas o problema é que na hora de fazer o login mesmo a senha estando errada, ela passa pelo meu loop que tem como Parâmetros o enter e a função "strcmp()" que compara a senha registrada com a que foi digitada já tentei de tudo, alguém pode me ajudar? segue o código. ps: O código não está pronto! falta arrumar a parte "Poblemas Mecanicos". ps2: Por favor, me perdoem qualquer erro como indentação, falta de comentarios, entre outros. como eu disse comecei a pouco tempo! #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define ANO 2018 int main() { int cont, i, opcao, problema, poblema_motor, poblema_freio, poblema_suspencao; float orcamento_motor[2], orcamento_freio[2], orcamento_suspencao[2];; while (opcao < 1 || opcao >3 || opcao > 'a' || opcao < 'z') { puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" MENU "); puts("1 - Poblemas mecanicos"); puts("2 - Fale conosco"); puts("3 - Cadastre-se"); puts("4 - Entre"); puts("5 - Sair"); puts("-------------------"); scanf("%d", &opcao); switch (opcao) { case 1: // limpando a tela system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts("POBLEMAS MECANICOS"); puts("indique onde se encontra o seu problema: "); puts("1 - Motor"); puts("2 - Freios"); puts("3 - Suspencao"); scanf("%d", &problema); switch (problema) { case 1: // limpando a tela system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" MOTOR "); puts("Indique qual seu problema com o motor: "); puts("1 - Falta de potencia"); puts("2 - Baixo rendimento com gasolina"); puts("3 - Motor acelerado"); scanf("%d", &poblema_motor); switch (poblema_motor) { case 1: orcamento_motor[0] = 100.00; break; case 2: orcamento_motor[1] = 200.00; break; case 3: orcamento_motor[2] = 300.00; break; default: printf("\n \a Opcao invaida!"); } break; case 2: // limpando a tela system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" FREIOS "); puts("Indique qual seu problema com os freios: "); puts("1 - chiado ao precionar o freio"); puts("2 - o carro nao para ao precionar o freio"); puts("3 - mal cheiro ao precionar o freio"); scanf("%d", &poblema_freio); switch (poblema_freio) { case 1: orcamento_freio[0] = 100.00; break; case 2: orcamento_freio[1] = 200.00; break; case 3: orcamento_freio[2] = 300.00; break; default: puts("\a opcao invalida!\n\n"); break; } break; case 3: // limpando a tela system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" SUSPECAO "); puts("Indique qual seu problema com a suspencao: "); puts("1 - Barulhos ao passar por buracos"); puts("2 - Assoalho raspando em lombadas"); puts("3 - Troca compreta de jogo de suspencoes"); scanf("%d", &poblema_suspencao); switch (poblema_suspencao) { case 1: orcamento_suspencao[0] = 100.00; break; case 2: orcamento_suspencao[1] = 200.00; break; case 3: orcamento_suspencao[2] = 300.00; break; default: puts("\a opcao invalida!"); break; } break; default: puts("\a opcao invalida!"); } break; case 2: ////////////////////////////CONTATOS/////////////////////////////////// system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" CONTATOS "); putchar('\n'); puts("Whasapp: 11 00000000"); puts("Facebook: facebook.com/teste"); puts("Email: [email protected]"); break; case 3: //////////////////////////CADASTRO DE USUARIO///////////////////// system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" CADASTRO "); struct cadastro { char primeiro_nome[15]; char segundo_nome[15]; char email[30]; char senha; char salva_senha[15]; char cpf[15]; char cidade[20]; char rua[20]; char numero[10]; int idade; }usuario, endereco; struct data { int dia, mes, ano; }aniversario; putchar('\n'); puts(" Dados pessoais "); puts("-------------------"); putchar('\n'); puts("Digite seu nome: "); scanf("%s", usuario.primeiro_nome); puts("digite seu ultimo nome: "); scanf("%s", usuario.segundo_nome); puts("digite seu email: "); scanf("%s", usuario.email); // colocando asterisco na senha puts("digite uma senha de 10 digitos: "); i = 0; fflush(stdin); do { usuario.senha = getch(); if (isalnum(usuario.senha)) { usuario.salva_senha[i] = usuario.senha; i++; putchar('*'); } else if(usuario.senha == 8 && i) //8 é o caractere BackSpace na tabela ASCII, && a analisa se a é diferente de 0 { usuario.salva_senha[i]='\0'; i--; printf("\b \b"); //Apagando o caractere digitado } }while (usuario.senha != 13); usuario.salva_senha[i] = '\0'; putchar('\n'); puts("Digite seu cpf: "); scanf("%s", usuario.cpf); putchar('\n'); puts("Data de nascimento "); puts("-------------------"); putchar('\n'); puts("Dia: "); scanf("%d", &aniversario.dia); puts("mes: "); scanf("%d", &aniversario.mes); puts("ano: "); scanf("%d", &aniversario.ano); putchar('\n'); puts(" Endereco: "); puts("-------------------"); putchar('\n'); fflush(stdin); puts("Digite o nome da sua cidade: "); fgets(endereco.cidade, 20, stdin); puts("Digite o nome da sua rua: "); scanf("%s", endereco.rua); puts("Digite o numero da sua casa: "); scanf("%s", endereco.numero); //limpando a tela system("cls"); // Deixando iniciais maiusculas usuario.primeiro_nome[0] = toupper(usuario.primeiro_nome[0]); usuario.segundo_nome[0] = toupper (usuario.segundo_nome[0]); endereco.cidade[0] = toupper (endereco.cidade[0]); endereco.rua[0] = toupper (endereco.rua[0]); //definindo idade usuario.idade = ANO - aniversario.ano; //exibindo informações putchar('\n'); printf("------------------------------\n"); printf(" informações do cadastro \n"); printf("------------------------------\n"); printf("Nome: %s %s\n", usuario.primeiro_nome, usuario.segundo_nome); printf("cpf: %s\n", usuario.cpf); printf("Data de nascimento: %d/%d/%d\n", aniversario.dia, aniversario.mes, aniversario.ano); printf("idade: %d\n", usuario.idade); printf("endereco: %s, Rua %s, %s\n", endereco.cidade, endereco.rua, endereco.numero); printf("------------------------------\n"); printf("\n"); break; case 4: //////////////////////////// LOGIN DO USUARIO /////////////////////////////// system("cls"); puts("=================="); puts(" OFICINA MECANICA "); puts("=================="); puts("-------------------"); puts(" ENTRE "); struct entre { char confirma_email[30]; char confirma_senha[15]; }; struct entre login; putchar('\n'); i = 0; do { fflush(stdin); printf("Digite seu email: "); scanf("%s", login.confirma_email); if (strcmp(usuario.email, login.confirma_email) != 0) //CONFERE EMAIL { printf("\a Email invalido!\n"); } }while(strcmp(usuario.email, login.confirma_email) != 0); printf("Digite sua senha: "); fflush(stdin); do{ usuario.senha = getch(); if(isprint(usuario.senha)) //Analisa se o valor de c é imprimível { login.confirma_senha[i] = usuario.senha; i++; printf("*"); //Imprimindo apenas o asterisco * } else if( usuario.senha == 8 && i ) { login.confirma_senha[i] = '\0'; i--; printf("\b \b"); //Apagando os caracteres digitados } if(usuario.senha == 13 && strcmp(login.confirma_senha, usuario.salva_senha) != 0) { fflush(stdin); putchar('\n'); printf("\a Senha invalida!\n"); for(cont = 0; cont <= 15; cont++) { login.confirma_senha[cont] = '\0'; } printf("Digite sua senha: "); } }while(usuario.senha != 13 && strcmp(login.confirma_senha, usuario.salva_senha) != 0); usuario.senha = '\0'; printf("\nBem Vindo, %s!\n", usuario.primeiro_nome); break; case 5: // limpando a tela system("cls"); // função que sai do programa exit(0); break; default: putchar('\n'); printf("\a opcao invalida!\n"); break; } } return 0; }

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