Professional Documents
Culture Documents
Code TK Kelompok 4
Code TK Kelompok 4
h>
#include <stdlib.h>
#include<string.h>
#include <stdbool.h>
int orderSize = 40;
int idx = 0, i;
char pilihan;
char namaMinuman[20];
char sizeMinuman[10];
char penyajian[10];
int harga,a;
}Minuman;
if(dataMinumanPtr == NULL){
printf("Error while opening dataminuman.txt oi");
exit(1);
};
while((c = fgetc(dataMinumanPtr)) != EOF){
//dummy data;
putchar(c);
};
};
printf("Silahkan memasukan nama minuman \nKopi atau Teh atau Coklat atau
Soda (Case Sensitive) \n");
if(fgets(namaMinuman, sizeof(namaMinuman), stdin) != NULL){
namaMinuman[strcspn(namaMinuman, "\n")] = 0;
if( strcmp(namaMinuman, "Kopi") == 0 ||
strcmp(namaMinuman, "Teh") == 0 ||
strcmp(namaMinuman, "Coklat") == 0 ||
strcmp(namaMinuman, "Soda") == 0
){
printf("Minuman : %s \n", namaMinuman);
printf("Silahkan memasukan ukuran minuman \nSmall atau Medium atau
Largest (Case Sensitive) \n");
if(fgets(sizeMinuman, sizeof(sizeMinuman), stdin) != NULL){
sizeMinuman[strcspn(sizeMinuman, "\n")] = 0;
if( strcmp(sizeMinuman, "Small") == 0 ||
strcmp(sizeMinuman, "Medium") == 0 ||
strcmp(sizeMinuman, "Largest") == 0
){
printf("Ukuran : %s \n", sizeMinuman);
printf("Silahkan memasukan penyajian minuman \nDingin
atau Panas atau Hangat (Case Sensitive) \n");
if(fgets(penyajian, sizeof(penyajian), stdin) != NULL)
{
penyajian[strcspn(penyajian, "\n")] = 0;
if( strcmp(penyajian, "Dingin") == 0 ||
strcmp(penyajian, "Panas") == 0 ||
strcmp(penyajian, "Hangat") == 0
){
printf("Penyajian : %s \n", penyajian);
harga = strlen(sizeMinuman) *
strlen(namaMinuman) * strlen(penyajian) * 100;
printf("Berikut total order Saudara : %d \n",
harga);
printf("\n\n\nDetail Minuman\n");
printf("\nNama Minuman : %s", namaMinuman);
printf("\nSize : %s", sizeMinuman);
printf("\nPenyajian : %s", penyajian);
printf("\nHarga : %d", harga);
printf("Apakah anda yaking dengan orderan ?
(y/n) \n");
if(scanf("%s", &pilihan) == 1){
if(strcmp(&pilihan, "y") == 0){
FILE* dataMinumanPtr =
fopen("./dataminuman.txt", "a");
if(dataMinumanPtr == NULL){
printf("Error While Opening File");
exit(1);
};
fprintf(dataMinumanPtr, "%s\n%s\n%s\n%d\
n",namaMinuman, sizeMinuman, penyajian, harga);
fclose(dataMinumanPtr);
printf("Minuman berhasil diinput \n");
printf("Pilih menu 1-4 Kembali \n");
//Rekam Order
} else {
fprintf(stdout,"Orderan Batal \nPilih Menu
1-4 Kembali \n");
return 0;
};
} else {
fprintf(stdout,"Data yang dimasukan salah \
nPilih Menu 1-4 Kembali \n");
clearStream(stdin);
fflush(stdout);
};
} else {
fprintf(stdout,"Data yang dimasukan salah \nPilih
Menu 1-4 Kembali \n");
clearStream(stdin);
fflush(stdout);
};
} else {
fprintf(stdout,"Data yang dimasukan salah \nPilih Menu 1-4
Kembali \n");
clearStream(stdin);
fflush(stdout);
};
} else {
clearStream(stdin);
fflush(stdout);
fprintf(stdout,"Data yang dimasukan salah \n Pilih Menu 1-4
Kembali \n");
}
} else {
fprintf(stdout,"Data yang dimasukan salah \n Pilih Menu 1-4 Kembali
\n");
fflush(stdout);
};
} else {
fprintf(stdout,"Data yang dimasukan salah \n Pilih Menu 1-4 Kembali \
n");
fflush(stdout);
};
} else {
fprintf(stdout,"Data yang dimasukan salah \n Pilih Menu 1-4 Kembali \n");
fflush(stdout);
};
strcpy(minuman[*Index].namaMinuman, namaMinuman);
strcpy(minuman[*Index].sizeMinuman, sizeMinuman);
strcpy(minuman[*Index].penyajian, penyajian);
minuman[*Index].harga = harga;
readData(minuman, Index);
*Index = *Index + 1;
return 0;
}
int main(void)
{
Minuman minuman[100];
int menu, index, Index = 0;
int pilihan;
bool done = false;
printf("Pilih menu--- \n");
printf("1.Input Data \n2.View History \n3.Delete History \n4.Exit \n");
while(!done){
//Validasi data
if(scanf("%d", &pilihan) == 1 && (pilihan >= 1 && pilihan <= 4)){
if(pilihan == 1){
//Aldo
nomorSatu(minuman, &Index);
} else if(pilihan == 2){
//Tinggal rapiin data guys kasih output Nama Minuman: blabla
viewHistory(minuman, Index);
printf("\n Pilih Menu 1-4 Kembali \n");
} else if(pilihan == 3){
done = true;
} else if(pilihan == 4){
done = true;
};
} else {
printf("pilih 1-4 aja");
clearStream(stdin);
fflush(stdout);
};
};
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char nama[30];
char size[30];
char penyajian[30];
float harga;
}Minuman;
void readFile(Minuman *minuman, int *currentIndex){
FILE *f = fopen("dataminuman.txt","r");
while (fscanf(f,"%[^#]#%[^#]#%[^#]#%f\
n",minuman[*currentIndex].nama,
minuman[*currentIndex].size, minuman[*currentIndex].penyajian,
&minuman[*currentIndex].harga)!=EOF){
*currentIndex = *currentIndex + 1;
}
fclose(f);
}
void saveFile(Minuman minuman[], int currentIndex){
FILE *f = fopen("dataminuman.txt","w");
COMP6599 – Algorithm and Programming
int i;
for(i=0; i<=currentIndex; i++){
fprintf(f,"%s#%s#%s#%f\n",minuman[i].nama, minuman[i].size,
minuman[i].penyajian, minuman[i].harga);
}
fclose(f);
}
int inputDataMinuman(Minuman *minuman, int *currentIndex){
system("cls");
int i;
char nama[30];
char size[30];
char penyajian[30];
float harga;
char choose;
printf("Input Data Minuman\n\n");
while(1) {
printf("\nNama Minuman (kopi/teh/coklat/soda) : ");
scanf("%s", &nama);
if(strcmp(strlwr(nama), "kopi") == 0 || strcmp(strlwr(nama), "teh") ==
0 ||
strcmp(strlwr(nama), "coklat") == 0 || strcmp(strlwr(nama), "soda")
== 0){
break;
} else {
COMP6599 – Algorithm and Programming
printf("\nTolong masukkan pilihan minuman sesuai yang tesedia.");
}
}
while(1) {
printf("\nSize Minuman (small/medium/largest) : ");
scanf("%s", &size);
if(strcmp(strlwr(size), "small") == 0 || strcmp(strlwr(size), "medium")
== 0 ||
strcmp(strlwr(size), "largest") == 0){
break;
} else {
printf("\nTolong masukkan pilihan ukuran sesuai yang tesedia.");
}
}
while(1) {
printf("\nPenyajian Minuman (dingin/panas/hangat) : ");
scanf("%s", &penyajian);
if(strcmp(strlwr(penyajian), "dingin") == 0 || strcmp(strlwr(penyajian),
"panas") == 0 || strcmp(strlwr(penyajian), "hangat") == 0){
break;
} else {
printf("\nTolong masukkan pilihan penyajian sesuai yang tesedia.");
}
}
inputDataMinuman(&minuman, ¤tIndex);
break;
case 2:
viewHistory(minuman, currentIndex);
break;
case 3:
printf("Index/No Minuman yang Ingin dihapus : ");
scanf("%d", &index);
if (index > currentIndex){
printf("\n\nIndex yang dimasukkan diluar range!
Current index : %d", currentIndex);
getch();
} else {
deleteHistory(&minuman, ¤tIndex, index);
}
break;
case 4:
break;
}
}while(menu!=4);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include <stdbool.h>
int orderSize = 40;
int idx = 0;
void readData(){
FILE *dataMinumanPtr;
FILE *dataMinumanPtr2;
char db[2320];
char c;
char c2;
int count = 0;
dataMinumanPtr = fopen("./dataminuman.txt", "r+");
dataMinumanPtr2 = fopen("./dataminuman.txt", "r+");
if(dataMinumanPtr == NULL){
printf("Error while opening dataminuman.txt oi");
exit(1);
};
for (c2 = getc(dataMinumanPtr2); c2 != EOF;
c2 = getc(dataMinumanPtr2))
if (c2 == '\n')
count = count + 1;
if(c=='\n'){
break;
}
};
}
printf("\n");
}
int nomorSatu(){
clearStream(stdin);
char pilihan;
char namaMinuman[20];
char sizeMinuman[10];
char penyajian[10];
int harga;
bool done = false;
printf("Silahkan memasukan nama minuman \nKopi atau Teh atau Coklat atau
Soda (Case Sensitive) \n");
if(fgets(namaMinuman, sizeof(namaMinuman), stdin) != NULL){
namaMinuman[strcspn(namaMinuman, "\n")] = 0;
if( strcmp(namaMinuman, "Kopi") == 0 ||
strcmp(namaMinuman, "Teh") == 0 ||
strcmp(namaMinuman, "Coklat") == 0 ||
strcmp(namaMinuman, "Soda") == 0
){
printf("Minuman : %s \n", namaMinuman);
printf("Silahkan memasukan ukuran minuman \nSmall atau Medium atau
Largest (Case Sensitive) \n");
if(fgets(sizeMinuman, sizeof(sizeMinuman), stdin) != NULL){
sizeMinuman[strcspn(sizeMinuman, "\n")] = 0;
if( strcmp(sizeMinuman, "Small") == 0 ||
strcmp(sizeMinuman, "Medium") == 0 ||
strcmp(sizeMinuman, "Largest") == 0
){
printf("Ukuran : %s \n", sizeMinuman);
printf("Silahkan memasukan penyajian minuman \nDingin
atau Panas atau Hangat (Case Sensitive) \n");
if(fgets(penyajian, sizeof(penyajian), stdin) != NULL)
{
penyajian[strcspn(penyajian, "\n")] = 0;
if( strcmp(penyajian, "Dingin") == 0 ||
strcmp(penyajian, "Panas") == 0 ||
strcmp(penyajian, "Hangat") == 0
){
printf("Penyajian : %s \n", penyajian);
harga = strlen(sizeMinuman) *
strlen(namaMinuman) * strlen(penyajian) * 100;
printf("Berikut total order Saudara : %d \n",
harga);
printf("Apakah anda yaking dengan orderan ?
(y/n) \n");
if(scanf("%s", &pilihan) == 1){
if(strcmp(&pilihan, "y") == 0){
FILE* dataMinumanPtr =
fopen("./dataminuman.txt", "a");
if(dataMinumanPtr == NULL){
printf("Error While Opening File");
exit(1);
};
fprintf(dataMinumanPtr, "%s\n%s\n%s\n%d\
n",namaMinuman, sizeMinuman, penyajian, harga);
fclose(dataMinumanPtr);
printf("Minuman berhasil diinput \n");
printf("Pilih menu 1-4 Kembali \n");
//Rekam Order
} else {
fprintf(stdout,"Orderan Batal \nPilih Menu
1-4 Kembali \n");
return 0;
};
} else {
fprintf(stdout,"Data yang dimasukan salah \
nPilih Menu 1-4 Kembali \n");
clearStream(stdin);
fflush(stdout);
};
} else {
fprintf(stdout,"Data yang dimasukan salah \nPilih
Menu 1-4 Kembali \n");
clearStream(stdin);
fflush(stdout);
};
} else {
fprintf(stdout,"Data yang dimasukan salah \nPilih Menu 1-4
Kembali \n");
clearStream(stdin);
fflush(stdout);
};
} else {
clearStream(stdin);
fflush(stdout);
fprintf(stdout,"Data yang dimasukan salah \n Pilih Menu 1-4
Kembali \n");
}
} else {
fprintf(stdout,"Data yang dimasukan salah \n Pilih Menu 1-4 Kembali
\n");
fflush(stdout);
};
} else {
fprintf(stdout,"Data yang dimasukan salah \n Pilih Menu 1-4 Kembali \
n");
fflush(stdout);
};
} else {
fprintf(stdout,"Data yang dimasukan salah \n Pilih Menu 1-4 Kembali \n");
fflush(stdout);
};
};
int main(void) {
int pilihan;
bool done = false;
printf("Pilih menu--- \n");
printf("1.Input Data \n2.View History \n3.Delete History \n4.Exit \n");
while(!done){
//Validasi data
if(scanf("%d", &pilihan) == 1 && (pilihan >= 1 && pilihan <= 4)){
if(pilihan == 1){
//Aldo
nomorSatu();
} else if(pilihan == 2){
//Tinggal rapiin data guys kasih output Nama Minuman: blabla
readData();
printf("Pilih Menu 1-4 Kembali \n");
} else if(pilihan == 3){
done = true;
} else if(pilihan == 4){
done = true;
};
} else {
printf("pilih 1-4 aja");
clearStream(stdin);
fflush(stdout);
};
};
return 0;
}