diff --git a/conversions/octal_to_hexadecimal.c b/conversions/octal_to_hexadecimal.c index 86236e05..521064b2 100644 --- a/conversions/octal_to_hexadecimal.c +++ b/conversions/octal_to_hexadecimal.c @@ -1,8 +1,21 @@ +/** + * @brief Octal to hexadecimal conversion by scanning user input + * @details + * The octalToHexadecimal function take the octal number as long + * return a string hexadecimal value after conversion + * @author [Rachit Bhalla](https://github.com/rachitbhalla) + */ +#include #include #include #include +#include -// Converts octal number to decimal number +/** + * @brief Convert octal number to decimal number + * @param octalValue is the octal number that needs to be converted + * @returns A decimal number after conversion + */ long octalToDecimal(long octalValue){ long decimalValue = 0; int i = 0; @@ -14,15 +27,40 @@ long octalToDecimal(long octalValue){ } return decimalValue; } + +/** + * @brief Convert octal number to hexadecimal number + * @param octalValue is the octal number that needs to be converted + * @returns A hexadecimal value as a string after conversion + */ char *octalToHexadecimal(long octalValue){ char *hexadecimalValue = malloc(256 * sizeof(char)); sprintf(hexadecimalValue, "%lX", octalToDecimal(octalValue)); return hexadecimalValue; } + +/** + * @brief Test function + * @returns void + */ +static void test() { + /* test that hexadecimal value of octal number 213 is 8B */ + assert(strcmp(octalToHexadecimal(213), "8B") == 0); + + /* test that hexadecimal value of octal number 174 is 7C */ + assert(strcmp(octalToHexadecimal(174), "7C") == 0); +} + +/** + * @brief Main function + * @returns 0 on exit + */ int main() { - int octalValue; + //execute the tests + test(); + int octalValue; printf("Enter an octal number: "); scanf("%d", &octalValue);