-
Posts
5 -
Cadastrado em
-
Última visita
Reputação
7-
C++ Scanf limitado para determinado numero de caracteres
Rafael Carvalho Alencar postou um tópico em C/C#/C++
Gostaria de saber como faço para meu programa pular para o próximo scanf quando o usuario digitar um numero de caracteres específico. Ex: int a,b,c; scanf("%d", &a); // Nesse o usuario deve digitar 2 numeros, e sem ter que apertar enter o programa deve pular para a proxima leitura automaticamente. scanf("%d", &b); // Mesmo procedimento. scanf("%d", &c); // Nesse ultimo só muda que o usuário deve inserir 4 digitos. Minha dúvida é essa. Obrigado. -
C++ programa em c++ que leia arquivo txt e salve valores em struct
Rafael Carvalho Alencar respondeu ao tópico de Rafael Carvalho Alencar em C/C#/C++
Olá amigo. Eu "consegui" criar o menu para salvar os usuarios, mas de um jeito que ele salva o todos os usuarios no arquivo de uma vez, toda vez que eu cadastro um novo usuario. Se alguem souber como fazer isso de forma que ele adicione só o usuario que eu acabei de cadastrar no arquivo seria melhor. E tambem um método que exclua algum usuario. #include<iostream> #include<stdio.h> #include<conio2.h> #include<stdlib.h> #include<string.h> #include<fstream> using namespace std; FILE *arquser=fopen("dbusers.db", "a+"); struct Usuarios{ char nome[ 30]; char sobrenome[ 30]; char cargo[ 30]; char cpf[ 30]; char rg[ 30]; char senha[ 15]; }; Usuarios usuario[9999]; int tam_struct = 0; void Listar(); void Cadastrar(); void Deletar(); void Inicio(); int main(void){ int i = 0; bool repete = true; if(arquser==NULL){printf("Erro no arquivo !\n");exit(0);} while( fscanf(arquser, "%s", usuario[i].nome ) != EOF && fscanf(arquser, "%s", usuario[i].sobrenome ) != EOF && fscanf(arquser, "%s", usuario[i].cargo ) != EOF && fscanf(arquser, "%s", usuario[i].rg ) != EOF && fscanf(arquser, "%s", usuario[i].cpf ) != EOF && fscanf(arquser, "%s", usuario[i].senha ) ){ i++; tam_struct++; } fclose(arquser); Inicio(); } void Inicio() { // INTERFACE int op; bool repete = true; do{ system("cls"); printf("\n\tBEM VINDO - Usuarios - %d \n", tam_struct); printf("\n 1 - Ver Usuarios Cadastrados.\n 2 - Cadastrar Novo Usuario.\n 3 - Excluir Usuario\n 4 - Sair"); printf("\n Sua escolha: "); scanf("%d", &op); switch(op){ case 1: Listar(); break; case 2: Cadastrar(); break; case 3: void Deletar(); break; case 4: repete == false; break; } }while(repete); } void Listar(){ int i=0; int u=0; system("cls"); for(i=0;i<tam_struct;i++){ u++; printf("\n\tUSUARIO %d:", u); printf("\nNOME: %s %s.", usuario[i].nome, usuario[i].sobrenome); printf("\nCARGO: %s.", usuario[i].cargo); printf("\nCPF: %s", usuario[i].cpf); printf("\nRG: %s", usuario[i].rg); printf("\n===================================="); } getch(); Inicio(); } void Cadastrar(){ int i = 0; int u = 2; char temp[30] = ""; system("cls"); i = tam_struct; u == i; printf("\tUSUARIO %u", u); printf("\n NOME: "); scanf("%s", &temp); strcpy(usuario[i].nome, temp); temp == ""; printf("\n SOBRENOME: "); scanf("%s", &temp); strcpy(usuario[i].sobrenome, temp); temp == ""; printf("\n CARGO: "); scanf("%s", &temp); strcpy(usuario[i].cargo, temp); temp == ""; printf("\n CPF: "); scanf("%s", &temp); strcpy(usuario[i].cpf, temp); temp == ""; printf("\n RG: "); scanf("%s", &temp); strcpy(usuario[i].rg, temp); temp == ""; printf("\n SENHA: "); scanf("%s", &temp); strcpy(usuario[i].senha, temp); char s[10] = " "; char f[10] = "\n"; tam_struct++; int gravar = 0; FILE *arqgravar=fopen("dbusers.db", "wt"); while(gravar<tam_struct){ fprintf(arqgravar, usuario[gravar].nome); fprintf(arqgravar, s); fprintf(arqgravar, usuario[gravar].sobrenome); fprintf(arqgravar, s); fprintf(arqgravar, usuario[gravar].cargo); fprintf(arqgravar, s); fprintf(arqgravar, usuario[gravar].cpf); fprintf(arqgravar, s); fprintf(arqgravar, usuario[gravar].rg); fprintf(arqgravar, s); fprintf(arqgravar, usuario[gravar].senha); fprintf(arqgravar, f); gravar++; } fclose(arqgravar); printf("\n\n Pronto! Pressione qualquer botao."); getch(); Inicio(); } adicionado 22 minutos depois Eu sou novo em programação, mas acho que isso que eu fiz se chama "GAMBIARRA NO CÓDIGO". KKKKK -
C++ programa em c++ que leia arquivo txt e salve valores em struct
Rafael Carvalho Alencar respondeu ao tópico de Rafael Carvalho Alencar em C/C#/C++
Olá, parceiro! Valeu pela dica, sou iniciante no C++. Me diga, como eu faria nesse caso: O programa leu 2 linhas: 1 Rafael Carvalho Admin - > usuario[0] 2 Joao Almeida Admin ->usuario[1] Se eu inserir um usuário na posição usuario[2], qual o código para o programa salvar? Cara se tu tiver interessado te pago 30ntão pra tu por esse código num projeto que eu comecei aqui. -
C++ programa em c++ que leia arquivo txt e salve valores em struct
Rafael Carvalho Alencar respondeu ao tópico de Rafael Carvalho Alencar em C/C#/C++
Oi, boa noite. Não, na verdade isso aí é só um exemplo. do que eu preciso. Botei a struct e as variaves pra onde preciso mandar minhas informações. Agradeço atenção! adicionado 19 minutos depois Mas pra deixar mais claro, é simples, eu preciso que o programa: 1 - (caso já encontre um arquivo) Pegue as informações desse arquivo e insira em seus respectivos lugares. São elas nome, sobrenome, cargo, código. 2 - Essas informações precisam ir até uma Struct Usuarios. 3 - Depois dos passos anteriores ele tem que salvar todos os danos novamente no arquivo junto com algum que o usuário tenha cadastrado. Isso em um arquivo TXT porque eu não manjo de MySQL. -
C++ programa em c++ que leia arquivo txt e salve valores em struct
Rafael Carvalho Alencar postou um tópico em C/C#/C++
Bom dia/tarde/noite. Estou desenvolvendo um programa para praticar c++, só que estou com um problema. O programa vai precisar de uma struct Usuarios: struct Usuarios{ int codigo[5]; char nome[15]; char sobrenome[30]; char cargo[30]; }; int main(){ int i; // valor que o usuario vai digitar para identificar a que usuario está se referindo. Usuarios usuario; O programa tem que salvar cada item dessa estrutura e sua determinada posição no arquivo e depois ser capaz de ler o arquivo e colocar cada item na sua posição nas variaves(usando o codigo da estrutura que ao abrir da ao programa a indicação de que posição ele tem que ficar). ex: salvei um usuario Codigo: 5792 Nome: Rafael Sobrenome:Carvalho Cargo: Admin. Todos eles vão ficar armazenados em usuario[5792].variavel ao serem salvos e na hora de abrir o arquivo. Quem souber me salva, por favor.
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