Membuat diary digital dengan menggunakan C++

View previous topic View next topic Go down

Membuat diary digital dengan menggunakan C++

Post by Kira on Thu Oct 14, 2010 5:02 pm


Code:
#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <ctype.h>

#include <string.h>

#define size 1000





typedef struct

{

  char hari[10];

  int tgl,bln,thn;

  char cerita[1000];

  char subject[100];

} diary;





int menu_utama(void);

void login(void);

void menu_cari(void);

void menu_cari1(void);

void pilihan_cari(void);

void cari_subjek(diary telp[], int a);

void cari_tanggal(diary telp[], int c);

void print_record2(diary telp[], int b);

void convert_to_upper_array(char *ch);

void convert_to_upper_char(char *ch);





void login(void)

{

  int coba=1;

  char name[40];

  char pass[40];

   

  printf("\t\t\t\t=====================\n");

  printf("\t\t\t\t    DIARY PROGRAM    \n");

  printf("\t\t\t\t=====================\n");

   

  printf("\nLogin\n");

  printf(" Masukkan Nama Anda : "); scanf("%s",name);

  printf(" Masukkan Password  : "); scanf("%s",pass);



    while((strcmp (name, "farid")== 1 || strcmp ( pass, "06" ) == 1) && coba < 3 )

    {

      printf("\nMaaf... Nama dan Password Anda salah!!!!\n\n");

      printf("Masukkan Nama Anda : "); scanf("%s",name);

      printf("Masukkan Password  : "); scanf("%s",pass);

      coba++;

     

      printf("\nMaaf... Nama dan Password Anda salah!!!!\n\n");

      printf("Masukkan Nama Anda : "); scanf("%s",name);

      printf("Masukkan Password  : "); scanf("%s",pass);

      exit(0);

    }



}





int menu_utama(void)

{

  int pilihan;

   

  printf("\nMenu Utama\n");

  printf("1. Tambah Isi Diary\n");

  printf("2. Cari Diary\n");

  printf("3. Exit \n");

  printf("\nPilihan Anda :  ");

  scanf("%d", &pilihan);

  return pilihan;

}





void pilihan_cari(void)

{

  int pilihan;

  printf("\nMenu Cari\n");

  printf("1. Cari lewat Subjek\n");

  printf("2. Cari lewat Tgl/Bln/Thn\n");

  printf("\nPilihan Anda :  ");

  scanf("%d", &pilihan);

       

  switch (pilihan)

    {

      case 1 :

          menu_cari();

          break;

      case 2 :

          menu_cari1();

          break;

      default:;

    }

}





void masukan_data(void)

{

  FILE *doc;

  char jawaban;

  char str[10];

  char temp[20];

  diary telp;

   

    do {

        printf("\nAnda memasuki menu tambah diary\n");

        printf("Hari        : ");

        fflush(stdin);

        gets(telp.hari);

        convert_to_upper_array(telp.hari);

       

        printf("Tgl/Bln/Thn : ");

        fflush(stdin);

        gets(temp);

        sscanf(temp, "%li/%li/%li", &telp.tgl, &telp.bln, &telp.thn);

       

        printf("Subject    : ");

        fflush(stdin);

        gets(telp.subject);

        convert_to_upper_char(telp.subject);

       

        printf("Cerita      : ");

        fflush(stdin);

        gets(telp.cerita);

             

        if ((doc = fopen("Database Diary.txt", "ab")) == NULL)

          {

          printf("File Error");

          getch();

          exit (1);

          }

     

        fwrite (&telp, sizeof(diary), 1, doc);

        fclose (doc);

   

        printf("Data telah tersimpan, Untuk menambahan(Y) / Untuk ke Menu(N) :  ");

        fflush(stdin);

        scanf("%c", &jawaban);

      }

 

  while ( jawaban == 'y' || jawaban == 'Y');

}





void cari_subjek(diary telp[], int a)

