Dlaczego gdy nazywam funkcję i zmienną tak samo, to mam problemy?

0

cześć, od niedawna zajmuję się programowaniem i pisząc swój program, coś w stylu logowania się do serwisu napotykam taki błąd i nie potrafię go naprawić, coś jest nie tak z 69 i 70 linijką kodu (pogrubiona)
proszę bardzo o pomoc bo nie mogę ruszyć dalej :)

#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string>
using namespace std;

string imie (int haslo)
{
    string linia;
    int toniep;
    int nr_linii=1;
    string name;
    fstream plik;
    plik.open("(haslo).txt", ios::in);

    if(plik.good()==false) cout<<"Nie mozna otworzyc pliku lokalizujacego!";

    while (getline(plik, linia))
    {
        switch (nr_linii)
        {

            case 1: name=linia; break;
            case 2: toniep=atoi(linia.c_str()); break;
        }
        nr_linii++;
    }

    plik.close();
    return (name);
}


int nr_a (int haslo)
{

   string linia;
    int nr_linii=1;
string toniepo;
    fstream plik;
    int liczba_a;
    plik.open("(haslo).txt", ios::in);

    if(plik.good()==false) cout<<"Nie mozna otworzyc pliku lokalizujacego!";

    while (getline(plik, linia))
    {
        switch (nr_linii)
        {

            case 1: toniepo=linia; break;
            case 2: liczba_a=atoi(linia.c_str()); break;
        }
        nr_linii++;
    }

    plik.close();
    return (liczba_a);
}

int main()
{
    int nr_a;
    string haslo;
    string imie;
    cout << "Witamy w programie Empiria SPA!" << endl;
    cout << "Aby kontynuowac wprowadz haslo i zatwierdz enterem:" << endl;
cin>>haslo;

    nr_a(haslo); // tutaj
    imie(haslo);
    if (nr_a=1)
    {
        cout<<"masz dostep do polecen administratora"<<endl;
        cout<<"witaj"<<imie<<endl;

    }
   if (nr_a=0)
    {
        cout<<"witaj"<<imie<<endl;
    }


    return 0;
}
3

Poczytaj o różnicy pomiędzy = i ==
Nie nazywaj też zmiennych i funkcji tak samo. Jak widzę nr_a jest zmienną i funkcją? Pewnie tu jest problem

0

Przydatna byłaby też znajomość angielskiego, aby rozumieć blędy i ostrzeżenia kompilatora.

0

screen z błędami jest w załączniku :)

|70|error: cannot convert 'std::__cxx11::string {aka std::__cxx11::basic_string<char>}' to 'int' for argument '1' to 'int numera(int)'|
1

Lokalna nazwa zmiennej nr_a przykrywa Ci deklarację funkcji.
Ponadto funkcja int nr_a (int haslo) przyjmuje inta, a Ty jej przekazujesz std::string

1 użytkowników online, w tym zalogowanych: 0, gości: 1