Çözüldü C++ program oluşturma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Esque11

Kilopat
Katılım
3 Aralık 2018
Mesajlar
51
Bir iş yerindeki çalışanların adlarını, soy adlarını ve maaşlarını klavyeden alan ve işçilerin bilgilerini nesne dizisine kaydeden programı oluşturunuz. Kullanıcı çalışan girişini bitirmek istediğinde -1 girsin ve ekrana çalışanların adları ve soyadları, maaşları en çok olandan en az olana doğru yazılsın. Böyle bir soru sormuşlar ama yeni başladığım için yapamadım, yardımcı olur musunuz?

#Include<iOStream>
#Include<string>
Using namespace std;

Class personel {
String ad, soyad;
Int maas, i;

Public:
Void PersonelBilgiGir();
Void PersonelBilgiGoster() {
Cout << "personel adı: " << Ad << endl;
Cout << "personel soyadı: " << Soyad << endl;
Cout << "personel maaş: " << Maas << endl;
}
};

Void Personel::personelBilgiGir() {
String A, s;
Int m;
Cout << "personelin adı: ";
Cin >> a;
Cout << "personelin soyadı: ";
Cin >> s;
Cout << "personelin maaşı: ";
Cin >> m;
Cout << "------------------------" << endl;
Ad = a;
Soyad = s;
Maas = m;

}

İnt main() {
Personel prsnlbilgi[100];
Setlocale(lc_all, "turkish");
String input;
Cout << "evet / hayır ";
Cin >> input;
If ( input == "evet") {
For (int i = 0; i < 100; i++) {
Prsnlbilgi.PersonelBilgiGir();
Cout << "evet / hayır ";
Cin >> input;
}
}
Else.
{
prsnlbilgi.OgrenciBilgiAl();
}
}
 
Son düzenleyen: Moderatör:
Çözüm
Hocanız size mi çok kötü anlattı siz mi anlamadınız orasını anlamadım. Sınıf kullanıyorsunuz ama kullanmasanız daha iyi resmen. -1'in neyin değeri olacağı bile belli değil.

Kendiniz öğrendiğiniz kadarı ile sınıfa entegre edersiniz.

Bu arada personel bilgi değil de personel array, personel dizisi gibi isimler koymanız daha mantıklı olurdu. Pek alışılagelmedik değişkenleri kısaltmayın. İleride başınız ağrır.
Kod:
#include <iostream>
#include <string>
#include <locale>

using namespace std;

class Personel {
public:
    void PersonelBilgiGir();
    void PersonelBilgiGoster() {
        cout << "Personel Adı: " << ad << endl;
        cout << "Personel Soyadı: " << soyAd << endl;
        cout << "Personel Maaş: " << maas << endl;
    }

    string ad;
    string soyAd;
    int maas;
};

void Personel::PersonelBilgiGir() {
    string a, s;
    int m;
    cout << "Personelin Adı: ";
    cin >> a;
    cout << "Personelin Soyadı: ";
    cin >> s;
    cout << "Personelin Maaşı : ";
    cin >> m;
    cout << "------------------------" << endl;
    ad = a;
    soyAd = s;
    maas = m;
}


int main() {
    Personel prsnlbilgi[100];
    setlocale(LC_ALL, "Turkish");

    int idx = 0;
    int maasInput = 0;
    string adInput;
    string soyAdInput;


    while (true) {
        cout << "Lütfen maaş giriniz: ";
        cin >> maasInput;

        if (maasInput == -1)
            break;

        cout << "Lütfen ad giriniz: ";
        cin >> adInput;
        cout << "Lütfen soyad giriniz: ";
        cin >> soyAdInput;

        prsnlbilgi[idx].maas = maasInput;
        prsnlbilgi[idx].ad = adInput;
        prsnlbilgi[idx++].soyAd = soyAdInput;
    }

    cout << endl << endl;

    for (int i = 0; i < idx - 1; ++i) {
        for (int j = 0; j < idx - i - 1; ++j) {
            if (prsnlbilgi[j].maas < prsnlbilgi[j + 1].maas) {
                swap(prsnlbilgi[j], prsnlbilgi[j + 1]);
            }
        }
    }

    for (int i = 0; i < idx; ++i) {
        cout << i + 1 << ". Personel adı: " << prsnlbilgi[i].ad << endl;
        cout << i + 1 << ". Personel soyadı: " << prsnlbilgi[i].soyAd << endl;
        cout << i + 1 << ". Personel maaşı: " << prsnlbilgi[i].maas << endl;
    }

    return 0;
}
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı