Taban Çevirme Programı(c++)

ALpMontana

КЯaL´da TaNıMaM КuяaL´da
Katılım
28 May 2006
Mesajlar
6,644
Reaction score
0
Puanları
0
Yaş
38
Konum
Eski Açık [ALiSamiYEN]


Bu program türü ile farklı tabanları birbirine çevirebileceksiniz.

#include<stdio.h>

void Degistirme_1(int sayi);/*1.seçenek için*/
void Degistirme_2(int sayi,int taban);/*2.seçenek için*/
void Degistirme_3(int sayi,int taban,int b);/*3.seçenek için*/
void Degistirme_4(int sayi,int taban,int b);/*4.seçenek için*/
void Degistirme_5();/*5.seçenek için*/
void Yazi_yaz(int k);/*yazıyı yazdırmak için*/
int us_al(int m,int n);/*üs almak için*/

int main()
{


int secim=0;
int sayi;
int i;/*sayac*/
int sayac_a;/*sayac*/
int y;/*taban*/
int a;/*sayi*/
int b;/*Sayının kaç basamaklı olduğunu gösteriyor*/
int taban;/*taban*/
int taban_a;/*taban*/
int taban_b;/*taban*/
int c;/*sayı*/
int taban_c;/*taban*/
int sayac;

while(secim!=5){
printf("Cevirici Program Menu\n");
printf("1. 10 luk tabandaki sayiyi yaziya cevirme\n");
printf("2. 10 luk tabandaki sayiyi x tabanina cevirme\n");
printf("3. x tabanindaki sayiyi 10 luk tabana cevirme\n");
printf("4. x tabandaki sayiyi y tabanina cevirme\n");
printf("5. Cikis\n");
printf("Seciminiz:");
scanf("%d",&secim);
switch(secim){
case 1:
printf(">>10 luk tabanda sayi giriniz (1-5000 arasinda) : ");
scanf("%d",&sayi);
if(sayi>5000 || sayi<1){
printf("Lutfen 1-5000 arasinda bir sayi giriniz");
scanf("%d",&sayi); }/*if'in parantezi*/
else
Degistirme_1(sayi);
break;
case 2:
printf(">> 10 luk tabanda sayi giriniz :");
scanf("%d",&sayi);
printf(">> Kaclik tabana cevirilecek (2-9) : ");
scanf("%d",&taban);
if(taban>9 || taban<2){
printf("Yanlis taban sayisi girdiniz!!!Lutfen tekrar deneyiniz!!!!\n");
printf("Tabani(2-9):");
scanf("%d",&taban);
}/*if'in parantezi*/
else
Degistirme_2(sayi,taban);
break;
case 3:
printf(">>Tabani(2-9):");
scanf("%d",&taban_a);
if(taban_a>9 || taban_a<2){
printf("Yanlis taban sayisi girdiniz!!!Lutfen tekrar deneyiniz!!!!\n");
printf(">>Tabani:");
scanf("%d",&taban_a);
}/*if'in parantezi*/
a=1;
while(a!=0){
printf(">> Sayi girin : ");
scanf("%d",&sayi);
a=sayi;
sayac_a=0;
for(i=10;i<a;i*=10)
sayac_a++;
b=sayac_a;
for(i=sayac_a;i>=0;i--){
if(a / us_al(10,i) >= taban_a){
printf("<< %d sayisi %d lik tabanda bir sayi olamaz.Lutfen tekrar deneyiniz\n",sayi,taban_a);
break;
}/*if'in parantezi*/
else
a-= a / us_al(10,i) * us_al(10,i);
}/*for'un parantezi*/
}/*while'nın parantezi*/
Degistirme_3(sayi,taban_a,b);
break;
case 4:
printf(">>Tabani(2-9):");
scanf("%d",&taban_b);
if(taban_b>9 || taban_b<2){
printf("Yanlis taban sayisi girdiniz!!!Lutfen tekrar deneyiniz!!!!\n");
printf(">>Tabani:");
scanf("%d",&taban_b);
}/*if'in parantezi*/
c=1;
y!=taban_a;
while(c!=0){
printf(">>Sayi giriniz:");
scanf("%d",&sayi);
a=sayi;
sayac_a=0;
for(i=10;i<a;i*=10)
sayac_a++;
b=sayac_a;
for(i=sayac_a;i>0;i--){
if(a / us_al(y,i) >= taban_a){
printf("<< %d sayisi %d lik tabanda bir sayi olamaz.Lutfen tekrar deneyiniz\n",sayi,taban_a);
break;
}/*if'in parantezi*/
else{
printf(">>Hangi tabana cevrilecek?(2-9):");
scanf("%d",&y);
a-= a / us_al(y,i) * us_al(y,i);
}/*else'nin parantezi*/
}/*for'un parantezi*/
}/*for'un parantezi*/
break;
case 5:
printf("**Program Bitti**\n");
printf("!!!!!Hoscakalin!!!!!");
break;
};/*switch'in parantezi*/

}/*Dıştaki while'ın parantezi*/
getchar();
getchar();
return 0;
}/*int main'in parantezi*/

