Konsep Dasar dari C n C++ Part 6


Lanjutkan........
Berikut Ini Program yang cocok untuk Jual Beli Sepeda Motor dari posting yang di Part 5



Code:
#include <iostream.h>
#include <conio.h>

typedef struct motor{
int no;
char nama[10];
int harga;
motor *next;
}motor;

motor *head , *tail;

void init() {
head = NULL;
tail = NULL;
}

int ifEmpty() {
if(tail == NULL) return 1;
    else return 0;

}
void hapusDepan(){
    motor *hapus;
    int d;
    if (ifEmpty()==0){
        if(head!=tail){
          hapus = head;
          d = hapus->no;
          head = head->next;
          delete hapus;
        } else {
          d = tail->no;
          head=tail=NULL;
        }
    } else {}
}
void remove(int key){
    motor *temp = head ;
    if (ifEmpty()==0){
    while (temp != NULL){
    if ((temp->no == key)&&(temp ==head))
    {
    hapusDepan();
    break;
    }
    else if (temp->next->no == key){
    temp->next = temp->next->next;
    break;
    }
    temp = temp->next;
    }
    }
    else
    {
    }
}
void search(int key)
{
    int ketemu;
    motor *bantu;
    bantu = head;
    ketemu = 0;
    if(ifEmpty()==0)
    {
    while(bantu!=NULL)
    {
    bantu->no;
    if (key == bantu->no)
    {
    cout<<endl;
   remove(key);
   cout<<"Barang telah terjual dan data terhapus";
   ketemu = 1 ;
    break;
    }
    bantu=bantu->next;
    }
    cout<<endl;
    if (ketemu == 0)
    cout<<"Data Tidak Ditemukan\n";
    cout<<endl;
} else cout<<"Data Masih kosong\n";
cout<<"\n>>Enter untuk kembali ke menu<<"<<endl;
getch();
}

void tambahBelakang(){
    motor *baru;
    baru = new motor;
   clrscr();
   cout << "+--------------------------------------+\n";
    cout << "+-------------Tambah data--------------+\n";
    cout << "+--------------------------------------+\n";
    cout << "Masukkan Data Sepeda Motor " << endl;
    cout << "Kode Barang       : "; cin >> baru->no;
    cout << "Merk Sepeda Motor : "; cin >> baru->nama;
    cout << "Harga             : "; cin >> baru->harga;

    baru->next = NULL;
    if(ifEmpty()==1){
     head=baru;
     tail=baru;
     tail->next = NULL;
    }
    else {
        tail->next = baru;
        tail=baru;
    }
   cout<<">>Enter untuk kembali ke menu<<";
getch();
}
void clear(){
motor *bantu, *hapus;
bantu = head;
    while(bantu!=NULL){
        hapus = bantu;
        bantu = bantu->next;
        delete hapus;
    }
    head = NULL;
    tail = NULL;
clrscr();
cout<<">>>>>Data telah dikosongkan<<<<<\n";
cout<<"\n>>Enter untuk kembali ke menu<<";
getch();
}


void tampilData() {
int co = 1;
clrscr();
cout << "+--------------------------------------+\n";
cout << "+--------------Data Barang-------------+\n";
cout << "+--------------------------------------+\n";
motor *bantu;
bantu = head;
if (ifEmpty() == 0) {
while (bantu != NULL) {
cout << "No.               : " << co << endl;
cout << "Kode Barang       : "<< bantu->no <<endl;
cout << "Merk Sepeda Motor : "<< bantu->nama << endl;
cout << "Harga             : "<< bantu->harga<<endl<<endl;

co++;
bantu = bantu->next;
}
cout << endl;
} else {
cout << "Data masih kosong" << endl;
}
cout<<"\n>>Enter untuk kembali ke menu<<";
getch();
}

main() {
int key;
int pilih;
do {
clrscr();
cout << "-----------------------------------------------------\n";
cout << "+---------------------------------------------------+\n";
cout << "||                                                 ||\n";
cout << "||        Program Jual Beli Sepeda Motor           ||\n";
cout << "||                                                 ||\n";
cout << "+---------------------------------------------------+\n";
cout << "||    1. Tambah data barang                        ||\n";
cout << "||    2. Jual barang                               ||\n";
cout << "||    3. Clear data                                ||\n";
cout << "||    4. Tampil data                               ||\n";
cout << "||    5. Keluar                                    ||\n";
cout << "+---------------------------------------------------+\n";
cout << "-----------------------------------------------------\n";
cout << "Masukkan Piliha Anda : ";cin>>pilih;

switch (pilih) {
case 1 :
tambahBelakang();
break;
case 2 :
clrscr();
cout << "+--------------------------------------+\n";
cout << "+-----------Jual Sepeda motor----------+\n";
cout << "+--------------------------------------+\n";
cout << "Masukan kode barang : "; cin >> key;
search(key);
break;
case 3 :
clear();
break;
case 4 :
tampilData();
break;
case 5 :

break;
}
} while (pilih != 5);
}


Beberapa Penjelasat tambahaan

fungsi gets() dalam perintah masukan/inputan
fungsi ini digunakan untuk memasukan data string.adapun bentuk umum dari fungsi ini

gets(nama-variabel-array);

perbedaan antara gets() sama scanf()

kalau gets() dapat menerima string yang mengandung spasi atau tab dan masing2 dianggap sebagai satu kesatuan data
sedangkan scanf() tidak dapat menerima string yang mengandung spasi atau tab dan dianggap sebagai data terpisah

Contoh Program Tebak Angka\

Code:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main ()
{
srand(time(0));
int angkaacak = rand () % 100 + 1;
int tebakkan;
int coba = 0;
char ulangi;
do {
     system("cls");
     cout << "\tSelamat Datang Di Game Tebak Angka" << endl;
     cout << "\t(Created by Jefri HN)\n" << endl;
     do {
         cout << "Masukkan Angka Dari 1 - 100: ";
         cin >> tebakkan;
         ++coba;
         if (tebakkan < angkaacak)
         cout << "Terlalu Rendah" << endl;
        
         if (tebakkan > angkaacak)
         cout << "Terlalu Tinggi" << endl;
         }
         while(tebakkan != angkaacak);
         cout << "Anda Menebak Sebanyak " << coba << " Kali" << endl;
         if (coba <= 5)
         cout << "ANDA PINTAR" << endl;
         if (coba >= 6)
         cout << "MORE PRACTICE OK?!\n" << endl;
         cout << "Ingin Mencoba Lagi?(y/n)" << endl;
         cin >> ulangi;
     }  
     while(ulangi=='y'||ulangi=='Y');
}