Duvida C++

C++

Struct

09/06/2021

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);

}
Daniel Fernandes

Daniel Fernandes

Curtidas 0
POSTAR