Jumat, November 18, 2011

Program Mencari Nilai Tertinggi Terendah dan Rata rata C C++

Deskripsi: Program Mencari Nilai Tertinggi Terendah & Rerata


//
//  main.cpp
//  tugas strukdat 2
//
//  Created by FaqihMac on 24/10/11.
//  Copyright (c) 2011 __MyCompanyName__. All rights reserved.
//

#include <iostream>

using namespace std;

struct data
{
int NPM;
char Nama[20];
int Nilai;
data* next;
};

struct hasil
{
float Maks, Min, rtrt;
int nomor2;
};

typedef data* pointer;
typedef pointer List;

void createList(List& First);
void insertFirst(List& First, pointer pBaru);
void traversal(List First, hasil& b);
void createElemen(pointer& pBaru);
void header();
float rata2(hasil b);

int main()
{
    
pointer p1;
List Ma10;
int pilih;
hasil b;
char pilih3;
b.nomor2 = 0;
header();
do
{
createList(Ma10);
        
cout << "Masukkan Berapa Banyak Data : "; cin >> pilih;
for (int i=0; i<pilih; i++)
{
createElemen(p1);
insertFirst(Ma10, p1);
}
        
system("cls");
        
traversal(Ma10, b);
cout << endl << "Coba Lagi? (Y)/(N) "; cin >> pilih3;
system("cls");
header();
} while (pilih3 == 'Y' || pilih3 == 'y');
    
return 0;
}

void createList(List& First)
{
First =0;
}

void insertFirst(List& First, pointer pBaru)
{
if(First ==0)
{
First = pBaru;
}
else
{
pBaru -> next = First;
First = pBaru;
}
}

void traversal(List First,hasil& a)
{
pointer pBantu;
pBantu = First;
int nomor = 1, pilih2;
a.Maks = 0, a.Min = 1000000;
float ratarata;
header();
cout << "No NPM       Nama        Nilai        Keterangan" << endl;
while(pBantu !=0)
{
if (pBantu -> Nilai > 69)
{
cout << nomor << "  " << pBantu -> NPM << "      " << pBantu -> Nama << "            " << pBantu -> Nilai << "         " << "Lulus" << endl;
}
else
{
cout << nomor << "  " << pBantu -> NPM << "      " << pBantu -> Nama << "            " << pBantu -> Nilai << "         " << "Gagal" << endl;
}
a.rtrt = a.rtrt + (pBantu -> Nilai);
if (pBantu -> Nilai >= a.Maks)
{
a.Maks = pBantu -> Nilai;
}
if (pBantu -> Nilai <= a.Min)
{
a.Min = pBantu -> Nilai;
}
pBantu = pBantu -> next;
nomor++, a.nomor2++;
}
cout << endl;
cout << "Menu : " << endl;
cout << "1. Rata-Rata" << endl;
cout << "2. Nilai Maks" << endl;
cout << "3. Nilai Min" << endl;
cout << "4. Tampilkan Semuanya" << endl << endl;
cout << "Masukkan pilihan : "; cin >> pilih2;
cout << endl;
switch(pilih2)
{
        case 1:
{
ratarata = rata2(a);
cout << "Rata-Rata : " << ratarata << endl;
}
            break;
        case 2:
{
cout << "Nilai Maks : " << a.Maks << endl;
}
            break;
        case 3:
{
cout << "Nilai Min : " << a.Min << endl;
}
            break;
        case 4:
{
ratarata = rata2(a);
cout << "Rata-Rata : " << ratarata << endl;
cout << "Nilai Maks : " << a.Maks << endl;
cout << "Nilai Min : " << a.Min << endl;
}
            break;
        default:
{
cout << " Menu tidak ada" << endl;
}
}
}

void createElemen(pointer& pBaru)
{
pBaru = new data;
cout << "NPM   : "; cin >> pBaru -> NPM;
cout << "Nama  : "; cin >> pBaru -> Nama;
cout << "Nilai : "; cin >> pBaru -> Nilai;
cout << endl;
pBaru -> next = NULL;
}

void header()
{
cout << "Program Mencari Nilai Tertinggi Terendah & Rerata" << endl;
}

float rata2(hasil b)
{
return (b.rtrt / b.nomor2);
}

Permutasi C C++

Deskripsi: Program Permutasi C C++


#include"iostream"

using namespace std;

void input(int& n,int& r);
long faktorial(int n);
long permutasi(int n,int r);
void output(long hasil, int n, int r);

void input(int& n,int& r){
cout<<"n = ";cin>>n;
cout<<"r = ";cin>>r;
}

long faktorial(int n){
if(n==1 || n==0){
return(1);
}
else{
return(n*faktorial(n-1));
}
}

long permutasi(int n,int r){
return(faktorial(n)/faktorial(n-r));
}

void output(long hasil, int n, int r){
cout<<n<<"!/("<<n<<"-"<<r<<")! = "<<hasil;
}
int main()
{
long hasil;
int n,r;
input(n,r);
hasil=permutasi(n,r);
output(hasil,n,r);
return 0;
}

Daftar Tabel Penjualan Pulsa Dengan Linked List C C++

Deskripsi: Daftar Tabel Penjualan Pulsa Dengan Linked List [50] (dibikin seluruh kode nya)

Menu:
1.Input di awal.
2.Input di akhir.
3.Hapus Di Awal
4.Hapus Di Akhir
5.Jumlah.
6.rata-rata.
7.Tampilkan Semua Data

