Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

#include

#include
#include
#include

<stdio.h>
<string.h>
<ctype.h>
<stdlib.h>

void tukar(int *a, int *b){


int c;
c = *a;
*a = *b;
*b = c;
}
void tukarstring(char *a, char *b){
char c[100];
strcpy (c,a);
strcpy (a,b);
strcpy (b,c);
}
struct movie{
char judul[100];
int jam;
int menit;
int seat;
}m[100];

void menu (){


printf("Bluejack Theater\n");
printf("=================\n");
printf("1. Movie List\n");
printf("2. Sort ascending by airtime\n");
printf("3. Sort descending by movie tittle\n");
printf("4. Add movie\n");
printf("5. Ticket reservation\n");
printf("6. exit\n\n");
printf("Input your choice [1..6] : ");
}
void main(){
int index=0, pilih, i, j, seat1;
char search[100];
FILE *in,*out;
in = fopen("soal11.txt", "r");
if (!in){
printf("can't read the file");
exit (0);
}
while (!feof(in)){
fscanf(in, "%s %d.%d %d", &m[index].judul, &m[index].jam, &m[index].menit,
&m[index].seat);
index ++;

}fclose(in);

do{
menu();
scanf("%d", &pilih);
fflush(stdin);
switch(pilih){
case 1:
printf("\t\t -----=Movie List=----\n");
printf("+++++++++++++++++++++++++++\n\n");
printf("No. Movie tittle \t: Airtime \t: Available_seat\n");
printf("=========================================================\n");
for(i=0; i<index; i++)
printf("%d : %-20s : %6d.%-4d : %-15d\n", i+1, m[i].judul,
m[i].jam, m[i].menit, m[i].seat);
printf("=========================================================\n\n");
printf("press enter to continue...\n");
getchar();
break;
case 2:
for(i=0; i<index; i++)
for(j=index-1; j>=i; j--)
if(m[j].jam < m[j-1].jam){
tukar (&m[j].jam, &m[j-1].jam);
tukar (&m[j].menit, &m[j-1].menit);
tukar (&m[j].seat, &m[j-1].seat);
tukarstring (m[j].judul, m[j-1].judul);
}
printf("\nsuccesfully sort...\n\n");
printf("to view movie list : Menu '1' \n\n");
printf("press enter to continue...");
getchar();
break;
case 3:
for(i=0; i<index; i++)
for(j=index-1; j>=i; j--)
if(m[j].judul < m[j-1].judul){
tukar (&m[j].jam, &m[j-1].jam);
tukar (&m[j].menit, &m[j-1].menit);
tukar (&m[j].seat, &m[j-1].seat);
tukarstring (m[j].judul, m[j-1].judul);
}
printf("\nsuccesfully sort...\n\n");
printf("to view movie list : Menu '1' \n\n");
printf("press enter to continue...");
getchar();
break;
case 4:
do{
printf("insert new movie title [1..10 char] : ");
scanf("%s", &m[index].judul);
fflush(stdin);

}while(strlen(m[index].judul) < 1 || strlen (m[index].judul) > 10);


do{
printf("insert airtime movie <hour> [0..23] : ");
scanf("%d", &m[index].jam);
fflush(stdin);
}while(m[index].jam<0 || m[index].jam>23);
do{
printf("insert airtime movie <minute. [0..59] : ");
scanf("%d", &m[index].menit);
fflush(stdin);
}while(m[index].menit <0 || m[index].menit >59);
index++;
printf("succesfully add movie\n\n");
printf("press enter to continue...\n");
getchar();
break;
case 5:
/*do{
printf("insert movie titles that will be ordered [1..20
kar]");
scanf("%s", &search);
fflush(stdin);
}while(strlen(search)<1 || strlen(search)>20);
do{
printf("insert number of movie that will be ordered [1..%d]",
m[);
scanf("%d", &seat1);
fflush(stdin);
}while(seat1<1 || seat1>100);
for(i=0; i<index; i++)
if(strstr (m[i].judul, search) <0){
m[i].seat -= seat1;
}*/
break;
}
}while (pilih!=6);
out = fopen("soal11.txt", "w");
if (!out){
printf("can't read soal11.txt");
exit (0);
}
for(i=0; i<index; i++){
if(i==index-1)
fprintf (out,"%s %d.%d %d", &m[i].judul, &m[i].jam, &m[i].menit,
&m[i].seat);
else
fprintf (out,"%s %d.%d %d\n", &m[i].judul, &m[i].jam, &m[i].menit,
&m[i].seat);

}
fclose (out);
}

You might also like