void Degistirme_1(int sayi)
{
int sayac=0;
int i;/*sayac*/
int k;/*sayı*/
printf("<<Girdiginiz sayi ");
for( i=4;i>=0;i--){
if(sayi/us_al(10,i)!=0)
sayac++;
if(sayac != 0){
if(i==3){/*Sayıları yazdırmada kulanıyoruz*/
k=sayi/1000;
if(k>1)
Yazi_yaz(k);
printf("bin");
sayi-=k*1000;
}/*if'in parantezi*/
if(i==2){/*Sayıları yazdırmada kulanıyoruz*/
k=sayi/100;
if(k>1)
Yazi_yaz(k);
printf("yuz");
sayi-=k*100;
}/*if'in parantezi*/
if(i==1){/*Sayıları yazdırmada kulanıyoruz*/
k=sayi/10;
if(k==1)
printf("on");
else if(k==2)
printf("yirmi");
else if(k==3)
printf("otuz");
else if(k==4)
printf("kirk");
else if(k==5)
printf("elli");
else if(k==6)
printf("altmis");
else if(k==7)
printf("yetmis");
else if(k==8)
printf("seksen");
else if(k==9)
printf("doksan");
sayi-=k*10;
}/*if'in parantezi*/
if(i==0)/*Sayıları yazdırmada kulanıyoruz*/
Yazi_yaz(sayi);
}/*Dıştaki if'in parantezi*/
}/*for'un parantezi*/
printf("\n");
}/*void değiştirme_1 in parantezi*/
void Degistirme_2(int sayi, int taban)
{
int i;/*sayac*/
int j;/*sayac*/
int k;/*sayı*/
int sayac=0;
int kopya;

printf("<< %d = (",sayi);

for(i=taban;i<sayi;i*=taban){
if(sayi/i==0)
break;
else
sayac++;
}/*for'un parantezi*/
for(j=sayac;j>=0;j--){
if(sayi != us_al(taban,j)* taban)
printf("%d",sayi / us_al(taban,j));
else{
printf("1");
j++;}/*else'nin parantezi*/
kopya=sayi;
sayi-=kopya/ us_al(taban,j) * us_al(taban,j);
}/*for'un parantezi*/
printf(")%d\n",taban);
}/*void'in parantezi*/

void Degistirme_3(int sayi,int taban,int b)
{
printf("<< (%d)%d = ",sayi,taban);
int i;/*sayac*/
int sonuc=0;
int kopya;
for(i=0;i<=b+1;i++)
{
sonuc+=( sayi / us_al(10,b-i)) * us_al(taban,b-i);
kopya=sayi;
sayi-= (kopya / us_al(10,b-i)) * us_al(10,b-i);
}/*for'un parantezi*/
printf("%d\n",sonuc);
}/*void değiştirme_3'ün parantezi*/

void Degistirme_4(int sayi,int taban,int b,int y)
{
printf("<< (%d)%d=",sayi,taban);
int i;/*sayac*/
int sonuc=0;
int kopya;
for(i=0;i<=b+1;i++)
{
sonuc+=( sayi / us_al(y,b-i)) * us_al(taban,b-i);
kopya=sayi;
sayi-=(kopya / us_al(y,b-i)) * us_al(y,b-i);
}/*for'un parantezi*/
printf("%d\n",sonuc);
}/*void değiştirme_4'ün parantezi*/

void Degistirme()/*Çıkış için*/
{
}
void Yazi_yaz(int k){
if(k==0)/*Sayıları yazdırmada kulanıyoruz*/
printf("");
else if(k==1)
printf("bir");
else if(k==2)
printf("iki");
else if(k==3)
printf("uc");
else if(k==4)
printf("dort");
else if(k==5)
printf("bes");
else if(k==6)
printf("alti");
else if(k==7)
printf("yedi");
else if(k==8)
printf("sekiz");
else
printf("dokuz");
}/*void yazı_yaz'ın parantezi*/

int us_al(int m,int n){/*üs almak için*/
int i;
int son=1;
for(i=0;i<n;i++)
son*=m;
return son;
}/*us_al'ın parantezi*/
 
eline sağlık
 
Geri
Üst