Programalama > C++


Ort. 5
Puan ver:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int k=0;            // global degisken;basamak sayilari icin asagidaki 'for' dongusu icin kullanilacak dongu elemani..
int bolum=0;     // kullanilacak degiskenler..
int i=1;
int sayi=0;
int kutu[10];
int secim=0;
int tercih;              // devam veya cikis icin tanimlanan degisken..   

     
        
int binary_system(int *);
void onkural(int *);
int hexal_system(int *);
void onkural_hexal(int *);
int octal_system(int *);
void onkural_octal(int *);
void menu();


int main() {    

            // kutulari sifirla..
for(int i=0;i<10;i++){
        kutu[i]=0;
        }

    menu(); 
    scanf("%d",&secim); 
    
if(secim==1){
                terim:
                puts("Lutfen Bir Decimal Sayi Giriniz:");
                scanf("%d",&sayi);
                if(sayi==1 || sayi==0 || sayi<0){
                            printf("%d Binary Sayi Girisi Esit..!!\n\n",sayi);
                            goto terim;
                            }
                            
             kutu[0]=sayi%2;          // ilk degerleri uygula..
             bolum=sayi/2;
             onkural(&sayi);      // bellek tasarrufu icin sayi adresini fonksiyona gonder..
             binary_system(&sayi);
             }
             
if(secim==2){
                sayim:
                puts("Lutfen Bir Decimal Sayi Giriniz:");
                scanf("%d",&sayi);
                               
              switch (sayi){
                     
                     case 10:
                             printf("%c",65);
                             printf("\n");
                             goto sayim;
                             break;
                     case 11:
                             printf("%c",66);
                              printf("\n");
                             goto sayim;
                             break;
                     case 12:
                             printf("%c",67);
                              printf("\n");
                             goto sayim;
                             break;
                             
                     case 13:
                             printf("%c",68);
                              printf("\n");
                             goto sayim;
                             break;
                     case 14:
                             printf("%c",69);
                              printf("\n");
                             goto sayim;
                             break;
                     case 15:
                             printf("%c",70);
                              printf("\n");
                             goto sayim;
                             break;
                             }
                if(sayi<16 || sayi<=0){
                            printf("%d Aynidir..\n\n",sayi);
                            goto sayim;
                            }
                 
              kutu[0]=(sayi)%16;          // ilk degerleri uygula..
              bolum=(sayi)/16;
             onkural_hexal(&sayi);
             hexal_system(&sayi);
             } 
if(secim==3){
               mevcut:
                puts("Lutfen Bir Decimal Sayi Giriniz:");
                scanf("%d",&sayi);
                   if(sayi<8){
                            printf("%d",sayi);
                            goto mevcut;
                            }
               kutu[0]=(sayi)% 8;          // ilk degerleri uygula..
              bolum=(sayi)/8;
             onkural_octal(&sayi);
             octal_system(&sayi);
             }
                            
                           
if(secim==4){
             return -1;
             }
             
if(secim==5){
             system("CLS");
             }
        
}

// binary sistem fonk      
int binary_system(int *sayi){

do  {   
if(bolum<2){            // bolumun 1 oldugu anda bastirmak icin tanimalanan kontrol yapisina giris..
             
               puts("\\\\");
               puts("Binary Decimal");
               printf("%d",bolum);
               for(int i=k;i>=0;i--){             // MSB den LSB ye kadar donen bir dongu..
                          printf("%d",kutu[i]);
               }
               
                printf("\n\nDevam etmek icin 1'e basin,Degilse herhangi bir tus");
               scanf("%d",&tercih);
               switch (tercih) {
                      case 1:              // 1 ise devam
                      k=0;                                
                      bolum=0;     
                      i=1;
                      sayi=0;
                             return main();
                             break;
                             
                      default:                // degilse cikis
                              return -1;
                              
               } // switch sonu.
               
               } // bolum==1 kosulu sonu.
                     kutu[i]=bolum%2;
                     bolum=bolum/2;
                     i++;
                     }   // do sonu.
while(bolum!=-1);
}


