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:
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.

[/QUOTE]

#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<<"adi="<<a.ad<<endl;

cout<<"soyadi="<<a.soyad<<endl;

cout<<"maasi="<<a.maasi<<endl;

}



}



int maaslar[]={7000,6000,6500,6000.10000,5000,2000};

int enyuksek=maaslar[0];

int endusuk=maaslar[0];

int ortalama;

int h=0;



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

    {

        if(maaslar[h]>enyuksek);

        {

            enyuksek=maaslar[h];

        }

        if(maaslar[h]<endusuk)

        {

            endusuk=maaslar[h];

        }

    }

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

    cout<<"En yüksek maas :  "<<enyuksek<<endl;

}









}

  return 0;

   }
en düşük ve en yüksek maaş için doğru yolda mıyım? bu kodu çalıştırmıyor sadece return da sıkıntı çıkarıyor nedeni ne olabilir?
 
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.
 
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
    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;
}
 

Forum istatistikleri

Konular
129,867
Mesajlar
930,872
Kullanıcılar
452,732
Son üye
erencok

Yeni konular

Geri
Üst