Kamis, 01 April 2010

Kuis 4 From Aslab

//Ini Queue...
// Masi rada ca"d.. tp biarlah.. :P

#include
#include
#include

struct data{
char nama[20];
char dress[20];
int price;
int no;
struct data *next;
}*head,*tail,*curr;

void bersih()
{
int i;
for(i=0;i<25;i++)printf("\n"); no="1;" curr="(struct">nama,nama);
strcpy(curr->dress,dress);
curr->price=price;
curr->no=no;
no++;

do{
printf("Input costumer's name [3..20] : ");
scanf("%s",curr->nama);fflush(stdin);
}while(strlen(curr->nama)<3||strlen(curr->nama)>20);
do{
printf("Input dress name [3..20] : ");
scanf("%s",curr->dress);fflush(stdin);
}while(strlen(curr->dress)<3||strlen(curr->dress)>20);
do{
printf("Input dress price [$50..$999] : ");
scanf("%d",&curr->price);fflush(stdin);
}while(curr->price<50||curr->price>999);

printf("\n\n--- Success to Ad Customer into Queue List ---");

if(head==NULL)
{
head=tail=curr;
}
else
{
tail->next=curr;
tail=curr;
}
tail->next=NULL;
}

void cetak()
{
curr=head;

printf("---QUEUE VIEW---\n\n");

if(curr!=NULL)
{
printf("--------.-----------------------.---------------.------.\n");
printf("|NO\t|Costumer's name\t|dress name\t|price\t|\n");
printf("--------.-----------------------.---------------.------.\n");

while(curr!=NULL)
{
printf("|%d\t|%s\t\t\t|%s\t\t|%d\t|\n",curr->no,curr->nama,curr->dress,curr->price);
curr=curr->next;
}
printf("--------.-----------------------.---------------.------.");
}

else
{
printf("<>");
}
}

void pop()
{
curr=head;
printf("---%s Has Been Served---",curr->nama);
head=head->next;
free(curr);
curr=head;

}

void main()
{
int pilih;

do{

do{
bersih();
printf("BLUE DRESS SHOP CASHIER QUEUE\n");
printf("#############################\n\n");
printf("1. View Queue\n");
printf("2. Add Customer to Queue\n");
printf("3. Serve Customer\n");
printf("4. Exit\n");
printf("\n>>Input choise : ");
scanf("%d",&pilih);fflush(stdin);
}while(pilih<1||pilih>4);

switch(pilih)
{
case 1 : bersih();cetak();getchar();break;
case 2 : bersih();push();getchar();break;
case 3 : bersih();pop();getchar();break;
}
}while(pilih!=4);


getchar();
}

Kamis, 25 Maret 2010

Ular

// Ular yang makan huruf dari A kemudian B, dan seterusnya.
// Dibuat untuk memenuhi tugas dari Bapak Partogi.. YEAHH!! Love it..
// Tiba" waktu sakit dapet pencerahan.. haha..

#include
#include
#include
#include

int angka;
int x1=1;
int y1=1;


struct data{
int x;
int y;
int hrf;
int warna;
struct data *next,*prev;
}*head,*tail,*curr;

void delay()
{
for (int i=0;i<=50000000;i++);
}

void pushhuruf() // Memasukkan koordinat warna dan huruf kedalam linked list
{
int x;
int y;
int hrf=65;
int warna;

srand(time(NULL));

do{
printf("Masukkan angka [3...26] : ");
scanf("%d",&angka);fflush(stdin);
}while(angka<3||angka>26);

clrscr();

for(int i=1;i<=angka;i++)
{
curr=(struct data*)malloc(sizeof(struct data));
x=rand()%80+1;
y=rand()%25+1;
warna=rand()%15;

curr->x = x;
curr->y = y;
curr->hrf = hrf;
hrf++;
curr->warna = warna;

if(head==NULL)
head=tail=curr;
else{
tail->next=curr;
curr->prev=tail;
tail=curr;
}
}
head->prev=tail->next=NULL;
}

void cetak() // mencetak output huruf yang udah masuk linked list
{
curr=head;
while(curr!=NULL)
{
gotoxy(curr->x,curr->y);
textcolor(curr->warna);
cprintf("%c",curr->hrf);
curr=curr->next;
}
}

void pop() //Menghapus Data yang sudah di makan Ular
{
if(x1==head->x && y1==head->y)
{
head=head->next;
free(curr);
curr=head;
//head->prev=NULL;
}
}

void jalan() //Menjalankan ular untuk mencari koordinatnya
{
do
{
//cetak();
curr=head;
if(x1x)
{
for(int j=x1;jx;j++)
{
x1++;
gotoxy(x1,y1);
printf(">");
gotoxy(x1-1,y1);
printf(" ");
delay();
printf(" ");
cetak();
}
pop();
}
else if(x1>head->x)
{
for(int j=x1;j>head->x;j--)
{
x1--;
gotoxy(x1,y1);
printf("<");
gotoxy(x1+1,y1);
printf(" ");
delay();
printf(" ");
cetak();
}
pop();
}
if(y1y)
{
for(int k=y1;ky;k++)
{
y1++;
gotoxy(x1,y1);
printf("V");
gotoxy(x1,y1-1);
printf(" ");
delay();
printf(" ");
cetak();
}
}
else if(y1>head->y)
{
for(int k=y1;k>head->y;k--)
{

y1--;
gotoxy(x1,y1);
printf("^");
gotoxy(x1,y1+1);
printf(" ");
delay();
printf(" ");
cetak();
}
}

pop();
}while (curr!=NULL);


if(curr==NULL)
{
clrscr();
gotoxy(35,10);
printf("GAME OVER");
}
}


void main()
{
pushhuruf();
jalan();


getchar();
}

Minggu, 20 Desember 2009

Proyek semester

// Kuis untuk anak SD
// Dibuat untuk proyek Semester 1..

#include
#include
#include
#include
#include

int r(int);
void hasil();
int count[4];
int s[3][40];
char nama[25];

void delay(int x)
{
for(int i=0;i<=x;i++)for(int j=0;j<=x;j++);
}

void waktu() //Mencetak waktunya
{
int a=33+6;
int b=10+1;
gotoxy(a,b);for (int i=1;i<=10;i++)printf("%c",177);
for(int i=a;i<=a+9;i++)
{
gotoxy(i,b);
printf(".");
delay(50000);
}
}


int r(int d) // ini cetak soalnya
{
int a,b,j,jwb;
srand(time(NULL));

textcolor(10);
gotoxy(33,3);cprintf("LATIHAN BERHITUNG");
gotoxy(35,4);cprintf("-1301029983-");
gotoxy(33,5);cprintf("=================");
gotoxy(33,10);printf("Soal :");
gotoxy(33,11);printf("waktu:");
gotoxy(40,11);for (int i=1;i<=10;i++)printf("%c",177);
textcolor(10);
gotoxy(31,15);cprintf("Tekan sembarang tombol!");

if (d==1)
{
textcolor(14);
gotoxy(31,7);clreol();cprintf("Penambahan[10soal]");
getch();
gotoxy(31,15);clreol();
for (int i=1;i<=10;i++)
{
a=rand()%20+1;
b=rand()%20+1;
gotoxy(31,7);clreol();printf("\t %d dari 10 soal",i);
gotoxy(33,10);clreol();printf("Soal :%d+%d = ",a,b);
scanf("%d",&jwb);fflush(stdin);
j=a+b;
s[0][i-1]=a;
s[1][i-1]=b;
s[2][i-1]=jwb;
if (jwb==j)
count[0]++;
printf("\a");
}
}

if(d==2)
{
textcolor(14);
gotoxy(31,7);clreol();cprintf("Pengurangan[10soal]");
getch();
gotoxy(31,15);clreol();
for (int i=1;i<=10;i++)
{
a=rand()%20+1;
b=rand()%20+1;
gotoxy(31,7);clreol();printf("\t %d dari 10 soal",i);
gotoxy(33,10);clreol();printf("Soal :%d-%d = ",a,b);
scanf("%d",&jwb);fflush(stdin);
j=a+b;
s[0][i-1+10]=a;
s[1][i-1+10]=b;
s[2][i-1+10]=jwb;
if (jwb==j)
count[1]++;
}
}

if(d==3)
{
textcolor(14);
gotoxy(31,7);clreol();cprintf("Perkalian[10soal]");
getch();
gotoxy(31,15);clreol();
for (int i=1;i<=10;i++)
{
a=rand()%20+1;
b=rand()%20+1;
gotoxy(31,7);clreol();printf("\t %d dari 10 soal",i);
gotoxy(33,10);clreol();printf("Soal :%d*%d = ",a,b);
scanf("%d",&jwb);fflush(stdin);
j=a+b;
s[0][i-1+20]=a;
s[1][i-1+20]=b;
s[2][i-1+20]=jwb;
if (jwb==j)
count[2]++;
}
}

if(d==4)
{
textcolor(14);
gotoxy(31,7);clreol();cprintf("Pembagian[10soal]");
getch();
gotoxy(31,15);clreol();
for (int i=1;i<=10;i++)
{
a=rand()%20+1;
b=rand()%20+1;
gotoxy(31,7);clreol();printf("\t %d dari 10 soal",i);
gotoxy(33,10);clreol();printf("Soal :%d/%d = ",a,b);
scanf("%d",&jwb);fflush(stdin);
j=a+b;
s[0][i-1+30]=a;
s[1][i-1+30]=b;
s[2][i-1+30]=jwb;
if (jwb==j)
count[3]++;
}
}
}

void nama() // ini inputan nama pemain
{
textcolor(10);
gotoxy(33,3);cprintf("LATIHAN BERHITUNG");
gotoxy(35,4);cprintf("-1301029983-");
gotoxy(33,5);cprintf("=================");
gotoxy(33,10);printf("Nama :");
scanf("%s",nama);fflush(stdin);
clrscr();
}


void hasil() // Hasil yang di peroleh dan nilai totalnya
{
for (int i=0;i<=3;i++)
printf("nilai: %d",count[i]);
}

void tabel()
{
int a,b,j,jwb;


printf("Penambahan | Pengurangan | Perkalian | Pembagian|");
for (int i=1;i<=10;i++)
{
gotoxy(2,2+i);printf("%-2d + %-2d = %-2d\n",s[0][i-1],s[1][i-1],s[2][i-1]);
gotoxy(15,2+i);printf("%-2d - %-2d = %-2d\n",s[0][i-1+10],s[1][i-1+10],s[2][i-1+10]);
gotoxy(30,2+i);printf("%-2d * %-2d = %-2d\n",s[0][i-1+20],s[1][i-1+20],s[2][i-1+20]);
gotoxy(45,2+i);printf("%-2d : %-2d = %-2d\n",s[0][i-1+30],s[1][i-1+30],s[2][i-1+30]);
}

}



void main()
{
nama();
r(1);
r(2);
r(3);
r(4);
clrscr();
tabel();
hasil();

getchar();
}