dimanche 29 mars 2020

C++, no matching function for call to error

Junior CS student here, struggling quite a bit.

This is the error I get:

main.cpp:45:18: error: no matching function for call to ‘yerlesimBirimi::isimAta()’
      obj1.isimAta();
                   ^

Below is my code. Could you help me see what I'm doing wrong?

#include <stdio.h>
#include <iostream>
using namespace std;

class yerlesimBirimi {
public:
    string isim;
    int nufus;
    int dogumSayisi, olumSayisi;

    void isimAta (string _isim){
        cin >> _isim;
        isim = _isim;
    }

    void nufusAta (int _nufus){
        cin >> _nufus;
        nufus = _nufus;
    }

    void dogumAta (int _dogumSayisi){
        cin >> _dogumSayisi;
        dogumSayisi = _dogumSayisi;
    }

    void olumAta (int _olumSayisi){
        cin >> _olumSayisi;
        olumSayisi = _olumSayisi;
    }

    double dogumOrani();
    double olumOrani ();
};

double yerlesimBirimi::dogumOrani(){
    return dogumSayisi/nufus;
}

double yerlesimBirimi::olumOrani(){
    return olumSayisi/nufus;
}

int main (){
    yerlesimBirimi obj1;
    cout << "Yerlesim biriminin ismini giriniz:";
    obj1.isimAta();
    cout << "Nufusunu giriniz:";
    obj1.nufusAta();
    cout << "Dogum sayisini giriniz:";
    obj1.dogumAta();
    cout << "Olum sayisini giriniz:";
    obj1.olumAta();
    cout << obj1.isim << "--- Dogum Orani:" << obj1.dogumOrani << endl;
    cout << obj1.isim << "--- Olum Orani" << obj1.olumOrani << endl;
    yerlesimBirimi obj2;
    cout << "Yerlesim biriminin ismini giriniz:";
    cin >> obj2.isim;
    cout << "Nufusunu giriniz:";
    cin >> obj2.nufus;
    cout << "Dogum sayisini giriniz:";
    cin >> obj2.dogumSayisi;
    cout << "Olum sayisini giriniz:";
    cin >> obj2.olumSayisi;
    cout << "------------- Dogum Orani:" << obj2.dogumOrani<<endl;
    cout << "------------- Olum Orani:" << obj2.olumOrani<<endl;
}

Aucun commentaire:

Enregistrer un commentaire