Created
December 7, 2015 02:32
-
-
Save joffilyfe/429a3e757dfe639ea801 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdio.h> | |
#include <stdlib.h> | |
#include <string.h> | |
const char USERFILE[20] = "usuarios.txt"; | |
const char SENHA[] = "admin1"; | |
typedef struct user { | |
char nome[50]; | |
char cpf[11]; | |
char rg[20]; | |
char endereco[50]; | |
char dataNasc[10]; | |
char telefone [15]; | |
} User; | |
void registerUser(User *user); | |
User* captureUser(); | |
void readUsersFromFile(); | |
int main(void) { | |
int option; | |
/* | |
* Nosso menu :D | |
*/ | |
do { | |
printf("1) Cadastra Usuário\n"); | |
printf("2) Ler os usuários\n"); | |
printf("0) Exit\n"); | |
printf("Digite a opção desejada: "); | |
scanf("%d", &option); | |
getchar(); | |
if (option == 1) { | |
//Guardamos o endereço criado na função captureUser dentro da variável | |
User *user = captureUser(); | |
//Gravando o usuário no TXT | |
registerUser(user); | |
free(user); //Liberando a memoria | |
} | |
if (option == 2) { | |
readUsersFromFile(); | |
} | |
} while(option > 0); | |
return 0; | |
} | |
/* | |
* Nossas funções | |
*/ | |
//User retorna o endereço de uma estrutura do tipo User | |
User* captureUser(void) { | |
User *usuario = (User*)malloc(sizeof(User)); | |
printf("Digite o nome do usuário: "); | |
scanf("%[^\n]s", usuario->nome); | |
printf("\n"); | |
getchar(); | |
printf("Digite o CPF do usuário: "); | |
scanf("%[^\n]s", usuario->cpf); | |
printf("\n"); | |
getchar(); | |
return usuario; | |
} | |
void registerUser(User *user) { | |
FILE *file = fopen(USERFILE, "a+"); | |
fprintf(file, "%s;%s\n", user->nome, user->cpf); | |
fclose(file); | |
} | |
void readUsersFromFile() { | |
FILE *file = fopen(USERFILE, "r"); | |
User *usuario = (User*)malloc(sizeof(User)); | |
while(fscanf(file, "%[^;];%s\n", usuario->nome, usuario->cpf) != -1) { | |
printf("Nome: %s - CPF: %s\n", usuario->nome, usuario->cpf); | |
} | |
fclose(file); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment