PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال برنامه نویسی به زبان c



fatemeh.ghavami
22nd January 2014, 05:55 PM
(فوری) یه برنامه با تابع بازگشتی برای تبدیل مبنا ده به دو میخوام لطفا کمکم کنید

korosh.s.m
5th August 2014, 02:55 PM
عمل تبدیل مبنا از هر یک از مبنا های ۲ ۸ ۱۰ ۱۶ به یکدیگر صورت می گیرد پس از اجرای برنامه تبدیل های مختلف با دریافت اطلاعات انجام می شود.
#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();
}
}
این برنامه شاید به دردتون بخوره. البته عمل تبدیل مبنا از هر یک از مبنا های ۲ ۸ ۱۰ ۱۶ به یکدیگر صورت می گیرد پس از اجرای برنامه تبدیل های مختلف با دریافت اطلاعات انجام می شود.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد