سلام
من می خوام یک برنامه بنویسم که عددی را از ورودی یگیرد و در مبنای 16 آن را حساب نماید برنامه رو نوشتم ولی نمی دونم چرا خروجی رو درست نمی ده لطفا راهنمایی کنید
#include <stdio.h>
#include <conio.h>
//using namespace std;
char* base (int a);
int main()
{
int n;
printf("\nEnter your number:");
scanf("%d",&n);
printf("\nThe result is:%s\n", base(n));
getch();
return 0;
}
char* base(int a)
{
int i;
char* s = new char[10];
s[9] = 0;
for (i = 8; (a != 0) || (i == 8); i--)
{
if (a % 16 < 10)
s[i] = '0' + a % 16;
else
s[i] = 'A' + a % 16 - 10;
a = a / 16;
}
return &s[i + 1];
}
خیلی ممنون از جوابی که دادید
الان مشکلی که دام اینه که دو تا تابع نوشتم در برنامه که یکی مبنای 2 و دومی مبنای 16 را حساب می کند الان می خوام زمانی که دو تا عدد رو بدست آورد مقایسه با هم کنه اگر هر کدام کوچکتر بود پیامی را چاب کند
مشکل اینجاست که نمی دوم عبار شرطی بین دو تابع رو چه جوری می شه نوشت.