Program C : Menyimpan & Menampilkan Data di Database Sederhana (.txt)

Pada postingan kali ini, saya akan membahas program yang saya buat untuk Tugas Akhir Semesteran :D yaitu menghitung dan menyimpan riwayat BMI(Body Mass Index) dengan menggunakan Notepad(file .txt) sebagai database..Data-data yang diinputkan yaitu berupa tinggi badan dan berat badan. Nantinya, output yang dihasilkan yaitu :
    -Waktu anda menginputkan data
    -BMI/Body Mass Index anda
    -Keterangan apakah tubuh anda kurus, normal. ideal, kegemukan atau obesitas
Selanjutnya Input dan Output tersebut akan disimpan di notepad(format .txt) yang nantinya dapat diakses melalui menu "2. Riwayat BMI".
Perintah yang digunakan untuk menambahkan data adalah "a"  pada saat kita membuka pointer file ke database. Lalu untuk menampilkan data digunakan perintah "r" .txt nya. Sementara, untuk menghapus semua data digunakan perintah "w".

Tampilan program :
Source Code :

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <time.h>

int main ()
{int menu;
float bmi, tb, bb;
FILE *pf;
char kar, again='y';
char ket[10];
time_t mytime;
mytime = time(NULL);


do {system("cls");
printf("\t\t\t\tProgram Hitung BMI\n");
printf("\t\t\t\t------------------\n\n");
printf("MENU\n");
printf("\t1. Hitung BMI Minggu Ini\n\t2. Riwayat BMI\n\t3. Hapus Riwayat\n\t4. Exit\n");
printf("\nMasukan Pilihan Anda : ");
scanf("%d",&menu);
switch (menu)

    {case 1 :

    {system("cls");
    if((pf=fopen("BMI.txt","a"))== NULL)
        {printf("file gagal diciptakan!\n");
        exit(1);}
     
        printf("Berat Badan (kg)    : ");
        scanf("%f",&bb);
        printf("Tinggi Badan (cm)   : ");
        scanf("%f",&tb);

        bmi = bb/(tb*tb*0.0001);
        printf("\nBMI Anda Saat Ini   : ");
        printf("%-5.2f", bmi);
     
        fprintf(pf,"%-14.1f%-14.1f%-14.2f", bb, tb, bmi);
        printf("\nTubuh Anda Saat Ini : ");
        if(bmi>=40) {printf("Obesitas\n"); fprintf(pf, "Obesitas     ");}
        else
if(bmi>=25) {printf("Kegemukan\n"); fprintf(pf,"Kegemukan    ");}
        else
if (bmi>=23) {printf("Normal\n"); fprintf(pf,"Normal       ");}
        else
if (bmi>=21.75){printf("Ideal\n"); fprintf(pf, "Ideal        ");}
        else
if (bmi>=20.5) {printf("Ideal\n"); fprintf(pf, "Ideal        ");}
else
if (bmi>=18.5) {printf("Normal\n"); fprintf(pf,"Normal       ");}
        else  
  {printf("Kurus\n"); fprintf(pf,"Kurus        ");}
        fprintf(pf,"%s",ctime(&mytime));
printf("\n\n============================\n");
        printf("  Tersimpan Di Riwayat\n");
        printf("============================\n\n\n\n");
    fclose(pf);}
    printf("Kembali ke menu [y/t] ? ");
    again=getch();
    break;
 
case 2 : {system("cls");
        if ((pf=fopen("BMI.txt","r"))== NULL)
        {printf("file tak dapat dibuka !\r\n");
         exit(1);}
            while((kar=fgetc(pf)) !=EOF)
            putchar(kar);
            printf("\n");
            fclose(pf);}
printf("\nKembali ke menu [y/t] ? ");
    again=getch();
    break;
 
    case 3 :{
system("cls");
     if((pf=fopen("BMI.txt","w"))== NULL)
                        {
                                printf("file gagal diciptakan!\n");
                                exit(1);
                        }
                        fputs("",pf);
                        printf("============================\n");
                        printf("Riwayat Terhapus\n");
                        printf("============================\n");
                        fclose(pf);
                        printf("Kembali ke menu [y/t] ? ");}
        again=getch();
        break;
case 4 :
goto exit;}
}
while(again=='y');
exit : system("cls");printf("THANK YOU");
return 0;
}

Sekian, semoga bermanfaat.

3 komentar:

Copyright © 2013 Yanamon