C++ fonksiyon programı

ceku7878

Üye
Katılım
28 May 2020
Mesajlar
47
Puanları
1
Yaş
26
yardım eder misiniz

Bir işyerinde çalışanlara ait bilgiler (CalisanNo, Adı, Soyadı ve Maaşı) için bir program
geliştirilecektir. Programdan istenenler ve programın ana ekranı aşağıda verilmiştir.
a) 7 çalışana ait bilgileri tutabilmek için gerekli veri yapısı (struct) tanımlanacak,
b) Bu çalışanlara rastgele bilgiler girilecek,
c) Kullanıcıdan aldığı CalisanNo bilgisine göre ilgili kişinin bilgilerini ekrana yazdıran bir fonksiyon yazılacak.
d) Bu iş yerindeki en yüksek maaşı hesaplayan bir fonksiyon yazılacak,
e) Bu iş yerindeki en düşük maaşı hesaplayan bir fonksiyon yazılacak,
f) Bu iş yerindeki ortalama maaşı hesaplayan bir fonksiyon yazılacak,
g) Ortalama maaşın altında maaş alan çalışanları listeleyen bir fonksiyon yazılacak,
h) Kullanıcıdan aldığı bir % değeri oranında tüm çalışanların maaşlarını güncelleyecek bir fonksiyon yazılacak,
i) Tüm iş yeri çalışanlarının bilgileri (CalisanNo, Adı, Soyadı) listelenebilecek
 
Siz yazın. yazdığınız kodları paylaşın. Hatalarınızı düzeltelim.
 
Siz yazın. yazdığınız kodları paylaşın. Hatalarınızı düzeltelim.
Kod:
#include <iostream>

#include <string>

#include <cmath>

using namespace std;



struct calisan {

string ad ;

string soyad ;

int calisanno ;

int maasi ;



} ;

void ekranayaz (calisan x)

{



cout<<"calisan no giriniz="<<endl;





cout<<x.ad<<" "<<x.soyad<<" "<<x.maasi<<" "<<endl;

}



int main ()

{

calisan a[7];

a [0].calisanno =1000;

a [0].ad ="Aycan";

a [0].soyad ="Kaya";

a [0].maasi=7000;



a [1].calisanno =1001;

a [1].ad ="ozge";

a [1].soyad ="Sayar";

a [1].maasi=6000;



a [2]. calisanno =1002;

a [2].ad ="Serkan";

a [2].soyad ="Daka";

a [2].maasi=6500;



a [3].calisanno =1003;

a [3].ad ="Enes";

a [3].soyad ="Censin";

a [3].maasi=6000;



a [4].calisanno =1004;

a [4].ad ="Eda";

a [4].soyad ="Ciko";

a [4].maasi=10000;



a [5].calisanno =1005;

a [5].ad ="Tuna";

a [5].soyad ="Ayar";

a [5].maasi=5500;



a [6].calisanno =1006;

a [6].ad ="Nisa";

a [6].soyad ="Sinay";

a [6].maasi=2000;





for ( int i=0; i<7; i++)



{

ekranayaz(a);

}









return 0;

}
şu şekilde bir şey yazdım ama istediğimi çağıramıyorum.Ekrana tüm bilgileri yazıyor.
 
Moderatör tarafında düzenlendi:
Kod:
#include <iostream>

#include <string>

#include <cmath>

#include <conio.h>

using namespace std;



struct calisan {

string ad ;

string soyad ;

int calisanno ;

int maasi ;





} ;

int i=0;

int arananno;

int main ()