{

  int i;

  char subject [100];

 

  printf("\nPencarian diary melalui subject\n");

  printf("Masukkan subjek : ");

  fflush(stdin);

  gets(subject);

  convert_to_upper_char(subject);



    for ( i = 0 ; i < a ; i++)

    {

     

      if (!strcmp(telp.subject, subject))

      {

        printf("\nHasil Pencarian diary melalui subject\n");

        printf("=====================================\n");

        print_record2(telp, i);

        break;

      }

     

      if (i == a-1 && telp.subject != subject)

      printf("Data Tidak di temukan\n");

   

    }

  getch();

}





void cari_tanggal(diary telp[], int c)

{

  int i,tanggal,bulan,tahun;

 

  printf("\nPencarian melalui Tgl/Bln/Thn\n");

  printf("Masukkan Tgl/Bln/Thn : ");

  fflush(stdin);

  scanf("%d/%d/%d", &tanggal, &bulan, &tahun);

   

    for ( i = 0 ; i < c ; i++)

    {

     

      if ((telp.tgl)==tanggal && (telp.bln)==bulan && (telp.thn)==tahun)

      {

        printf("\nHasil Pencarian diary melalui Tgl/Bln/Thn\n");

        printf("=========================================\n");

        print_record2(telp, i);

        break;

      }

     

      if (i == c-1 && (telp.tgl)!=tanggal && (telp.bln)!=bulan && (telp.thn)!=tahun)

      printf("Pencarian tidak di temukan\n");

    }

 

  getch();

}





void print_record2(diary telp[], int b)

{

  printf("%-15s : %s\n", "Hari", telp.hari);

  printf("%-15s : %d/%d/%d\n", "Tgl/Bln/Thn", telp.tgl, telp.bln, telp.thn);

  printf("%-15s : %s\n", "Subject", telp.subject);

  printf("%-15s : %s\n", "Cerita", telp.cerita);

}





void menu_cari(void)

{

  diary telp[size];

  FILE *doc;

 

  int i = 0;

  long id_num = 0;

 

    if ((doc = fopen("Database Diary.txt", "rb")) == NULL)

    {

      printf("File Error");

      getch();

      exit (1);

    }

   

      while (!feof(doc))

        {

        fread(&telp, sizeof(diary), 1, doc);

        i++;

        }

 

  fclose(doc);

  cari_subjek(telp, i-1);

}





void menu_cari1(void)

{

  diary telp[size];

  FILE *doc;

 

  int i = 0;

  long id_num = 0;

 

  if ((doc = fopen("Database Diary.txt", "rb")) == NULL)

    {

    printf("File Error");

    getch();

    exit (1);

    }

   

      while (!feof(doc))

      {

        fread(&telp, sizeof(diary), 1, doc);

        i++;

      }

   

  fclose(doc);

  cari_tanggal(telp, i-1);

}





void convert_to_upper_array(char *ch)

{

  while (*ch != '\0')

    {

   

      if (islower(*ch))

      {

        *ch = toupper(*ch);

      }

     

    ++ch;

    }

}





void convert_to_upper_char(char *ch)

{

  if (islower(*ch))

  *ch = toupper(*ch);

}





main ()

{

  login();

   

  int pilihan = 0;

   

  while ((pilihan = menu_utama()) != 5)

    {

   

    switch (pilihan)

      {

      case 1 :

            masukan_data();

            break;

     

      case 2 :

            pilihan_cari();

            break;

     

      case 3 :

            exit (0);

            break;

      default:;

      }

   

    }

}     

         

 // Dibuat oleh farid akbar NIM 0604105010086 original form

by acehdev
avatar
Kira
V.I.P
V.I.P

Posting : 77
Points : 213
Reputation : 2
Join date : 2010-10-03

Back to top Go down

Re: Membuat diary digital dengan menggunakan C++

Post by Alex on Thu Oct 14, 2010 6:19 pm

wew.. gag di kasih tau caranya gan...???
avatar
Alex
V.I.P
V.I.P

Posting : 225
Points : 655
Reputation : 4
Join date : 2010-10-03
Location : Bandung

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum