Programlamaya Giriş Final Ders Ödevleri

Başkent Üniversitesi Programlamaya Giriş dersinde Prof. Dr. Afet GOLAYOĞLU Tarafından verilmiş olan Final Ders Ödevleri Tarafımdan yazılmış olup 11.05.2015 Tarihinde yayınlanmıştır.Kaynak verilmeden kullanılması kesinlikle yasaktır.

1- Elektrik dağıtım şirketinde elektrik kullanım bedeli,

  • Konutlar için 0-100 KWh arası 0.1 TL /Kwh, 100 Kwh dan fazla kısmi için 0.15 TL/Kwh,
  • Kamu kuruluşları için 0-500KWh arası için 0.15TL/KWh, 500Kwh dan fazla kısmi için 0.2 TL/KWh ve
  • Özel sektör için 0-1000 KWh arası 0.3TL/ KWh, 1000 Kwh dan fazla kısmi için ise 0.35TL/KWh olarak hesaplanmaktadır.

Elektrik kullanım bedeli hesaplama programını yazınız.

    #include<stdio.h>
    #include<conio.h>

    int main(void) {
    	int secim=1,kv=0;
    	float konut;
    	jump:
    	while(secim) {
    		printf("1-Konutlarn2-Kamu Kuruluslarin3-Ozel Sektorn4-Cikisnn");
    		scanf("%d",&secim);
    		switch(secim) {
    			case 1:
    				printf("Kullandiginiz Elektrigi KWh Cinsinden giriniz.n");
    				scanf("%d",&kv);
    				if(kv <= 0){
                    	printf("Gecersiz deger girdiniz n");
                    	break;
                	}
    				if(kv >= 0 && kv <= 100) {
    					konut=(float)kv*0.1;
    				} else if(kv>=101) {
    					konut=(float)(100*0.1)+(kv-100)*0.15;
    				}
    				printf("%d KWh icin Kullanim Bedeliniz %.2f TL Olarak Bulunmustur.nn",kv,konut);
    				break;
    			case 2:
    				printf("Kullandiginiz Elektrigi KWh Cinsinden giriniz.n");
    				scanf("%d",&kv);
    				if(kv <= 0){
                    	printf("Gecersiz deger girdiniz n");
                    	break;
                	}
    				if(kv >= 0 && kv <= 500) {
    					konut=(float)kv*0.15;
    				} else if(kv>=501) {
    					konut=(float)(500*0.15)+(kv-500)*0.2;
    				}
    				printf("%d KWh icin Kullanim Bedeliniz %.2f TL Olarak Bulunmustur.nn",kv,konut);
    				break;
    			case 3:
    				printf("Kullandiginiz Elektrigi KWh Cinsinden giriniz.n");
    				scanf("%d",&kv);
    				if(kv <= 0){
                    	printf("Gecersiz deger girdiniz n");
                    	break;
                	}
    				if(kv >= 0 && kv <= 1000) {
    					konut=(float)kv*0.3;
    				} else if(kv>=1001) {
    					konut=(float)(1000*0.3)+(kv-1000)*0.35;
    				}
    				printf("%d KWh icin Kullanim Bedeliniz %.2f TL Olarak Bulunmustur.nn",kv,konut);
    				break;
    			case 4:
    				secim=0;
    				break;
    			default:
    				goto jump;
    				break;
    		}
    	}
    	return 0;
    	getch();
    }

2- Üniversite misafirhanesi öğretim üyeleri için konaklayacakları gün sayısına bağlı olarak tabloda verildiği gibi farklı tarife uygulamaktadır.

Gün sayısı    Ücret (Yabancı) Ücret(TC vatandaşı) Universite personeli
0-4 25 TL(günlük) 15 TL 12 TL
5-10 20 TL 12 TL 10 TL
11-yukarısı 17 TL 10 TL 7 TL

Konaklama bedelini hesaplayan program kodunu yazınız.

    #include <stdio.h>
    #include <conio.h>
    /*Tarife fiyatlarının dizi içerisinde tutulması*/
    int tarife[3][3]={{25, 15, 12},{20, 12, 10},{17, 10, 7}};

    /*Misafir tipi ile birlikte ücreti hesaplayan fonksiyon*/
    int fiyat_hesapla(int tip, int gun){
        int fiyat = 0 ;
        /*Array indis ayarlama işlemi 1 ise 0,2 ise 1 şeklinde */
        tip--;
        if (gun <= 4){
            fiyat+=tarife[0][tip]*gun;/*0-4 Arası için 25 TL ile gün sayısının çarpılması*/
        }
        else if (gun <= 10){
            fiyat+= tarife[0][tip] * 4;/*ilk 4 gün ücretlendirmesi*/
            fiyat+= tarife[1][tip] * (gun-4);/*4 den 10 kadar olan ki ücretlendirme*/
        }
        else{
        	/*11 den yukarısı için konaklama bedel hesabı*/
            fiyat+=tarife[0][tip]*4;
            fiyat+=tarife[1][tip]*6;
            fiyat+=tarife[2][tip]*(gun-10);
        }
        return fiyat;
    }

    int main(void){
        /*Calis programin calisma dongusunu kontrol edecek*/
        int calis = 1,tip, gun;
        while(calis){
        	jump:
            printf("1-Yabancin2-TC Vatandasin3-Personeln4-Cikisn");
            scanf("%d", &tip);
            switch (tip){
            case 1:
            case 2:
            case 3:
                /*Tum misafir tipleri icin tek bir fiyat fonksiyonu yeterli oluyor*/
                printf("Kalinacak gun sayisini giriniz: ");
                scanf("%d", &gun);
                if(gun <= 0){
                    printf("Gecersiz gun sayisi n");
                    break;
                }
                printf("Konaklama ucreti: %d TLn", fiyat_hesapla(tip, gun));
                break;
            case 4:
                calis=0;
                break;
            default: //Girdi olarak 1,2,3 ve ya 4'den farkli bir sey girildiyse uygulama tekrar çalışmaya devam etsin
                goto jump;
            }
        }
        return 0;
        getch();
    }

