-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.cpp
90 lines (82 loc) · 2.24 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
81
82
83
84
85
86
87
88
89
90
#include <iostream>
#include "stack.h"
#include "welcome.h"
using namespace std;
int main()
{
// Variabel
string kalimat;
myStack S,kata1,kata2,kata3,kata4,kata5;
address P,Q;
//Program
welcomeIndo();
cout << "" <<endl;
cout << "Masukkan kalimat : ";
getline(cin, kalimat);
kalimat = kalimat + ' ';
int z = kalimat.length();
int y = 1;
createStack(S);
createStack(kata1);
createStack(kata2);
createStack(kata3);
createStack(kata4);
createStack(kata5);
for (int x =0; x<z; x++){
if (kalimat[x] != ' ' ){
createNewElmt(kalimat[x],P);
push(S,P);
}
else if (kalimat[x] == ' '){
if (y == 1){
while (!isEmpty(S)){
pop(S,P);
createNewElmt(info(P),Q);
push(kata1,Q);
}
y = y + 1;
}
else if (y == 2){
while (!isEmpty(S)){
pop(S,P);
createNewElmt(info(P),Q);
push(kata2,Q);
}
y = y + 1;
}
else if (y == 3){
while (!isEmpty(S)){
pop(S,P);
createNewElmt(info(P),Q);
push(kata3,Q);
}
y = y + 1;
}
else if (y == 4){
while (!isEmpty(S)){
pop(S,P);
createNewElmt(info(P),Q);
push(kata4,Q);
}
y = y + 1;
}
else if (y == 5){
while (!isEmpty(S)){
pop(S,P);
createNewElmt(info(P),Q);
push(kata5,Q);
}
y = y + 1;
}
}
}
bool cek = cekKalimat(kata1,kata2,kata3,kata4,kata5);
if (cek){
valid();
cout << endl << "Hasil : Kalimat Valid. Program Otomatis Keluar" << endl;
}
else {
tidakValid();
cout << endl << "Hasil : Kalimat Tidak Valid. Program Otomatis Keluar" << endl;
}
}