/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl,
C#, OCaml, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog.
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
#include <iostream>
#include <vector>
using namespace std;
// Deklarasi fungsi seleksi
bool seleksi();
// Deklarasi fungsi hasil_seleksi
void hasil_seleksi();
vector<vector<string>> diterima; // Vektor untuk menyimpan data siswa yang diterima
vector<vector<string>> tidakditerima; // Vektor untuk menyimpan data siswa yang tidak diterima
// Deklarasi fungsi kesimpulan
void Kesimpulan();
// Deklarasi Fungsi Siswa diterima
void siswa_diterima();
// Deklarasi Fungsi Siswa tidakditerima
void siswa_tidakditerima();
// Tipe Data
int jumlah_siswa;
string Nama;
string NISN;
string KTP;
string sewa;
string alamat;
string penghasilan;
string ibu;
int jumlah_diterima = 0;
int jumlah_tidakditerima = 0;
// Fungsi Utama
int main()
{
cout << "========================= Program Seleksi Kartu Jakarta Pintar =========================" << endl;
cout << "========================= Syarat-syarat Penerima KJP ===========================" << endl;
cout << "Masukkan Jumlah Siswa: ";
cin >> jumlah_siswa;
for (int i = 1; i <= jumlah_siswa; i++)
{
cout << "Siswa ke - " << i << endl;
cout << "Input Nama : ";
cin >> Nama;
cout << "Input NISN : ";
cin >> NISN;
cout << "Input nama ibu : ";
cin >> ibu ;
cout << "Apakah anda berasal dari KTP DKI JAKARTA? (ya/tidak) : ";
cin >> KTP;
cout << "Masukkan alamat sesuai KTP : ";
cin.ignore(); // Menggunakan ignore() untuk menghapus karakter newline sebelum input alamat
getline(cin, alamat);
cout << "Apakah tempat tinggal anda berstatus sewa? (ya/tidak) : ";
cin >> sewa;
cout << "Apakah orang tua anda memiliki penghasilan < 4jt (ya/tidak): ";
cin >> penghasilan;
//Memanggil fungsi hasil_seleksi
hasil_seleksi();
}
//Memanggil fungsi siswa_diterima
siswa_diterima();
//Memanggil fungsi siswa_tidakditerima
siswa_tidakditerima();
// Memanggil fungsi kesimpulan
Kesimpulan();
return 0;
}
// Implementasi fungsi seleksi
bool seleksi()
{
if (KTP == "ya" || KTP == "Ya" || KTP == "YA")
{
if (sewa == "ya" || sewa == "Ya" || sewa == "YA")
{
if (penghasilan == "ya" || penghasilan == "Ya" || penghasilan == "YA")
{
return true;
}
}
}
return false;
}
// Implementasi fungsi hasil_seleksi
void hasil_seleksi()
{
if (seleksi())
{
cout << "Hasil: Diterima" << endl;
jumlah_diterima++;
// Tambahkan data siswa yang diterima ke dalam vektor diterima
vector<string> siswa_diterima = {Nama, NISN, alamat, ibu};
diterima.push_back(siswa_diterima);
}
else
{
cout << "Hasil: Tidak diterima" << endl;
jumlah_tidakditerima++;
// Tambahkan data siswa yang tidak diterima ke dalam vektor tidakditerima
vector<string> siswa_tidakditerima = {Nama, NISN, alamat, ibu};
tidakditerima.push_back(siswa_tidakditerima);
}
cout << "========================================================================================" << endl;
}
// Implementasi fungsi kesimpulan
void Kesimpulan()
{
cout << "\nTotal : \n";
cout << "Jumlah yang Diterima: " << jumlah_diterima << endl;
cout << "Jumlah yang Tidak Diterima: " << jumlah_tidakditerima << endl;
}
// Implementasi fungsi siswa_diterima
void siswa_diterima(){
cout << "\nSiswa yang diterima:\n";
for (int j = 0; j < jumlah_diterima; j++)
{
cout << j + 1 << ". Nama: " << diterima[j][0] << endl;
cout << " NISN: " << diterima[j][1] << endl;
cout << " Alamat: " << diterima[j][2] << endl;
cout << " Nama Ibu: " << diterima[j][3] << endl;
cout <<endl;
}
cout << "========================================================================================" << endl;
}
//Implementasi fungsi siswa_tidakditerima
void siswa_tidakditerima(){
cout << "\nSiswa yang tidak diterima:\n";
for (int h = 0; h < jumlah_tidakditerima; h++)
{
cout << h + 1 << ". Nama: " << tidakditerima[h][0] << endl;
cout << " NISN: " << tidakditerima[h][1] << endl;
cout << " Alamat: " << tidakditerima[h][2] << endl;
cout << " Nama Ibu: " << tidakditerima[h][3] << endl;
cout <<endl;
}
}