Hola!
Hoy trate de hace un programa que pide una contraseña al ejecutarlo y trate de hacer una función la cual se encarga de registrar la contraseña que ingresa el resultado (como una variable de string) y devolverla (mediante return) a main para que este a su vez se lo pase a otra función y etc... pero cuando trato de compilar lo que llevo programado hasta ahora me da el siguiente error en la línea 40:
error: cannot convert 'std::string {aka std::basic_string<char>}' to 'int' in return
Supongo que se deberá a un fallo a la hora de devolver el valor, pero no se que hacer...
PDA: Me gustaría también que el programa informase de un error y se cerrase si se superan los 5 intentos y no se si lo hice bien, podrían decirme ya de paso?
Gracias!
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
using namespace std;
int PassMenu (string answer, int atmps);
int Password (string answer, string pass);
int main ()
{
string answer;//ES LA RESPUESTA QUE DA EL USUARIO
string pass;//ES LA CONTRASEÑA
bool access;//DICE SI LA CONTRASEÑA ES TRUE/FALSE
int atmps=6;//VECES QUE SE HA INTRODUCIDO LA CONTRASEÑA
while(access==false||atmps!=0)//HACE EL MENU DE INTRODUCIR PASS Y CONMPRUEBA SI ESTÁ BIEN
{
answer=PassMenu(answer,atmps);
access=Password(answer, pass);
atmps--;
}
if(atmps==0)//SI SE INTRODUCE MAL LA CONTRASEÑA 5 VECES MAL, EL PROGRAMA IMPIDE SEGUIR INTENTANDOLO Y SE CIERRA
{
cout<<"ACCESS DENIED"<<endl;
system("PAUSE");
exit (EXIT_FAILURE);
}
system("PAUSE");
return 0;
}
int PassMenu (string answer, int atmps)//ES EL DISEÑO DE CUANDO TE PIDE LA CONTRASEÑA
{
cout<<endl<<endl<<"Attempts: "<<(atmps-1)<<endl<<"PASS: ";
cin>>answer;
return answer;
}
int Password (string answer, string pass)
{
}
Citarerror: cannot convert 'std::string {aka std::basic_string<char>}' to 'int' in return
no puede convertir un string en un int
int PassMenu (string answer, int atmps)//ES EL DISEÑO DE CUANDO TE PIDE LA CONTRASEÑA
{
cout<<endl<<endl<<"Attempts: "<<(atmps-1)<<endl<<"PASS: ";
cin>>answer;
return answer;
}
solo te pregunto... que tipo es la funcion? que estás retornando? como está declarado lo que retornas?
BUÁ QUE FALLO
Creo que estoy demasiado dormido para ponerme a programar XD
Solo por si las dudas, la función sería de tipo strig o de tipo char*?
(Gracias por la ayuda, soy nuevo con el tema de las funciones)
la que quieras... si quieres retornar string, de tipo string, si quieres retornar char* de tipo char*