opa, eu to tentando fazer um codigo que pelo que eu vi é bem comum de se achar pela interne para uma cadeira de Iniciação a computação, eu ainda to no começo dele, não fiz erros nem verificação de login nem nada de mais ainda, eu to com um problema que é eu crio um arquivo com o fopen que vai ser nomeado pelo usuário, sendo que ele não cai na pasta certa, eu tentei fazer um caminho para ele no próprio fopen e não consegui e tentei mover ele, sendo que todas as opções que eu achei tinha que saber o nome do arquivo previamente para poder mover ele, e eu não consegui fazer isso com a variável que armazena o dado do login.
eu uso o vscode.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int interface_menu();
void menu_1();
void engine();
void menu_2();
FILE *z;
int main()
{
int menu0;
do
{
menu0=interface_menu();
engine(menu0);
}
while(menu0!=4);
return 0;
}
int interface_menu()
{
int N_menu;
printf("informe para onde você que ir \n");
printf(" 1- cadastrar \n 2- alterar as suas informacoces \n 3- verificar a lista de cadastrados \n 4- para finalizar\n");
scanf("%d", &N_menu);
return N_menu;
}
void menu_1()
{
char login[101];
char nome[101];
char nomeData;
char matricula[13];
char DDD[3];
char telefone[10];
char cpf[13];
char idade[3];
printf("agora vamos pegar algumas de suas informacoes\ndigite o seu login: \n");
gets(login);
gets(login);
//por que tem 2 gets ??? https://www.clubedohardware.com.br/forums/topic/634801-resolvido-porque-o-dev-esta-pulando-o-comando-gets/
z=fopen(login, "w");
printf("digite o seu nome\n");
gets(nome);
printf("digite a sua matricula\n");
gets(matricula);
printf("digite o DDD\n");
gets(DDD);
printf("agora digite o seu numero de telefone\n");
gets(telefone);
printf("digite o seu cpf\n");
gets(cpf);
printf("digite a sua idade\n");
gets(idade);
// Colocando no arquivo as informações
fprintf(z,"Nome:%s\n",nome);
putc('\n', z);
fprintf(z,"Matricula:%s",matricula);
putc('\n', z);
fprintf(z,"DDD:%s",DDD);
putc('\n', z);
fprintf(z,"Telefone:%s",telefone);
putc('\n', z);
fprintf(z,"cpf:%s",cpf);
putc('\n', z);
fprintf(z,"idade:%s",idade);
putc('\n', z);
fclose;
return;
}
void menu_2()
{
}
void engine(int N_menu)
{
//int erro1;
if(N_menu==1)
{
menu_1();
}
else if(N_menu==2)
{
menu_2();
}
}