3- Asgari ücretin 20 yaş altındakiler için 896 TL , 20 yaş üstündekiler için 1010 TL emekliler için 960 TL olarak uygulandığı bir pazarlama şirketinde çalışan her eleman için yaptığı satış miktarının %5 i kadar ek ücret, bayram ve ya tatil günlerinde çalıştığı her yarım gün için ise 50 TL ek ücret verilmektedir. Buna göre, aylık maaş hesaplama programını yazınız

    #include <stdio.h>
    #include <conio.h>

    /*Calisan maasini hesaplayan fonksiyon*/
    double maas_hesapla(int yas, int satis, int mesai){
        double maas=0;
        if(yas == 1)
            maas=896;
        if(yas == 2)
            maas = 1010;
        else
            maas = 960;
        /*Satislardan gelen %5*/
        maas += (satis * 0.05);
        /*Measiden gelen gun*50 TL*/
        maas += (mesai*50);
        return maas;
    }
    int main(){
        /*Calis programin calisma dongusunu kontrol edecek*/
        int calis = 1,yas, satis, mesai;
        while(calis){
            printf("1-20 Yas Altin2-20 Yas Ustun3-Emeklin4-Cikisn");
            scanf("%d", &yas);
            switch (yas){
            case 1:
            case 2:
            case 3:
                /*Tum misafir tipleri icin tek bir fiyat fonksiyonu yeterli oluyor*/
                printf("Elemanini satis miktarini giriniz:");
                scanf("%d", &satis);
                if(satis < 0){
                    printf("Satis negatif olamaz n");
                    break;
                }
                printf("Elemanini bayram ve ya tatilde calistigi gun sayisi:");
                scanf("%d", &mesai);
                if(mesai < 0){
                    printf("Gun sayisi negatif olamaz n");
                    break;
                }
                printf("Elemanin maasi: %.2f TLn", maas_hesapla(yas, satis, mesai));
                break;
            case 4:
                calis=0;
                break;
            default: //Girdi olarak 1,2,3 ve ya -1'den farkli bir sey girildiyse
                printf("Gecersiz bir secenek girdiniz n");
            }
        }
        return 0;
    	getch();
    }

4- Kargo şirketi gönderilecek kargonun ağırlığı ve gideceği yere bağlı olarak aşağıdaki şekilde tarife uygulamaktadır:

  • Amerika : 0-250 gr arası için 2 TL, sonrası her 250 gr için 1.5 TL
  • Avrupa : 0-250 gr arası için 1 TL, sonrası her 250 gr için 0.75 TL
  • Uzakdoğu : 0-250 gr arası için 3 TL, sonrası her 250 gr için 2 TL

Buna göre ücret hesaplayan program kodunu yazınız.

    #include<stdio.h>
    #include<conio.h>

    int main()
    {
    	char yer;
    	float kargonun_agirligi,odenecek_tutar;
    	printf("Kargonun agirligini giriniz: ");
    	scanf("%f",&kargonun_agirligi);
    	printf("Kargonun gidecegi yeri giriniz: ");
    	scanf("%s",&yer);
    	switch(yer)
    	{
    	case 'A':
    			if(kargonun_agirligi>0 && kargonun_agirligi<250)
    		    {printf("Odenecek tutar 2 TL");}
    		    else if(kargonun_agirligi>250)
    		    {
    		    	odenecek_tutar=(kargonun_agirligi/250)*1.5+0.5;
    		    	printf("Odenecek tutar: %.2f TL",odenecek_tutar);
    			}
    		    break;
    	case 'E':
    			if(kargonun_agirligi>0 && kargonun_agirligi<250)
    		    {printf("Odenecek tutar 1 TLn");}
    		    else if(kargonun_agirligi>250)
    		    {
    		    	odenecek_tutar=(kargonun_agirligi/250)*0.75+0.25;
    		    	printf("Odenecek tutar: %.2f TL",odenecek_tutar);
    			}
    		    break;
    	case 'U':
    			if(kargonun_agirligi>0 && kargonun_agirligi<250)
    		    {printf("Odenecek tutar 3 TLn");}
    		    else if(kargonun_agirligi>250)
    		    {
    		    	odenecek_tutar=(kargonun_agirligi/250)*2+1;
    		    	printf("Odenecek tutar: %.2f TL",odenecek_tutar);
    			}
    		    break;
        }
        getch();
        return 0;
    }
Share this:

Leave a Comment