Skip to content

Commit 3ecc42e

Browse files
committed
global variables
1 parent 5504028 commit 3ecc42e

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

prog.8.14.c

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
// Program to convert a positive integer to another base
2+
3+
#include <stdio.h>
4+
5+
int convertedNumber[64];
6+
long int numberToConvert;
7+
int base;
8+
int digit = 0;
9+
10+
void getNumberAndBase (void)
11+
{
12+
printf ("Number to be converted? ");
13+
scanf ("%li", &numberToConvert);
14+
15+
printf ("Base? ");
16+
scanf ("%i", &base);
17+
18+
if ( base < 2 || base > 16 ) {
19+
printf ("Bad base - must be between 2 and 16\n");
20+
base = 10;
21+
}
22+
}
23+
24+
void convertNumber (void)
25+
{
26+
do {
27+
convertedNumber[digit] = numberToConvert % base;
28+
++digit;
29+
numberToConvert /= base;
30+
}
31+
while ( numberToConvert != 0 );
32+
}
33+
34+
void displayConvertedNumber (void)
35+
{
36+
const char baseDigits[16] =
37+
{ '0', '1', '2', '3', '4', '5', '6', '7',
38+
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
39+
int nextDigit;
40+
41+
printf ("Converted number = ");
42+
43+
for ( --digit; digit >= 0; --digit ) {
44+
nextDigit = convertedNumber[digit];
45+
printf ("%c", baseDigits[nextDigit]);
46+
}
47+
48+
printf ("\n");
49+
}
50+
51+
int main (void)
52+
{
53+
void getNumberAndBase (void), convertNumber (void),
54+
displayConvertedNumber (void);
55+
56+
getNumberAndBase ();
57+
convertNumber ();
58+
displayConvertedNumber ();
59+
60+
return 0;
61+
}

0 commit comments

Comments
 (0)