Duvida C++
Boa noite, estou fazendo um código para cadastrar fichas, porém estou com um bug e não sei como resolver... na função "void Registro(int registros)" ao inves de ler nome, idade e sexo, o programa esta pulando a leitura do nome, lendo idade, e pulando a leitura de sexo... Será que poderiam me ajudar? segue o código completo.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include<string.h>
#include<string>
#include<iostream>
using namespace std;
void Login();
void Menu(int registros);
void Registro(int registros);
struct Credenciais{
char usuario[20];
char senha[20];
}Credencial;
struct Fichas{
char nome[40];
int idade;
char sexo[10];
struct Enderecos{
char rua[50];
char bairro[30];
char cidade[20];
char uf[2];
}endereco;
}Ficha[200];
int main(){
setlocale(LC_ALL, "Portuguese");
Login();
return 0;
}
void Login(){
puts("\t===============================");
puts("\t\t LOGIN");
puts("\t===============================");
cout<<"login: ";
gets(Credencial.usuario);
cout<<"senha: ";
gets(Credencial.senha);
string sUsuario(Credencial.usuario);
string sSenha(Credencial.senha);
if(sUsuario == "daniel" && sSenha == "multivix"){
Menu(0);
}
else{
system("cls");
cout<<"\n\n\n\t\tNome de usuáio ou senha incorreto\n\n\n";
getchar();
system("cls");
Login();
}
}
void Menu(int registros){
int opcao = 0;
system("cls");
puts("___________________________________");
puts("||\t MENU\t\t ||");
puts("||===============================||");
puts("||\t\t\t\t ||");
puts("|| 1- REGISTRAR\t\t\t ||");
puts("|| 2- LISTAR\t\t\t ||");
puts("|| 3- SAIR\t\t\t ||");
puts("||_______________________________||");
cout<<"\nDigite o número da opção desejada: ";
scanf("%d", &opcao);
switch(opcao){
case 1:
system("cls");
Registro(registros);
break;
case 2:
break;
case 3:
system("cls");
cout<<"\n\n\n\t\tFIM DO PROGRAMA\n\n\n";
break;
default:
system("cls");
cout<<"\n\n\n\t\tOpção invalida\n\n\n";
system("pause");
Menu(registros);
}
}
void Registro(int registros){
puts("\t===============================");
puts("\t\t FICHA");
puts("\t===============================");
cout<<"\nNome completo: ";
gets(Ficha[registros].nome);
cout<<"\nIdade: ";
scanf("%d", &Ficha[registros].idade);
cout<<"\nSexo: ";
gets(Ficha[registros].sexo);
cout<<"\nRua/Avenida: ";
gets(Ficha[registros].endereco.rua);
cout<<"\nBairro: ";
gets(Ficha[registros].endereco.bairro);
cout<<"\nCidade: ";
gets(Ficha[registros].endereco.cidade);
cout<<"\nUF: ";
gets(Ficha[registros].endereco.uf);
}
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include<string.h>
#include<string>
#include<iostream>
using namespace std;
void Login();
void Menu(int registros);
void Registro(int registros);
struct Credenciais{
char usuario[20];
char senha[20];
}Credencial;
struct Fichas{
char nome[40];
int idade;
char sexo[10];
struct Enderecos{
char rua[50];
char bairro[30];
char cidade[20];
char uf[2];
}endereco;
}Ficha[200];
int main(){
setlocale(LC_ALL, "Portuguese");
Login();
return 0;
}
void Login(){
puts("\t===============================");
puts("\t\t LOGIN");
puts("\t===============================");
cout<<"login: ";
gets(Credencial.usuario);
cout<<"senha: ";
gets(Credencial.senha);
string sUsuario(Credencial.usuario);
string sSenha(Credencial.senha);
if(sUsuario == "daniel" && sSenha == "multivix"){
Menu(0);
}
else{
system("cls");
cout<<"\n\n\n\t\tNome de usuáio ou senha incorreto\n\n\n";
getchar();
system("cls");
Login();
}
}
void Menu(int registros){
int opcao = 0;
system("cls");
puts("___________________________________");
puts("||\t MENU\t\t ||");
puts("||===============================||");
puts("||\t\t\t\t ||");
puts("|| 1- REGISTRAR\t\t\t ||");
puts("|| 2- LISTAR\t\t\t ||");
puts("|| 3- SAIR\t\t\t ||");
puts("||_______________________________||");
cout<<"\nDigite o número da opção desejada: ";
scanf("%d", &opcao);
switch(opcao){
case 1:
system("cls");
Registro(registros);
break;
case 2:
break;
case 3:
system("cls");
cout<<"\n\n\n\t\tFIM DO PROGRAMA\n\n\n";
break;
default:
system("cls");
cout<<"\n\n\n\t\tOpção invalida\n\n\n";
system("pause");
Menu(registros);
}
}
void Registro(int registros){
puts("\t===============================");
puts("\t\t FICHA");
puts("\t===============================");
cout<<"\nNome completo: ";
gets(Ficha[registros].nome);
cout<<"\nIdade: ";
scanf("%d", &Ficha[registros].idade);
cout<<"\nSexo: ";
gets(Ficha[registros].sexo);
cout<<"\nRua/Avenida: ";
gets(Ficha[registros].endereco.rua);
cout<<"\nBairro: ";
gets(Ficha[registros].endereco.bairro);
cout<<"\nCidade: ";
gets(Ficha[registros].endereco.cidade);
cout<<"\nUF: ";
gets(Ficha[registros].endereco.uf);
}
Daniel Fernandes
Curtidas 0