You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.3 KiB

  1. #include "conversionOfNumbers.h"
  2. #include "../userinput.h"
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. int main(){
  6. int minInput = 0;
  7. int maxInput = 2;
  8. int InputMainMenu;
  9. while(InputMainMenu != 3){
  10. printf("\nWaehle Zahlensystem:\n"
  11. "\n<0> Binaer System\n"
  12. "<1> Hexadezimal System\n"
  13. "<2> Beenden\n");
  14. InputMainMenu = usergetd("\nEingabe: ", &minInput, &maxInput);
  15. if(InputMainMenu == 2) break;
  16. int InputOptionsMenu;
  17. while(InputOptionsMenu != 3){
  18. printf("\nZu oder von einer Dezimalzahl konvertieren?\n"
  19. "\n<0> Zu\n"
  20. "<1> Von\n"
  21. "<2> Hauptmenue\n");
  22. InputOptionsMenu = usergetd("\nEingabe: ", &minInput, &maxInput);
  23. if(InputOptionsMenu == 2) break;
  24. if(InputMainMenu == 0){
  25. if(InputOptionsMenu == 0){
  26. char* toConvert = usergets("\nGeben Sie eine Zeichenkette von 0 und 1 ein: ", NULL, NULL);
  27. int result = convertBinaryStrToInt(toConvert);
  28. printf("\nAusgabe (in Dezimal): %d\n", result);
  29. }
  30. if(InputOptionsMenu == 1){
  31. int toConvert = usergetd("\nGeben Sie eine Ganzzahl ein: ", NULL, NULL);
  32. char* result = convertIntToBinaryStr(toConvert);
  33. printf("\nAusgabe (in Binaer): %s\n", result);
  34. free(result);
  35. }
  36. }
  37. if(InputMainMenu == 1){
  38. if(InputOptionsMenu == 0){
  39. char* toConvert = usergets("\nGeben Sie eine Zeichenkette im Hexadezimal-Format ein: ", NULL, NULL);
  40. int result = convertHexStrToInt(toConvert);
  41. printf("\nAusgabe (in Dezimal): %d\n", result);
  42. }
  43. if(InputOptionsMenu == 1){
  44. int rangeMin = 0;
  45. int toConvert = usergetd("\nGeben Sie eine positive Ganzzahl ein: ", &rangeMin, NULL);
  46. char* result = convertIntToHex(toConvert);
  47. printf("\nAusgabe (in Hex): %s\n", result);
  48. free(result);
  49. }
  50. }
  51. }
  52. }
  53. return 0;
  54. }