-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtoko_roti.cpp
102 lines (88 loc) · 2.1 KB
/
toko_roti.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
91
92
93
94
95
96
97
98
99
100
101
102
#include <iostream>
#include <windows.h>
using namespace std;
typedef struct dataRoti typeinfo;
struct dataRoti{
int kode; // kode roti
string nama; // nama roti
int masa[10]; // sisa masa kadaluarsa roti, dalam hari
};
typedef struct typenode *typeptr;
struct typenode{
typeinfo info;
typeptr next;
};
typeptr awal, akhir;
void bukaToko(), sisipRoti(string namaRoti, int kodeRoti);
void pegawai(), pembeli();
int main(){
bukaToko(); //settingan awal, roti masih kosong
bool ulang=false;
do{
//system("cls");
int pilihan;
cout<<"--- MENU UTAMA ---\n";
cout<<"1. Pegawai\n";
cout<<"2. Pembeli\n";
cout<<"Pilih: "; cin>>pilihan;
system("cls");
switch(pilihan){
case 1 : pegawai(); break;
case 2 : pembeli(); break;
default: cout<<"Pilihan tidak tersedia. Pilih lagi\n";
}
char pilih;
cout<<"Kembali ke MENU UTAMA? (y/t) "; cin>>pilih;
if((pilih=='y')||(pilih=='Y')) ulang=true;
else if((pilih=='t')||(pilih=='T')) ulang=false;
} while(ulang);
}
void bukaToko(){
// membuat linked list berisi queue
// info LL: nama roti, info queue masih kosong
// buat linked list kosong
typeptr list;
list=(typenode *) malloc(sizeof(typenode));
list=NULL;
awal=list;
akhir=list;
//sisip linked list
sisipRoti("Roti Cokelat",1);
sisipRoti("Roti Susu",2);
sisipRoti("Roti Keju",3);
}
void sisipRoti(string namaRoti, int kodeRoti){
// sisip belakang
typeptr NB;
NB=(typenode *) malloc(sizeof(typenode));
NB->info.kode=kodeRoti;
NB->info.nama=namaRoti;
if(awal==NULL){
awal=NB;
akhir=NB;
}
else{
akhir->next=NB;
}
akhir=NB;
akhir->next=NULL;
}
void pegawai(){
//tampil stok roti
typeptr bantu;
bantu=awal;
while(bantu!=NULL){
cout<<bantu->info.kode <<". ";
cout<<bantu->info.nama <<endl;
for(int i=0; i<10; i++)
cout<<bantu->info.masa[i] <<endl;
bantu=bantu->next;
}
//tampil input nyetok roti & box
int pilihan;
cout<<"1. Tambah stok roti\n";
cout<<"2. Tambah stok box\n";
cout<<"0. Keluar\n";
cout<<"Pilih : "; cin>>pilihan;
}
void pembeli(){}