/* Bir hastanedeki 30 doktorun dört ay boyunca baktığı hasta sayısı dr isimli bir topluluğun üyeleri olarak tanımlanıp, main( ) fonksiyonunda değerleri veriliyor. Dr topluluğunun her bir değerini "hesapla" isimli bir fonksiyona gönderip, fonksiyonda her doktorun aylık ortlama değerini hesaplayıp ekrana yazdıran ve değerini geriye gönderip ana fonksiyonda yazdıran bir programı "yapıların fonksiyonlara değer ile aktarımını" kullanarak yazınız*/ #include<stdio.h> #include<conio.h> #define doktorsayisi 3 typedef struct dr{ int ay1, ay2, ay3, ay4; doktor; float hesapla(doktor dktr){ float ort; ort = float((dktr.ay1+dktr.ay2+dktr.ay3+dktr.ay4)); printf("ortalama = %f \n", ort); return ort; doktor d; for (i=0; i<doktorsayisi ;i++){ printf("%d. DOKTORUN DORT AYDA BAKTIGI HASTA SAYILARINI GIRINIZ :\n", i+1); scanf("%d %d %d %d",&d.ay1,&d.ay2,&d.ay3,&d.ay4);
float ortalama = hesapla(d); printf("%d. DOKTORUN ORTALAMA HASTA SAYISI: %f \n",i+1, ortalama); ------------------------------------------------------------------------------------------------------------------ -------------------- /* Bir hastanedeki 30 doktorun dört ay boyunca baktığı hasta sayısı dr isimli bir topluluğun üyeleri olarak tanımlanıp, main( ) fonksiyonunda değerleri veriliyor. Dr topluluğunun her bir değerini "hesapla" isimli bir fonksiyona gönderip, fonksiyonda her doktorun aylık ortlama değerini hesaplayıp ekrana yazdıran ve değerini geriye gönderip ana fonksiyonda yazdıran bir programı "yapıların fonksiyonlara değer ile aktarımını" kullanarak yazınız*/ #include<stdio.h> #include<conio.h> #define doktorsayisi 3 typedef struct dr{ int ay1, ay2, ay3, ay4; float ort; doktor; float hesapla(doktor dktr){ float ort; ort= float((dktr.ay1+dktr.ay2+dktr.ay3+dktr.ay4)/4); printf("ortalama = %f \n", ort); return ort;
doktor d; for (i=0; i<doktorsayisi ;i++){ printf("%d. DOKTORUN DORT AYDA BAKTIGI HASTA SAYILARINI GIRINIZ :\n", i+1); scanf("%d %d %d %d",&d.ay1,&d.ay2,&d.ay3,&d.ay4); d.ort=hesapla(d); printf("%d. DOKTORUN ORTALAMA HASTA SAYISI: %f \n",i+1, d.ort); ------------------------------------------------------------------------------------------------------------------ -------------------- /* Bir hastanedeki 30 doktorun dört ay boyunca baktığı hasta sayısı dr isimli bir topluluğun üyeleri olarak tanımlanıp, main( ) fonksiyonunda değerleri veriliyor. Dr topluluğunun her bir değerini hesapla" isimli bir fonksiyona gönderip, fonksiyonda her doktorun aylık ortlama değerini hesaplayıp ekrana yazdıran ve değerini geriye gönderip ana fonksiyonda yazdıran bir programı "yapıların fonksiyonlara referans ile aktarımını" kullanarak yazınız*/ #include<stdio.h> #include<conio.h> #define doktorsayisi 3 typedef struct dr{ int ay1, ay2, ay3, ay4; float ortalama; doktor; void hesapla(doktor *dktr){ float ort;
ort= float((dktr->ay1+dktr->ay2+dktr->ay3+dktr->ay4)/4); printf("ortalama = %f \n", ort); dktr->ortalama = ort; doktor d; for (i=0; i<doktorsayisi ;i++){ scanf("%d %d %d %d",&d.ay1,&d.ay2,&d.ay3,&d.ay4); hesapla(&d); printf("ortalama deger=%f",d.ortalama); ------------------------------------------------------------------------------------------------------------------ -------------------- /* ) 50 tane doktorun (ay1,ay2,ay3) bilgilerinin her bir elemanı dizi isimli bir topluluk dizisinin üyeleri olarak tanımlanıyor ve main() fonksiyonu içerisinde teker teker değerleri aktarılıyor. a) Her bir değer grubuna ait verileri enkucuk() isimli bir fonksiyona gönderen, b) Fonksiyonda verilerin en küçüğünü bulduran, c) bulunan enküçük değeri fonksiyona gelen değerlere ekleyen ve main() fonksiyonuna gönderen d)sonuçları main() de yazdıran bir programı "yapıların fonksiyonlara referans (pointer) ile aktarımını" kullanarak yapınız */
#include<stdio.h> #include<conio.h> #define doktorsayisi 3 typedef struct dktr{ doktor; int ay1,ay2,ay3; void enkucuk (doktor *d){ int enk; if ((d->ay1 <= d->ay2) && (d->ay1 <= d->ay3)) enk=d->ay1; if ((d->ay2 <= d->ay1) && (d->ay2 <= d->ay3)) enk=d->ay2; if ((d->ay3 <= d->ay2) && (d->ay3 <= d->ay1)) enk=d->ay3; printf("en AZ HASTA SAYISI = %d \n", enk); d->ay1 = d->ay1+enk; d->ay2 = d->ay2+enk; d->ay3 = d->ay3+enk; doktor dizi[doktorsayisi]; for (i=0;i<doktorsayisi;i++){ \n"); printf("doktorun birinci, ikinci ve ucuncu ay baktigi hasta sayilarini giriniz :
scanf("%d %d %d", &dizi[i].ay1,&dizi[i].ay2,&dizi[i].ay3); enkucuk(&dizi[i]); printf("dizi[%d].ay1 = %d \ndizi[%d].ay2 = %d \ndizi[%d].ay3 = %d\n",i,dizi[i].ay1,i,dizi[i].ay2,i,dizi[i].ay3); ------------------------------------------------------------------------------------------------------------------ -------------------- /*) Bir mağazada çalışan 40 tane satış elemanına ait ad, soyad, satış miktarı ve prim bilgileri "eleman" adlı bir struct veri yapısının üyeleri olsun. Her bir eleman yaptığı satışa göre aşağıdaki oranlarda prim almaktadır. 0-500 YTL %1 501-1000 YTL %3 1001 YTL ve üstü %5 Her bir eleman gün içerisinde en az bir kez satış yaptığına göre (prim değeri toplam satıştan hesaplanmaktadır), - her bir elemana ait ad, soyad ve satış miktarı bilgileri main() fonksiyonunda verilerek her bir elemanın alacağı primi main() fonksiyonunda hesaplayan ve her bir elemana ait bilgileri "eleman" adlı veri yapısı tipinde A isimli bir diziye main() de aktaran, - A dizisindeki verileri ENAZ isimli bir fonksiyona aktarıp, bu fonksiyonda en az primi alan kişiyi bulup, sadece bu kişinin bilgilerini main() fonksiyonuna gönderen ve yazdıran - A dizisini SON isimli bir fonksiyona aktarıp, günlük satış miktarları 750 TL nin altında kalan kişilerin bilgilerini A dizisinden silerek dizinin yeni halini main() fonksiyonunda yazdıran bir C++ programı yazınız. */ #include<stdio.h> #include<string.h> #include <conio.h> #define satiselemanisayisi 3
typedef struct eleman{ char ad[10]; char soyad[20]; float satismiktari; float prim; bilgi; bilgi enazprim(bilgi arr[]){ static bilgi b; for (i=0;i<satiselemanisayisi;i++){ if (i==0) { b.prim = arr[i].prim; b.satismiktari=arr[i].satismiktari; strcpy(b.ad,arr[i].ad); strcpy(b.soyad,arr[i].soyad); if (b.prim>=arr[i].prim){ strcpy(b.ad,arr[i].ad); strcpy(b.soyad,arr[i].soyad); b.satismiktari=arr[i].satismiktari; b.prim=arr[i].prim; return b;
void son (bilgi arr[],int *w){ int k,l=-1; bilgi b[satiselemanisayisi]; for (k=0;k<satiselemanisayisi;k++) if (arr[k].satismiktari>750){ l++; strcpy(b[l].ad,arr[k].ad); strcpy(b[l].soyad,arr[k].soyad); b[l].satismiktari = arr[k].satismiktari; b[l].prim=arr[k].prim; *w=l; arr=b; bilgi a[3],c; int w1,i; char k; float top,m; for (i=0;i<satiselemanisayisi;i++){ printf("kisinin ADI ve SOYADI?\n"); scanf("%s %s",a[i].ad,a[i].soyad); top=0; do{ printf("\tkisinin SATIS MIKTARINI GIRINIZ : \n"); scanf("%f",&m); top=top+m;
printf("\tayni KISININ BASKA SATISI VAR MI? E-H \n"); k= while (k=='e' k=='e'); a[i].satismiktari = top; if (top<=500) a[i].prim=top/100; if ((top>=501)&&(top<=1000)) a[i].prim=top*3/100; if (top>=1001) a[i].prim=top*5/100; // end-for // a dizisindeki en az prim alan eleman : c c = enazprim(a); printf("\n EN AZ PRIM ALAN KISININ \nadi : %s \nsoyadi : %s \nsatis MIKTARI : %f \nprim MIKTARI : %f\n", c.ad, c.soyad, c.satismiktari, c.prim ); // günlük satis miktari 750tl'nin altinda olanlar silinsin son(a,&w1); printf("\n\n **************** SILINMEYEN KISI ADEDI : %d****************\n\n",w1+1); for (i=0;i<=w1;i++){ printf("adi : %s \nsoyadi : %s \nsatis : %f \nprim : %f",a[i].ad,a[i].soyad,a[i].satismiktari,a[i].prim);