HEXADECIMAL ONCE AGAIN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;

int main()
{
	string sveikojiDalis;
	cin >> sveikojiDalis;
	string trupmenineDalis;
	cin >> trupmenineDalis;
	string sveikasisAtsakymas;

	int countSveikoji = sveikojiDalis.length();
	int pirmas = 0;
	int antras = 0;
	for (int i = 0; i < countSveikoji; i++)
	{
		if (isxdigit(sveikojiDalis[i]))
		{
			if (sveikojiDalis[i] >= '0' && sveikojiDalis[i] <= '9')
			{
				pirmas = trupmenineDalis[i] - '0';
				switch (pirmas)
				{
				case '0':
					sveikasisAtsakymas = "0000";
					break;
				case '1':
					sveikasisAtsakymas += "0001";
					break;
				case '2':
					sveikasisAtsakymas += "0010";
					break;
				case '3':
					sveikasisAtsakymas += "0011";
					break;
				case '4':
					sveikasisAtsakymas += "0100";
					break;
				case '5':
					sveikasisAtsakymas += "0101";
					break;
				case '6':
					sveikasisAtsakymas += "0110";
					break;
				case '7':
					sveikasisAtsakymas += "0111";
					break;
				case '8':
					sveikasisAtsakymas += "1000";
				case '9':
					sveikasisAtsakymas += "1001";
					break;
				}

			}
			else
			{
				pirmas = toupper(sveikojiDalis[i]) + 10 - 'A';
				switch (pirmas)
				{
				case'10':
					sveikasisAtsakymas = "1010";
					break;
				case'11':
					sveikasisAtsakymas = "1011";
					break;
				case'12':
					sveikasisAtsakymas = "1100";
					break;
				case'13':
					sveikasisAtsakymas = "1101";
					break;
				case'14':
					sveikasisAtsakymas = "1110";
					break;
				case'15':
					sveikasisAtsakymas = "1111";
					break;
				}
			}
		}
		else
		{
			return 0;
		}
			

		cout << sveikasisAtsakymas << endl;

	}
	return 0;
}


So i have this code which purpose is to transfer from hexadecimal to binary and it has to do so with div and mod parts of the number. But right now it doesnt print anything. Do u have any idea why this might be the case?
Last edited on
'1' is not the same that 1

'13' is a multi-character literal, not what you want http://stackoverflow.com/questions/7459939/what-do-single-quotes-do-in-c-when-used-on-multiple-characters


Apart from that, I don't understand your algorithm. In line 22 you check `sveikoji' but you operate on `trupmenine'. And sometimes you add the "binary number" and sometimes you overwrite it.
Last edited on
Topic archived. No new replies allowed.