Program Multi Aplikasi dengan Bahasa C


Assalamu'alaikum.. Selamat untuk semua waktu.. :D

Pada kesempatan kali ini, izinkan saya untuk berbagi sedikit ilmu kepada para pengunjung mengenai program multi aplikasi yang mana terdiri dari beberapa aplikasi, seperti program konversi bilangan desimal ke biner, program mencari rata-rata, program mencetak bentuk permata(diamond) dan program kalkulator sederhana.

Berikut listing programnya..
-------------------------------------------------------------------------------------------------------------
# include <stdio.h>
# include <conio.h>
# include <windows.h>

void SetColor(unsigned short color)
{
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon,color);
}

int bin[8];
void Calculator();
void Convertion();
void Average();
void Diamond();

int main()
{
    int NomorMenu;
    int n;
    int select;



char *p[100];
p[0]= "\t\t==============PROGRAM MULTI APPLICATION==============\n\n";
p[1]= "\t\t=====================================================\n";

printf(p[0]);
        SetColor(6);
        start:
        printf(" --------------------------\n");
        printf("    Menu Program Multi Application     \n\n");
        printf("   1. Program Kalkulator Sederhana            \n");
        printf("   2. Program Konversi Desimal ke Biner          \n");
        printf("   3. Program Rata-rata         \n");
        printf("   4. Program Diamond          \n");
        printf("   5. Keluar program         \n\n");
        printf("   0  Kembali ke menu utama  \n");
        printf(" --------------------------\n");
        SetColor(7);
        printf("\nMasukkan pilihan Anda (1/2/3/4/5)? ");
        scanf("%d", &NomorMenu);

        switch (NomorMenu)
    {
          case 1 :  {
                    printf("\n\t\tProgram Kalkulator Sederhana\n");
                    printf("\t\t============================\n\n");
                    Calculator();
                    break;
                    }

           case 2 : {
                    printf("\n\t\tProgram Konversi Desimal ke Biner\n");
                    printf("\t\t=================================\n\n");
                    Convertion();
                    break;
                    }

          case 3 :  {
                    printf("\n\t\tProgram Menghitung Rata-rata\n");
                    printf("\t\t============================\n\n");
                    Average();
                    break;
                    }
          case 4 : {
                    printf("\n\t\tProgram Diamond\n");
                    printf("\t\t===============\n\n");
                    Diamond();
                    break;
                   }
          case 5 : goto doom;
                   break;
          default : printf("Pilihan Anda tidak ada dalam Menu Multi Application");
    }
printf("\n\n");
SetColor(3);
 printf("Tekan 0 untuk kembali ke menu utama, \n");
 printf("atau sembarang angka untuk keluar program ");
 scanf("%d",&select);
printf("\n\n");
SetColor(7);
printf(p[1]);
 if (select==0)
 {
 goto start;
 }
 else
 doom:
 printf("\n\n");
 SetColor(9);
 printf("\t\t\t      Anda Keluar dari program\n");
 printf("\t\t\t             Thank you ^_^\n\n");
 return 0;
}