Keterangan
Daftar Pulsa


Telkomsel 
 
  PULSA -----------------> HARGA 
  5.000 -----------------> 6.000 
  10.000 ----------------> 11.000 
  20.000 ----------------> 21.000 
  25.000 ----------------> 26.000 
  50.000-----------------> 50.000 
  100.000----------------> 100.000 
 
  Indosat 
 
  PULSA -----------------> HARGA 
  2.000 ------------------>3.000 
  5.000 ----------------> 6.000 
  10.000 ----------------> 11.000 
  25.000 ----------------> 26.000 
  50.000-----------------> 50.000 
  100.000----------------> 100.000


Source:

#include <iostream>
#include <string.h>

using namespace std;

struct data{
char nama[20];
char kode[5];
int harga;
data* next;
};

typedef data* pointer;
typedef pointer List;


void createElement(pointer& pBaru){
pBaru=new data;
cout<<"masukkan data"<<endl;
cout<<"nama = ";cin>>pBaru->nama;
cout<<"kode = ";cin>>pBaru->kode;
if(strcmp(pBaru->kode,"TK5")==0)
pBaru->harga=6000;
else if(strcmp(pBaru->kode,"TK10")==0)
pBaru->harga=11000;
else if(strcmp(pBaru->kode,"TK20")==0)
pBaru->harga=21000;
else if(strcmp(pBaru->kode,"TK25")==0)
pBaru->harga=26000;
else if(strcmp(pBaru->kode,"TK50")==0)
pBaru->harga=50000;
else if(strcmp(pBaru->kode,"TK100")==0)
pBaru->harga=100000;
else if(strcmp(pBaru->kode,"IS2")==0)
pBaru->harga=3000;
else if(strcmp(pBaru->kode,"IS5")==0)
pBaru->harga=6000;
else if(strcmp(pBaru->kode,"IS10")==0)
pBaru->harga=11000;
else if(strcmp(pBaru->kode,"IS25")==0)
pBaru->harga=26000;
else if(strcmp(pBaru->kode,"IS50")==0)
pBaru->harga=50000;
else if(strcmp(pBaru->kode,"IS100")==0)
pBaru->harga=100000;
else
pBaru->harga=0;
pBaru->next=NULL;
}

void insertFirst(List& First, pointer pBaru){
if(First==NULL)
First=pBaru;
else{
pBaru->next=First;
First=pBaru;
}
}

void insertLast(List& First, pointer pBaru){
pointer Last;
if(First==NULL)
First=pBaru;
else{
Last=First;
while(Last->next!=NULL){
Last=Last->next;
}
Last->next=pBaru;
}
}

void DeleteLast(List& First,pointer& pHapus){
pointer Last,PrecLast;
if(First==NULL)
{
pHapus = NULL;
cout<<"List Kosong"<<endl;
}
else if(First->next==NULL){
pHapus=First;
First=NULL;
}
else{
Last = First->next;
PrecLast = First;
while(Last->next!=NULL){
PrecLast = Last;
Last = Last -> next;
}
pHapus = Last;
PrecLast->next=NULL;
}
}
void DeleteFirst(List& First,pointer& pHapus){
if(First==NULL)
{
pHapus = NULL;
cout<<"List Kosong"<<endl;
}
else if(First->next==NULL){
pHapus=First;
First=NULL;
}
else{
pHapus=First;
First=First->next;
pHapus->next=NULL;
}
}
void traversal(List First){
pointer pBantu;
int i=1;
pBantu=First;
cout<<"No.\tNama\t\tKode\tHarga\n";
while(pBantu!=NULL){
cout<<i<<"\t"<<pBantu->nama<<"\t\t"<<pBantu->kode<<"\tRp "<<pBantu->harga<<endl;
pBantu=pBantu->next;
i++;
}
}

void jumlah2(List First, int& jumlah, int& i){
pointer pBantu;
pBantu=First;
i=0;
jumlah=0;
while(pBantu!=NULL){
jumlah+=pBantu->harga;
pBantu=pBantu->next;
i++;
}
}
int main(){
List First=0;
pointer p,pHapus;
int pilih,jumlah,i;
char pilih2;
do{
system("cls");
cout<<"Program Penghitung Harga Pulsa"<<endl;
        cout<<"Menu : "<<endl<<"1. Insert First"<<endl<<"2. Insert Last"<<endl<<"3. Delete First"<<endl<<"4. Delete Last"<<endl<<"5. Jumlah"<<endl<<"6. Rata rata"<<endl<<"7. Tampilkan"<<endl<<"Pilih 1-7:";
cout<<"pilihan(1-7):";cin>>pilih;
switch(pilih){
case 1:
{
createElement(p);
insertFirst(First,p);
break;
}
case 2:
{
createElement(p);
insertLast(First,p);
break;
}
case 3:
{
DeleteFirst(First,pHapus);
traversal(First);
break;
}
case 4:
{
DeleteLast(First,pHapus);
traversal(First);
break;
}
case 5:
{
jumlah2(First,jumlah,i);
cout<<"Jumlah = Rp "<<jumlah;
break;
}
case 6:
{
jumlah2(First,jumlah,i);
cout<<"Rata-rata = Rp "<<jumlah/i;
break;
}
case 7:
{
traversal(First);
break;
}
}
cout<<endl<<"Input Lagi?";cin>>pilih2;
}while(pilih2=='y'||pilih2=='Y');
return 0;
}