forked from eest9/trit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.cpp
80 lines (76 loc) · 1.55 KB
/
main.cpp
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
#include <iostream>
#include "ternary.h"
#include <limits>
#include <cstdlib>
#include <cstring>
using namespace std;
int main( int argc, char *argv[] )
{
int trytelength=11;
short byte=0;
short tryte[trytelength];
bool once=false;
bool verbose=false;
bool cset=false;
if ( argc > 1 ) {
for (int i = 1; i < argc; i++) {
if ( strcmp(argv[i], "-v") == 0 ) {
verbose=true;
}
else {
once=true;
cset=true;
byte=atoi(argv[i]);
}
}
}
do{
if (!cset) {
cout << "Eingabe: ";
cin >> byte;
}
if(cin.fail()) {
if(cin.eof()) {
cout << endl;
return 0;
}
cout << "Eingabe ungültig" << endl;
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(),'\n');
}else{
if (verbose) cout << "Dezimal: " << byte << endl;
var_to_tryte(byte, tryte);
if (verbose) {
cout << "Ternär Bal.: ";
for(char i=0;i<11;i++)
{
cout << tryte[i] << " ";
}
cout << endl;
cout << "Ternär Bal.: ";
}
bool lzero = true;
for(char i=0;i<11;i++)
{
if(tryte[i]==-1)
{
cout << "-";
lzero = false;
}
if(tryte[i]==1)
{
cout << "+";
lzero = false;
}
if(tryte[i]==0 && (!lzero || i == trytelength - 1))
{
cout << "0";
}
}
cout << endl;
byte++;
}
if (once) return 0;
}while(1);
return 0;
}