tutorialswb

TutorialsWB hadir sebagai wadah bagi teman-teman yang ingin "Belajar PHP Dasar". Sehingga kami yakin bahwa TutorialsWB akan menjadi Pusat "Belajar Bahasa Pemrograman PHP" Disamping PHP website ini menyediakan berbagai tips dan trik Blogger. Kami menerima Pemasangan iklan banner atau artikel.

Hubungi Saya

Applied Stack, Input, deleted dan exit




disini anda bisa menginput data, menghapus dan ext. silahkan mencoba ya semoga bermanfaat.






//header file
# include <stdio.h>
# include <conio.h>
# include <stdlib.h>
# include <string.h>
# define QSIZE 5
//deklarasi struct
typedef struct
{
      int count;
    int head,tail;
    char names[QSIZE][30];
}QUEUE; //nama struct
char *enqueue(char *);
char* dequeue();
//deklarasikan prototype fungsi
void tampil();
void inisialisasi();
//deklarasi Node
QUEUE *pq;
//fungsi main
int main()
{
      //deklarasi variabel
      int pil;
      char str[30];
      QUEUE q;
      pq=&q;
      inisialisasi(); //panggil fungsi inisialisasi
      do{
            system("cls"); //bersihkan layar
            printf("\tMENU PILIHAN : ");
            printf("\n\t______________");
            printf("\n[1] Input Data");
            printf("\n[2] Delete Data");
            printf("\n[3] Show data in queue");
            printf("\n[4] Exit\n");
            printf("\nPilihan anda : ");
            scanf("%d",&pil);
            switch(pil){
            case 1:
                  printf("\nSilahkan memasukkan sebuah kata : ");
                  fflush(stdin); //menghapus buffer data
                  gets(str);
                 puts(enqueue(str)); /*Mencetak string hasil penambahan data yang dilakukan oleh fungsi enqueue()*/
                  break;
            case 2:
                 puts(dequeue()); /*Mencetak string terhapus yang dilakukan oleh fungsi enqueue()*/
                  break;
            case 3:
                  tampil(); //panggil fungsi tampil()
                  break;
            case 4: exit(0);
            default: printf("\nMasukkan anda salah!!");
            }
            printf("\nPress Any Key to continue...");
            fflush(stdin); //membersihkan buffer data
            while(!kbhit());
      }
      while(1); //perulanagan dijalankan terus
    //return 0;
}
//fungsi untuk inisialisasi awal
void inisialisasi()
{
      pq->head = pq->tail = pq->count= 0;
}
//fungsi untuk menambah data string dalam queue
char* enqueue(char *p)
{
      if(pq->count==QSIZE)
            return "\n\n\t\t Error: Antrian penuh";
      pq->tail= (pq->tail)%QSIZE;
      strcpy(pq->names[(pq->tail)++],p);
      pq->count++;
      return "Data telah berhasil dimasukkan";
}
//fungsi untuk menghapus data string dalam queue
char* dequeue()
{
      if(pq->count==0)
            return "\n\n\t\t Error: Antrian kosong";
      pq->head= (pq->head)%QSIZE;
      pq->count--;
      printf("\nData yang telah dihapus adalah\n:");
      return pq->names[(pq->head)++];
}
//fungsi untuk menampilkan data yang berada dalam antrian
void tampil()
{
      int i=pq->head;
      int x=0;
      if(pq->count==0)
            printf("Antrian kosong\n");
      else
      {
            while(x<pq->count)
            {
                  if(i==QSIZE)
                        i%=QSIZE;
                  printf(":%s\n",pq->names[i]);
                  i++;
                  x++;
            }
      }
}




Baca Juga