void onkural(int *sayi){    //Binary basamak sayilari icin kural ifadeleri fonksiyonu..
if(*sayi>0 && *sayi<4)
k=0;
else if(*sayi>=4 && *sayi<8)
k=1;
else if(*sayi>=8 && *sayi<16)
k+=2;
else if(*sayi>=16 && *sayi<32)
k+=3;
else if(*sayi>=32 && *sayi<64)
k+=4;
else if(*sayi>=64 && *sayi<128)
k+=5;
else if(*sayi>=128 && *sayi<256)
k+=6;
else if(*sayi>=256 && *sayi<512)
k+=6;
else if(*sayi>=512 && *sayi<1024)
k+=7;
else if(*sayi>=1024 && *sayi<2048)
k+=8;
else if(*sayi>=2048 && *sayi<4096)
k+=9;
else if(*sayi>=4096 && *sayi<8192)
k+=10;
else if(*sayi>=8192 && *sayi<16384)
k+=11;
else {
      printf("\nYogun Baski..!!");
      k+=12;
      }
      }    

//int hexal_system(int *sayi){
      
void onkural_hexal(int *sayi){
     if(*sayi>0 && *sayi<256)
     k=0;
     else if(*sayi>=256 && *sayi<4096)
     k+=1;
     else if(*sayi>=4096 && *sayi<65536)
     k+=2;
     else{
     printf("Yogun Baski..!!\n");
     k+=3;
     }
     }
     
  int hexal_system(int *sayi){
  
do  {   
if(bolum<16){            // bolumun 1 oldugu anda bastirmak icin tanimalanan kontrol yapisina giris..
             
               puts("\\\\");
               puts("HexaDecimal");
               printf("%d",bolum);
               for(int i=k;i>=0;i--){             // MSB den LSB ye kadar donen bir dongu..
                          printf("%d",kutu[i]);
               }
               
                printf("\n\nDevam etmek icin 1'e basin,Degilse herhangi bir tus");
               scanf("%d",&tercih);
               switch (tercih) {
                      case 1:              // 1 ise devam
                             k=0;
                             bolum=0;     
                             i=1;
                             sayi=0;
                             return main();
                             break;
                             
                      default:                // degilse cikis
                              return -1;
                              
               } // switch sonu.
               
               } // bolum==1 kosulu sonu.
                     kutu[i]=bolum%16;
                     bolum=bolum/16;
                     i++;
                     }   // do sonu.
while(bolum!=-1);
}

int octal_system(int *sayi){
    
    do  {   
if(bolum<8){            // bolumun 1 oldugu anda bastirmak icin tanimalanan kontrol yapisina giris..
             
               puts("\\\\");
               puts("Octal Decimal");
               printf("%d",bolum);
               for(int i=k;i>=0;i--){             // MSB den LSB ye kadar donen bir dongu..
                          printf("%d",kutu[i]);
               }
               
                printf("\n\nDevam etmek icin 1'e basin,Degilse herhangi bir tus");
               scanf("%d",&tercih);
               switch (tercih) {
                      case 1:              // 1 ise devam
                      k=0;                                
                      bolum=0;     
                      i=1;
                      sayi=0;
                             return main();
                             break;
                             
                      default:                // degilse cikis
                              return -1;
                              
               } // switch sonu.
               
               } // bolum==1 kosulu sonu.
                     kutu[i]=bolum%8;
                     bolum=bolum/8;
                     i++;
                     }   // do sonu.
while(bolum!=-1);
}
                 

void onkural_octal(int *sayi){
     if(*sayi>=8 && *sayi<64)
     k+=0;
     else if(*sayi>=64 && *sayi<512)
     k+=1;
     else if(*sayi>=512 && *sayi<4096)
     k+=2;
     else if(*sayi>=4096 && *sayi<32768)
     k+=3;
     else{
     printf("Yogun Baski..!!\n");
     k+=4;
     }
     }
    
   
void menu() {
     
     printf("************************\n");
     printf("**    Hosgeldiniz     **\n");
     printf("  1.)Binary System      \n");
     printf("  2.)Hexadecimal System \n");
     printf("  3.)Octal System       \n");
     printf("  4.)Cikis              \n");
     printf("  5.)Reset              \n");
     printf("**   Secim Yapiniz    **\n");
     printf("************************\n");
}  
  


Yorumlar                 Yorum Yaz
Yusuf-Bayar (0) Sakıncalı Yorum 23 May 02:31
programcı arkadaşlar merhaba bana bunun visual basicini ücretle yapabilcek bir arkadaş varmı şimdiden saygılarımla..
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.