void Calculator()
{
 float op1, op2, result;
 char oprt;
 int j, k;
 float p=1; float i=1;

 printf("Silahkan masukkan operand-operand dan operator perhitungan!\n\n");
 printf("------------------------------------------------\n");
 printf("Navigasi:\n\n");
 printf("operand 1 = semua angka, operand 2 = semua angka\n");
 printf("operator * --> kali\n");
 printf("operator / --> bagi\n");
 printf("operator + --> tambah\n");
 printf("operator - --> kurang\n");
 printf("operator ^ --> pangkat\n");
 printf("------------------------------------------------\n\n");

 printf("Operand 1: "); scanf("%f", &op1);
 printf("Operator : ");  scanf("%s", &oprt);
 printf("Operand 2: "); scanf("%f", &op2);


 switch (oprt){
 case '+' : result = (op1 + op2); break;
 case '-' : result = (op1 - op2); break;
 case '*' : result = (op1 * op2); break;
 case '/' : if (op2 != 0){
            result = (op1 / op2);
            goto minidoom;
           }
            else
            printf("\nCannot divided by zero!");
            return (EXIT_SUCCESS);
 case '^' : while (i<=op2){
            p = p * op1;
            i++;
            }
            goto minidoom2;
 default  : printf("\nNothing Happen!");
 }
minidoom:
printf("\nLoading: ");
for (j=7; j>0; j--){
        for(k=1; k<100000000; k++){
        }
    printf("*");
}

printf("\n\n   Output");
printf("\n-------------");
printf("\n%5.2f",result);
printf("\n-------------");
return (EXIT_SUCCESS);

minidoom2:
printf("\nLoading: ");
for (j=7; j>0; j--){
        for(k=1; k<100000000; k++){
        }
    printf("*");
}

printf("\n\n   Output");
printf("\n-------------");
printf("\n%5.2f", p);
printf("\n-------------");
}

void Convertion()
{
short int x;

printf("Silahkan masukkan angka desimal! ");
scanf("%d",&x);
FindBinary(x);
}

void Average()
{
int i, n, nilai[9999], total;
float rata2;
int j, k;

printf("Silahkan masukkan jumlah data yang diinginkan! ");
scanf("%d", &n);

printf("\n         Input\n");
printf("------------------------");
for(i=1; i<=n; i++) {
printf("\nMasukkan nilai ke-%i : ",i);
scanf("%i",&nilai[i]);
}
printf("------------------------\n");
total=0;
for(i=1; i<=n; i++)
total+=nilai[i];
rata2=total/n;

printf("\nLoading: ");
for (j=7; j>0; j--){
        for(k=1; k<100000000; k++){
        }
    printf("*");
}

printf("\n\n         Output\n");
printf("------------------------");
printf("\nTotal : %i\n",total);
printf("Rata-rata : %5.2f\n",rata2);
printf("------------------------");
getch();
}

void Diamond(){
int i, j, k;
printf("Masukkan sebuah angka! ");
scanf("%d", &i);

printf("\nLoading: ");
for (j=7; j>0; j--){
        for(k=1; k<100000000; k++){
        }
    printf("*");
}

printf("\n\n     Output\n");
printf("----------------\n");
SetColor(2);
i = i + 2;
for (j = 1; j <= i; j++){
             if(j % 2 == 1){
                 for (k = 1; k <= ((i-j)/2); k++ ){
                     printf(" ");
                 }
                 for (k = 1; k <= j; k++){
                     printf("*");
                 }
                 printf("\n");
             }
         }
 for (j = i-2; j >= 1; j--){
             if(j % 2 == 1){
                 for (k = ((i-j)/2); k >= 1; k--){
                     printf(" ");
                 }
                 for (k = j; k>=1; k--){
                     printf("*");
                 }
            printf("\n");
             }
         }
SetColor(7);
printf("----------------");
}

void FindBinary(int x)
{

int j, hasil, i, k;

i = 8;
if (x<0){
printf("Maaf, bilangan desimal negatif tidak dapat dikonversi dengan program ini!\n");
}
else {
while (x>0)
{
hasil=x%2;
x=(x-hasil)/2;
i--;
bin[i]=hasil;
}

printf("\nLoading: ");
for (j=7; j>0; j--){
        for(k=1; k<100000000; k++){
        }
    printf("*");
}

printf("\n\n");
printf("    Output\n");
printf("--------------\n");
for (j=0; j<=7; j++){
printf("%d", bin[j]);
if ((j+1) % 4 == 0)
printf(" ");
}
}
printf("\n--------------");

}
--------------------------------------------------------------------------------------------------------------

Dan bagi yang mau dengan file .C nya juga boleh langsung diambil..
Download
Terima kasih telah berkunjung.. ^_^



No comments

No comments :

Post a Comment