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!
Código
#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) { }