{

calisan a[7];

a [0].calisanno =1000;

a [0].ad ="Aycan";

a [0].soyad ="Kaya";

a [0].maasi=7000;



a [1].calisanno =1001;

a [1].ad ="ozge";

a [1].soyad ="Sayar";

a [1].maasi=6000;



a [2]. calisanno =1002;

a [2].ad ="Serkan";

a [2].soyad ="Daka";

a [2].maasi=6500;



a [3].calisanno =1003;

a [3].ad ="Enes";

a [3].soyad ="Censin";

a [3].maasi=6000;



a [4].calisanno =1004;

a [4].ad ="Eda";

a [4].soyad ="Ciko";

a [4].maasi=10000;



a [5].calisanno =1005;

a [5].ad ="Tuna";

a [5].soyad ="Ayar";

a [5].maasi=5500;



a [6].calisanno =1006;

a [6].ad ="Nisa";

a [6].soyad ="Sinay";

a [6].maasi=2000;



cout<< "Calisan no giriniz:";

cin>>arananno;

 

for (i=0; i<7; i++)

{

if (a.calisanno==arananno)

{

cout<< a.ad;

}



}



system("pause");



return 0;

}
Fonksiyon haline siz getirin.
 
Moderatör tarafında düzenlendi:
 
Moderatör tarafında düzenlendi:
Kod:
for (i=0; i<7; i++)
{
if (a[i].calisanno==arananno)
{
cout<<"adi="<<a[i].ad<<endl;
cout<<"soyadi="<<a[i].soyad<<endl;
cout<<"maasi="<<a[i].maasi<<endl;
}

}

int maaslar[]={7000,6000,6500,6000,10000,5000,2000};
int enyuksek=maaslar[0];
int endusuk=maaslar[0];
int ortalama;
int h=0;
int n=7;

 for(h=0 ; h<n ; h++)
{
    
        if(maaslar[h]>enyuksek)
        {
                enyuksek=maaslar[h];

        }
        
          if(maaslar[h]<endusuk)
          {
          
           endusuk=maaslar[h];
        }

    }

    

    cout<<"En Yüksek Maaş: "<<enyuksek<<endl;

    cout<<"En düşük maaş: "<<endusuk<<endl;

 
return 0;
}
return alanında hata aldığınızda , öncelikle {} parantezleri kontrol edin. Fazladan parantez vardır.
 
şu şekilde ortalama maaşı hesaplattım.Ortalama maaşın altında kalan kişiler için fotoğraftaki şekilde kod yazdığımda çalıştırıyor ancak kişiyi listelemiyor.
 

Ekli dosyalar

  • 111111.PNG
    16.8 KB · Görüntüleme: 16
Kod:
ortalama=(7000+6000+6500+6000+10000+5000+2000)/7;
for(h=0 ; h<n ; h++)
{
             if(maaslar[h]>enyuksek)
        {
                enyuksek=maaslar[h];

        }
                  if(maaslar[h]<endusuk)
          {
        
           endusuk=maaslar[h];
        }
      
         if(a[h].maasi<ortalama)
         {

cout<<"Prtalamanın altında maaş: "<<a[h].ad<<endl;}

    }

cout<<"Ortalama Maaş: "<<ortalama<<endl;
    cout<<"En Yüksek Maaş: "<<enyuksek<<endl;
    cout<<"En düşük maaş: "<<endusuk<<endl;
system ("pause");
return 0;
}

for ile döngü kurmalısınız.


Kod:
ortalama=(7000+6000+6500+6000+10000+5000+2000)/7;
 for(h=0 ; h<n ; h++)
{
             if(maaslar[h]>enyuksek)
        {
                enyuksek=maaslar[h];

        }
                  if(maaslar[h]<endusuk)
          {
          
           endusuk=maaslar[h];
        }
        
    cout<<"Ortalama Maaş: "<<ortalama<<endl;
    cout<<"En Yüksek Maaş: "<<enyuksek<<endl;
    cout<<"En düşük maaş: "<<endusuk<<endl;
  
 
   for(h=0 ; h<n ; h++)
{
                if(a[h].maasi<ortalama)
         {
 
cout<<"Prtalamanın altında maaş: "<<a[h].ad<<endl;}

    }
           } 
system ("pause");
return 0;
}
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…