This C program is a number system converter that allows users to convert between binary, octal, decimal, and hexadecimal number systems. The program provides a user-friendly interface, guiding the user through the conversion process.
-
Supported Conversions:
- Binary to Octal, Decimal, Hexadecimal
- Octal to Binary, Decimal, Hexadecimal
- Decimal to Binary, Octal, Hexadecimal
- Hexadecimal to Binary, Octal, Decimal
-
User Interaction:
- Welcomes the user with a smiley face and asks for their name.
- Provides a list of conversion options.
- Asks the user to select the desired conversion type and input number.
- Displays the converted values in a clear format.
- Asks the user if they want to try another conversion.
-
Input Validation:
- Validates user input to ensure it is a valid integer and within the specified length limits.
- Checks the validity of hexadecimal input, ensuring it contains valid hex digits.
- Ensures binary, octal, and decimal inputs contain only valid digits for their respective systems.
-
Colorful Output:
- Uses different text colors to enhance the visual experience.
-
No Support for Negative Numbers:
- The program does not support negative numbers. It assumes that all input and output numbers are non-negative.
-
Input Limitations Due to Long Long Limitation:
- The use of the
long long
data type imposes limitations on the size of the input numbers. Extremely large numbers may not be handled accurately.
- The use of the
-
Inefficiency in Decimal Conversions:
- The method used for converting from and to decimal may not be the most efficient, especially for large numbers. There is room for optimization in these conversion processes.
-
Code Organization:
- The code is not divided into header files. While not necessary for a small project like this, it may become less maintainable as the codebase grows.
- Run the program.
- Enter your name when prompted.
- Choose the desired conversion type from the provided list.
- Enter the number to be converted.
- View the converted values.
- Decide whether to try another conversion or exit the program.
- The program is designed to be user-friendly and provides a colorful and engaging interface.
- Input validation is implemented to prevent invalid input and ensure accurate conversions.
- The code uses functions for different conversion types, making it modular and easy to maintain.
- Feel free to explore and modify the code to suit your preferences or add additional features.
- Abdulrahman Nader
- Mohannad Elsayed
- Hania Hisham
- Nada Ahmed
- Hannah Ramadan
- Ganaa Attia
- Yara Hossam
This program was created as a collaborative effort by the "NumberSystem Wizards." We hope you find it useful and enjoy using our number system converter!