Advertisement
vagarifiansyah

Untitled

May 25th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. #include<iostream>
  2. #define MAX 5
  3. using namespace std;
  4.  
  5. struct nilai {
  6.     char nama[30];
  7.     float nilai_tugas;
  8.     float nilai_quiz;
  9.     float nilai_ETS;
  10.     float nilai_EAS;
  11. };
  12.  
  13. struct Stack {
  14.     int top;
  15.     nilai Nilai[MAX];
  16. }Tumpukan;
  17.  
  18. void init(){
  19.     Tumpukan.top = -1;
  20. }
  21.  
  22. bool isEmpty(){
  23.     return Tumpukan.top == -1;
  24. }
  25.  
  26. bool isFull(){
  27.     return Tumpukan.top == MAX-1;
  28. }
  29.  
  30. void Push(){
  31.     if(isFull()){
  32.         cout<<"\nData Penuh!\n";
  33.     }else{
  34.         Tumpukan.top++;
  35.         cin.sync();
  36.         cout<< "\nMasukkan Nama : ";
  37.         cin.getline(Tumpukan.Nilai[Tumpukan.top].nama,30);
  38.         cout<< "Masukkan Nilai Tugas : ";
  39.         cin>>Tumpukan.Nilai[Tumpukan.top].nilai_tugas;
  40.         cout<< "Masukkan NIlai Quiz  : ";
  41.         cin>>Tumpukan.Nilai[Tumpukan.top].nilai_quiz;
  42.         cout<< "Masukkan Nilai ETS   : ";
  43.         cin>>Tumpukan.Nilai[Tumpukan.top].nilai_ETS;
  44.         cout<< "Masukkan Nilai EAS   : ";
  45.         cin>>Tumpukan.Nilai[Tumpukan.top].nilai_EAS;
  46.         cout<<"\nData masuk ke Stack";
  47.     }
  48. }
  49.  
  50. void Pop(){
  51.     if(isEmpty()){
  52.         cout<<"\nData Kosong!\n";
  53.     }else{
  54.         cout<<"\nData sudah terambil\n\n";
  55.         Tumpukan.top--;
  56.     }
  57. }
  58.  
  59. void printStack() {
  60.     if (isEmpty()) {
  61.         cout << "Data sekarang kosong";
  62.     }
  63.     else {
  64.         for (int i = Tumpukan.top; i >= 0; i--){
  65.             cout<< "\n\nNama          : "<<Tumpukan.Nilai[i].nama<<endl;
  66.             cout<< "Nilai Tugas   : "<<Tumpukan.Nilai[i].nilai_tugas<<endl;
  67.             cout<< "Nilai Quiz    : "<<Tumpukan.Nilai[i].nilai_quiz<<endl;
  68.             cout<< "Nilai ETS     : "<<Tumpukan.Nilai[i].nilai_ETS<<endl;
  69.             cout<< "Nilai EAS     : "<<Tumpukan.Nilai[i].nilai_EAS<<endl;
  70.             cout<< "=========================================="<<endl;
  71.     }
  72. }
  73. }
  74.  
  75. int main() {
  76.     int pilihan, data;
  77.     init();
  78.     do {
  79.     printStack();
  80.         cout << "\n\n1. Input (Push)\n"
  81.         <<"2. Hapus (Pop)\n"
  82.         <<"\nMasukkan Pilihan: ";
  83.         cin >> pilihan;
  84.         switch (pilihan)
  85.         {
  86.         case 1:
  87.             Push();
  88.             break;
  89.         case 2:
  90.             Pop();
  91.             break;
  92.         default:
  93.       cout << "Pilihan tidak tersedia" << endl;
  94.             break;
  95.         }
  96.     } while (pilihan!=3);
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement