Gente eu fiz um sistema de login e tal tudo funfando, só que o problema é que quando o usuário escolhe uma opcão ela funciona normal so q quando ele vai escolher outra o programa não executa ela por favor alguém me ajude.
o problema tá na função Conectado();
código:
#include <stdio.h>//Biblioteca
#include <windows.h>//Biblioteca Play Sound
#include <stdlib.h>//Biblioteca
#include <string.h>//Biblioteca
#include "conio2.h"//Biblioteca das cores
//#define d 100
/* Variáveis globais */
char usuario[15];//Valor para usuario
char senha[15];//Valor para senha
char cor[10];
int home;
int vezes;//Vezes que logou
int opcao;//Opcão de login
/*------------------*/
/* bloco de notas
int blocodenotas(){
FILE *fp;
char string[100];
int i;
fp = fopen("arquivo.txt","w"); /* Arquivo ASCII, para escrita
if(!fp)
{
printf( "Erro na abertura do arquivo");
exit(0);
}
printf("Entre com a string a ser gravada no arquivo:");
gets(string);
for(i=0; string[i]; i++) putc(string[i], fp); /* Grava a string, caractere a caractere
fclose(fp);
return 0;
system("pause > nul");
}
/*
/* Função de erro*/
int erro(){
textcolor(12);
puts("\a");
printf("Usu%crio ou senha incorretos, redigite-os corretamente.\n\n\n\n",160);
sleep(1500);
system("cls");
textcolor(15);
login();
}
/* Função de conexão */
int conectado(){
puts("\a");
textcolor(15);
printf("Conectado, bem vindo ");
printf("'");
textcolor(12);
printf("%s",usuario);
textcolor(15);
printf("'.");
textcolor(8);
sleep(1500);
menuuser();
/* opções da função menuuser */
if(opcao==1)//Opção '1' Status
{
printf("\n========== Status da conta ==========\n");
printf("Nome: Victor Costa Martins\n");
printf("Apelido: '%s'\n", usuario);
printf("Idade: 14 anos\n");
printf("Data de nascimento: 15/01/1998\n");
printf("Sexo: masculino\n");
printf("Vezes que acessou a conta: '%d'\n", vezes);
printf("========== Status da conta ==========\n\n\n");
sleep(2090);
opcao = 0;//Seta a variável para zero, para próximas escolhas.
return menuuser();
}
else if(opcao==2)//Opção '2' Senhas de jogos
{
printf("\n========== Senhas de jogos ==========\n");
printf("Manutencao");
printf("\n========== Senhas de jogos ==========\n\n\n");
sleep(2090);
opcao = 0;//Seta a variável para zero, para próximas escolhas.
return menuuser();
}
else if(opcao==3)//Opção '3' cor do console
{
printf("\n\n==== Cores: ====\n");
printf("\n'a' - Branco");
printf("\n'b' - Roxo");
printf("\n'c' - Verde");
printf("Cor: ");
scanf("%s", &cor);
if(!strcmp(cor, "a"))
system("color F");
if(!strcmp(cor, "b"))
system("color 5");
if(!strcmp(cor, "c"))
system("color 2");
sleep(1000);
opcao = 0;//Seta a variável para zero, para próximas escolhas.
return menuuser();
}
else if(opcao==4)//Opção '4' Tabela ASCII
{
int i;
printf("\n\n================ Tabela ASCII ================");
printf("\n\n\n\nC%cdigo\t-\tLetra\n\n", 162);
for(i=0; i<256; i++)
{
printf("%d\t-\t%c\n", i, i);
}
printf("================ Tabela ASCII ================");
sleep(15000);
return opcao = 0;//Seta a variável para zero, para próximas escolhas.
menuuser();
}
else if(opcao==5)
{
FILE *pt;
int opcao;
int i;char string[20];
pt=fopen("bancodedados.txt","r");//abre o arquivo
fscanf(pt,"%[^\n]s",string);//lê toda a frase da tela argumento '%[^\n]s'
printf("%s",string);//escreve na tela
fclose(pt);
sleep(7000);
opcao = 0;//Seta a variável para zero, para próximas escolhas.
menuuser();
}
else if(opcao==6)//Opção '5' Logoff
{
printf("Aguarde fazendo logoff...\n");
sleep(2500);
printf("Voc%c saiu de sua conta com sucesso!!!\n",136);
sleep(1050);
system("cls");
menu();
}
}
int login(){
system("cls");
sleep(500);
/* Entrada de dados */
printf("=========== Login: =============\n");
printf("| Usu%crio: ",160);
textcolor(12);
scanf("%s", &usuario);
textcolor(15);
printf("| Senha: ");
textcolor(12);
scanf("%s", &senha);
textcolor(15);
printf("================================\n\n\n");
printf("Logando... aguarde...\n\n");
sleep(4000);
/* */
/*-Checa o login-*/
if(!strcmp(usuario,"victormartins") && !strcmp(senha, "victor123"))
conectado(vezes++);
else
erro();
/*--------------*/
}
int creditos(){
textcolor(6);
printf("=================================================================\n");
printf("\n=================================================================\n");
textcolor(15);
printf("\nSistema de login by Victor Martins\n");
printf("E-mail: victormartins@hotmail.com\n");
printf("(c)opiryght 2012\n");
sleep(3000);
system("cls");
sleep(2);
menu();
}
/* menu do usuario */
int menuuser(){
printf("\n\n\n-- Menu do usu%crio --\n\n",160);
printf("'1' - Status da conta\n");
printf("'2' - Senhas de jogos\n");
printf("'3' - Cor das letras\n");
printf("'4' - Tabela ASCII\n");
printf("'5' - Banco de dados\n");
printf("'6' - Sair\n\n");
sleep(500);
printf("Digite uma op%c%co: ",135,198);
scanf("%d", &opcao);
}
int load(){
//PlaySound("C:\\SOUNDS\\BELLS.WAV", NULL, SND_ASYNC);
printf("Aguarde processando comandos internos.");
sleep(1000);system("cls");
printf("Aguarde processando comandos internos..");
sleep(1500);system("cls");
printf("Aguarde processando comandos internos...");
sleep(2000);system("cls");
printf("Comandos carregados com sucesso.");
sleep(1000);
system("cls");
sleep(1);
system("cls");
sleep(1);
menu();
}
int menu(){
textcolor(11);
printf("%c Meu sistema de login (v0.1) by Victor Martins %c\n\n\n",197,197);
textcolor(15);
printf("Op%c%ces:\n\n",135,229);
textcolor(12);
printf("'1' - Cr%cditos\n",130);
printf("'2' - Login\n\n");
textcolor(0);
scanf("%d", &home);
textcolor(15);
if(home==1)
creditos();
else if(home==2)
login();
}
/* função principal */
int main()
{
system("color F");
system("title Minha conta (v0.1) By Victor Martins");
load();
system("Pause > Nul");
}
Pergunta
#VictorMartins
Gente eu fiz um sistema de login e tal tudo funfando, só que o problema é que quando o usuário escolhe uma opcão ela funciona normal so q quando ele vai escolher outra o programa não executa ela por favor alguém me ajude.
o problema tá na função Conectado();
código:
#include <stdio.h>//Biblioteca #include <windows.h>//Biblioteca Play Sound #include <stdlib.h>//Biblioteca #include <string.h>//Biblioteca #include "conio2.h"//Biblioteca das cores //#define d 100 /* Variáveis globais */ char usuario[15];//Valor para usuario char senha[15];//Valor para senha char cor[10]; int home; int vezes;//Vezes que logou int opcao;//Opcão de login /*------------------*/ /* bloco de notas int blocodenotas(){ FILE *fp; char string[100]; int i; fp = fopen("arquivo.txt","w"); /* Arquivo ASCII, para escrita if(!fp) { printf( "Erro na abertura do arquivo"); exit(0); } printf("Entre com a string a ser gravada no arquivo:"); gets(string); for(i=0; string[i]; i++) putc(string[i], fp); /* Grava a string, caractere a caractere fclose(fp); return 0; system("pause > nul"); } /* /* Função de erro*/ int erro(){ textcolor(12); puts("\a"); printf("Usu%crio ou senha incorretos, redigite-os corretamente.\n\n\n\n",160); sleep(1500); system("cls"); textcolor(15); login(); } /* Função de conexão */ int conectado(){ puts("\a"); textcolor(15); printf("Conectado, bem vindo "); printf("'"); textcolor(12); printf("%s",usuario); textcolor(15); printf("'."); textcolor(8); sleep(1500); menuuser(); /* opções da função menuuser */ if(opcao==1)//Opção '1' Status { printf("\n========== Status da conta ==========\n"); printf("Nome: Victor Costa Martins\n"); printf("Apelido: '%s'\n", usuario); printf("Idade: 14 anos\n"); printf("Data de nascimento: 15/01/1998\n"); printf("Sexo: masculino\n"); printf("Vezes que acessou a conta: '%d'\n", vezes); printf("========== Status da conta ==========\n\n\n"); sleep(2090); opcao = 0;//Seta a variável para zero, para próximas escolhas. return menuuser(); } else if(opcao==2)//Opção '2' Senhas de jogos { printf("\n========== Senhas de jogos ==========\n"); printf("Manutencao"); printf("\n========== Senhas de jogos ==========\n\n\n"); sleep(2090); opcao = 0;//Seta a variável para zero, para próximas escolhas. return menuuser(); } else if(opcao==3)//Opção '3' cor do console { printf("\n\n==== Cores: ====\n"); printf("\n'a' - Branco"); printf("\n'b' - Roxo"); printf("\n'c' - Verde"); printf("Cor: "); scanf("%s", &cor); if(!strcmp(cor, "a")) system("color F"); if(!strcmp(cor, "b")) system("color 5"); if(!strcmp(cor, "c")) system("color 2"); sleep(1000); opcao = 0;//Seta a variável para zero, para próximas escolhas. return menuuser(); } else if(opcao==4)//Opção '4' Tabela ASCII { int i; printf("\n\n================ Tabela ASCII ================"); printf("\n\n\n\nC%cdigo\t-\tLetra\n\n", 162); for(i=0; i<256; i++) { printf("%d\t-\t%c\n", i, i); } printf("================ Tabela ASCII ================"); sleep(15000); return opcao = 0;//Seta a variável para zero, para próximas escolhas. menuuser(); } else if(opcao==5) { FILE *pt; int opcao; int i;char string[20]; pt=fopen("bancodedados.txt","r");//abre o arquivo fscanf(pt,"%[^\n]s",string);//lê toda a frase da tela argumento '%[^\n]s' printf("%s",string);//escreve na tela fclose(pt); sleep(7000); opcao = 0;//Seta a variável para zero, para próximas escolhas. menuuser(); } else if(opcao==6)//Opção '5' Logoff { printf("Aguarde fazendo logoff...\n"); sleep(2500); printf("Voc%c saiu de sua conta com sucesso!!!\n",136); sleep(1050); system("cls"); menu(); } } int login(){ system("cls"); sleep(500); /* Entrada de dados */ printf("=========== Login: =============\n"); printf("| Usu%crio: ",160); textcolor(12); scanf("%s", &usuario); textcolor(15); printf("| Senha: "); textcolor(12); scanf("%s", &senha); textcolor(15); printf("================================\n\n\n"); printf("Logando... aguarde...\n\n"); sleep(4000); /* */ /*-Checa o login-*/ if(!strcmp(usuario,"victormartins") && !strcmp(senha, "victor123")) conectado(vezes++); else erro(); /*--------------*/ } int creditos(){ textcolor(6); printf("=================================================================\n"); printf("\n=================================================================\n"); textcolor(15); printf("\nSistema de login by Victor Martins\n"); printf("E-mail: victormartins@hotmail.com\n"); printf("(c)opiryght 2012\n"); sleep(3000); system("cls"); sleep(2); menu(); } /* menu do usuario */ int menuuser(){ printf("\n\n\n-- Menu do usu%crio --\n\n",160); printf("'1' - Status da conta\n"); printf("'2' - Senhas de jogos\n"); printf("'3' - Cor das letras\n"); printf("'4' - Tabela ASCII\n"); printf("'5' - Banco de dados\n"); printf("'6' - Sair\n\n"); sleep(500); printf("Digite uma op%c%co: ",135,198); scanf("%d", &opcao); } int load(){ //PlaySound("C:\\SOUNDS\\BELLS.WAV", NULL, SND_ASYNC); printf("Aguarde processando comandos internos."); sleep(1000);system("cls"); printf("Aguarde processando comandos internos.."); sleep(1500);system("cls"); printf("Aguarde processando comandos internos..."); sleep(2000);system("cls"); printf("Comandos carregados com sucesso."); sleep(1000); system("cls"); sleep(1); system("cls"); sleep(1); menu(); } int menu(){ textcolor(11); printf("%c Meu sistema de login (v0.1) by Victor Martins %c\n\n\n",197,197); textcolor(15); printf("Op%c%ces:\n\n",135,229); textcolor(12); printf("'1' - Cr%cditos\n",130); printf("'2' - Login\n\n"); textcolor(0); scanf("%d", &home); textcolor(15); if(home==1) creditos(); else if(home==2) login(); } /* função principal */ int main() { system("color F"); system("title Minha conta (v0.1) By Victor Martins"); load(); system("Pause > Nul"); }Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.