Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.07 KB | None | 0 0
  1. // include this header file so we can use `printf()`
  2. #include <stdio.h>
  3.  
  4. // every C program must implement the `main()` function
  5. int main(int argc, char *argv[]) {
  6. //TODO: check for enough arguments
  7. if (argc < 1){
  8. printf("Usage: conv <number> <base>");
  9. return;
  10. }
  11.  
  12.  
  13. // save the number in an easier-to-use variable
  14. char *number = argv[1];
  15.  
  16. //TODO: figure out how many characters in length
  17. // the base value is (1 or 2?) (optional!)
  18.  
  19. //TODO: figure out which base is given
  20. int base = argv[1];
  21.  
  22. //TODO: show an error if base is outside bounds
  23. if (base < 2 || base > 36){
  24. printf("INVALID BASE");
  25. return;
  26. }
  27.  
  28.  
  29. //TODO: figure out how many characters in length
  30. // the number is (optional!)
  31.  
  32. //TODO: calculate the decimal number of the
  33. // given value in
  34. int i;
  35. for(i = 0; i < argc; i++){
  36. switch(argv[0]){
  37. case '1':
  38. number = (int) 1;
  39. break;
  40. case '2':
  41. number = (int) 2;
  42. break;
  43. case '3':
  44. number = (int) 3;
  45. break;
  46. case '4':
  47. number = (int) 4;
  48. break;
  49. case '5':
  50. number = (int) 5;
  51. break;
  52. case '6':
  53. number = (int) 6;
  54. break;
  55. case '7':
  56. number = (int) 7;
  57. break;
  58. case '8':
  59. number = (int) 8;
  60. break;
  61. case '9':
  62. number = (int) 9;
  63. break;
  64. case 'A':
  65. number = (int) 10;
  66. break;
  67. case 'B':
  68. number = (int) 11;
  69. break;
  70. case 'C':
  71. number = (int) 12;
  72. break;
  73. case 'D':
  74. number = (int) 13;
  75. break;
  76. case 'E':
  77. number = (int) 14;
  78. break;
  79. case 'F':
  80. number = (int) 15;
  81. break;
  82. case 'G':
  83. number = (int) 16;
  84. break;
  85. case 'H':
  86. number = (int) 17;
  87. break;
  88. case 'I':
  89. number = (int) 18;
  90. break;
  91. case 'J':
  92. number = (int) 19;
  93. break;
  94. case 'K':
  95. number = (int) 20;
  96. break;
  97. case 'L':
  98. number = (int) 21;
  99. break;
  100. case 'M':
  101. number = (int) 22;
  102. break;
  103. case 'N':
  104. number = (int) 23;
  105. break;
  106. case 'O':
  107. number = (int) 24;
  108. break;
  109. case 'P':
  110. number = (int) 25;
  111. break;
  112. case 'Q':
  113. number = (int) 26;
  114. break;
  115. case 'R':
  116. number = (int) 27;
  117. break;
  118. case 'S':
  119. number = (int) 28;
  120. break;
  121. case 'T':
  122. number = (int) 29;
  123. break;
  124. case 'U':
  125. number = (int) 30;
  126. break;
  127. case 'V':
  128. number = (int) 31;
  129. break;
  130. case 'W':
  131. number = (int) 32;
  132. break;
  133. case 'X':
  134. number = (int) 33;
  135. break;
  136. case 'Y':
  137. number = (int) 34;
  138. break;
  139. case 'Z':
  140. number = (int) 35;
  141. break;
  142. }
  143.  
  144.  
  145. }
  146. int result = 0;
  147. int length = sizeof(number);
  148. int r;
  149. for (r = length; r < 4; r--){
  150. int exp;
  151. for (int exp = 0; exp < length; exp++){
  152. result += (number[r] * pow(base, exp));
  153. }
  154. }
  155.  
  156. // print the result
  157. printf("%d\n", result);
  158.  
  159. // program completed successfully, return 0
  160. return 0;
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement