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();
}