Skip to content

Instantly share code, notes, and snippets.

@sinannar
Created February 12, 2012 16:46
Show Gist options
  • Save sinannar/1809594 to your computer and use it in GitHub Desktop.
Save sinannar/1809594 to your computer and use it in GitHub Desktop.
elektrik sirketi fatura hesap programı
/*
* HW2_091044005_PART_3.c
*
* CREATED BY: Sinan Nar
* CEATION DATE :20/03/2011
*
* ACIKLAMA:
* girilen elektrik degerleri icin ve hesabinizin turune gore elektrik faturasi hesaplayan program
*
*
*/
#include <stdio.h>
/*sabitlerimizi atiyoruz*/
#define SBTR1 6.00 //residental icin
#define SBTR2 0.052 //residental icin
#define SBTC1 60.00 //commercial icin
#define SBTC2 0.045 //commercial icin
#define SBTI1 76.00 //industrial icin
#define SBTI2 0.065 //industrial icin
#define SBTI3 40.00 //industrial icin
#define SBTI4 0.028 //industrial icin
#define SBTGNL 1000 //1000 sayisini rakam olarak degil constant olarak atiyoruz
int main(void)
{
char kullanim_turu; //kullanim turunu char cinsinden kullanicidan almak icin bir karakter degiskeni atiyoruz
int kullanim_miktari,
kullanim_miktari2, //kullanim miktarlarini almak icin degiskenlerimizi atiyoruz
abone_number;
/*program menusu*/
printf("\t\tELEKTRIK FATURASI HESAPLAMA PROGRAMI\n"); //program adi
printf("Bu program sizin elektrip faturanizi hesaplayacaktir\n"); //program islevi
printf("Yapmaniz gereken sey oncelikle gereken temel bilgileri programa girmektir\n"); /*gerekenler ve kullanici bilgilendirmesi*/
printf("Bu bilgilerden oncleikli olani abone numaraniz ve ne tur bir abone oldugunuzdur\n");
printf("Ikinci oncelikli olani ise kullanim miktari\n");
printf("Fakat kullanim turune gore gore kullanim girdisi degisektir\n\n\n\n");
/*abone numarasini aliyoruz*/
printf("lutfen 6 haneli kullanici numaranizi giriniz\n");
scanf("%d",&abone_number);
/*kullanim turunu aliyoruz*/
printf("lutfen kullanim turunu giriniz\n");
printf("(press enter r or R for residental,i or I for industrial c or c for commercial)\n");
scanf(" %c",&kullanim_turu);
/*switch ile kullanim turune gore kullanicidan gerekli bilgileri alip hesaplamalari yapip outputumuzu verecegiz*/
switch(kullanim_turu)
{
case 'r'://residental kullanim icin
case 'R':
{
printf("lutfen kullandiginiz miktari giriniz (kw\\h olarak)\n");
scanf("%d",&kullanim_miktari);
printf("%d numarali kullanici,faturaniz %f$ dir\n",abone_number,( SBTR1 +(kullanim_miktari* SBTR2 )));
}
break;
case 'c'://commercial kullanim icin
case 'C':
{
printf("lutfen kullandiginiz miktari giriniz (kw\\h olarak)\n");
scanf("%d",&kullanim_miktari);
if(kullanim_miktari<SBTGNL)
{
printf("%d numarali kullanici faturaniz SBTC1 $dir\n",abone_number);
}
else
printf("%d numarali kullanici faturaniz %f$ dir\n",abone_number,(SBTC1+((kullanim_miktari-SBTGNL)*SBTC2)));
}
break;
case 'i'://industrial kullanim icin icin
case 'I':
{
printf("lutfen indirimli saatlerdeki toplam kullanim miktari giriniz (kw\\h olarak)\n");
scanf("%d",&kullanim_miktari);
printf("lutfen normal saatlerdeki kullanim miktari giriniz (kw\\h olarak)\n");
scanf("%d",&kullanim_miktari2);
if( kullanim_miktari < SBTGNL && kullanim_miktari2 < SBTGNL )
printf("%d numarali kullanici faturaniz %.2f$ dir\n",abone_number, ( SBTI1 + SBTI3 ) );
else if(kullanim_miktari>SBTGNL && kullanim_miktari2<SBTGNL)
printf("%d numarali kullanici faturaniz %.2f$ dir\n",abone_number, ( SBTI1+ ((kullanim_miktari-SBTGNL) * SBTI2 ))+SBTI3);
else if(kullanim_miktari<SBTGNL && kullanim_miktari2>SBTGNL)
printf("%d numarali kullanici faturaniz %.2f$ dir\n",abone_number, SBTI1 + ( SBTI3 + ( SBTI4 * ( kullanim_miktari2 - SBTGNL ) ) ) );
else
printf("%d numarali kullanici faturaniz %.2f$ dir\n",abone_number,( SBTI1 + ( ( kullanim_miktari - SBTGNL ) * SBTI2 ) )+( SBTI3 + ( SBTI4 * ( kullanim_miktari2 - SBTGNL ) ) ) );
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment