(فوری) یه برنامه با تابع بازگشتی برای تبدیل مبنا ده به دو میخوام لطفا کمکم کنید
(فوری) یه برنامه با تابع بازگشتی برای تبدیل مبنا ده به دو میخوام لطفا کمکم کنید
عمل تبدیل مبنا از هر یک از مبنا های ۲ ۸ ۱۰ ۱۶ به یکدیگر صورت می گیرد پس از اجرای برنامه تبدیل های مختلف با دریافت اطلاعات انجام می شود.
#include
#include
#include
#include
int at1[50];
int a,aa,i,j,i2,j2,mbna;
//{************************************************* ******************}
int strtoint(char i){
int s,dd;
switch (i){
case '1':s=1; break; case '2':s=2; break; case '3':s=3; break;
case '4':s=4; break; case '7':s=7; break; case '6':s=6; break;
case '5':s=5; break; case '8':s=8; break; case '9':s=9; break;
case '0':s=0; break;
}
return s;
}
//{************************************************* ******************}
long int tavan(int m,int i){
long int sss;
sss=1;
for (j=1;j0){
switch (n[i-1]) {
case 'A':
case 'a':sum=sum+(10*tavan(mba,j));break;
case 'B':
case 'b':sum=sum+(11*tavan(mba,j));break;
case 'C':
case 'c':sum=sum+(12*tavan(mba,j));break;
case 'D':
case 'd':sum=sum+(13*tavan(mba,j));break;
case 'E':
case 'e':sum=sum+(14*tavan(mba,j));break;
case 'F':
case 'f':sum=sum+(15*tavan(mba,j));break;
default:
sum=sum+((strtoint(n[i-1]))*tavan(mba,j));
}
i--;
j++;
}
return sum;
}
//{************************************************* ******************}
void canvert(int mbna,int numtru){
i=1;
while ((numtru>0) && (i=1;j--)
switch (at1[j]) {
case 10:printf("A");break;
case 11:printf("B");break;
case 12:printf("C");break;
case 13:printf("D");break;
case 14:printf("E");break;
case 15:printf("F");break;
default:printf("%d",at1[j]);
}
printf("\n"); }//{Proceure}
//************************************************** *******
int main(){
char ch;
ch=’y';
int kk;
char nu[50];
while (ch==’y'){
clrscr();
printf(“\nEnter number in decimal base(10) =”); scanf(“%d”,&kk);
canvert(2,kk);
canvert(16,kk);
canvert(8,kk);
printf(“\n************************************** ********************”);
printf(“\nEnter number in octal base(8) =”); scanf(“%s”,&nu);
printf(“\nThis Num is Canverted in 10 = %d”,convert(8,nu));
canvert(2,convert(8,nu));
canvert(16,convert(8,nu));
printf(“\n************************************** ********************”);
printf(“\nEnter number in binery base(2) =”); scanf(“%s”,&nu);
printf(“\nThis Num is Canverted in 10 = %d”,convert(2,nu));
canvert(8,convert(2,nu));
canvert(16,convert(2,nu));
printf(“\n************************************** ********************”);
printf(“\nEnter number in hex base(16) =”); scanf(“%s”,&nu);
printf(“\nThis Num is Canverted in 10 = %d”,convert(2,nu));
canvert(8,convert(16,nu));
canvert(2,convert(16,nu));
printf(“\ndo you contiuo with other num (y/n) “);
ch=getche();
}
}
این برنامه شاید به دردتون بخوره. البته عمل تبدیل مبنا از هر یک از مبنا های ۲ ۸ ۱۰ ۱۶ به یکدیگر صورت می گیرد پس از اجرای برنامه تبدیل های مختلف با دریافت اطلاعات انجام می شود.
در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)
علاقه مندی ها (Bookmarks)