Latihan Struktur Data (Struct, switch-case,if-else,for,searching) dalam C++
Aplikasi yang digunakan : Code block
download code block
Penjelasan tampilan program:
#include <iomanip>
#include <windows.h>
using namespace std;
struct {
int nim,pilih,jumdat,cari;
double uts,uas,rata;
}mhs[10],data;
int main()
{
int j=0;
menu :
cout<<endl;
cout<<"------MENU------"<<endl;
cout<<"1. Masukkan Data"<<endl;
cout<<"2. Tampil data"<<endl;
cout<<"3. Cari Data"<<endl;
cout<<endl;
cout<<"Pilihan : ";
cin>>data.pilih;
system("cls");
switch(data.pilih){
case 1:
cout<<endl;
bnyk:
cout<<"Banyak data yang akan diinput [maks 10] : ";
cin>>data.jumdat;
if(data.jumdat>10||data.jumdat<1){
system("cls");
goto bnyk;
}
cout<<endl;
for(int i=0;i<data.jumdat;i++){
cout<<"Data Ke-"<<i+1<<endl;
cout<<"Masukkan NIM ke-"<<i+1<<" : ";cin>>mhs[i].nim;
cout<<"Masukkan UTS ke-"<<i+1<<" : ";cin>>mhs[i].uts;
cout<<"Masukkan UAS ke-"<<i+1<<" : ";cin>>mhs[i].uas;
}
for(int i=0;i<data.jumdat;i++){
mhs[i].rata=(mhs[i].uts+mhs[i].uas)/2;
}
cout<<endl;
goto menu;
break;
case 2:
cout<<"------------TAMPIL DATA-------------"<<endl;
cout<<"No NIM UTS UAS RATA-RATA"<<endl;
for(int i=0;i<data.jumdat;i++){
cout<<i+1<<". "<<mhs[i].nim;cout<<setw(6)<<mhs[i].uts;cout<<setw(7)<<mhs[i].uas;cout<<setw(9)<<mhs[i].rata<<endl;
}
cout<<endl;
system("pause");
system("cls");
goto menu;
break;
case 3:
cari:
cout<<"----------CARI DATA----------"<<endl;
cout<<"Masukkan NIM yang dicari : ";cin>>data.cari;
for(int i=0;i<data.jumdat;i++){
if(data.cari==mhs[i].nim){
cout<<"Data ditemukan pada index "<<i<<endl;
cout<<"Nim : "<<mhs[i].nim<<endl;
cout<<"UTS : "<<mhs[i].uts<<endl;
cout<<"UAS : "<<mhs[i].uas<<endl;
cout<<"Rata-rata : "<<mhs[i].rata<<endl;
cout<<endl;
system("pause");
goto menu;
}
}
for(int i=0;i<data.jumdat;i++)
{
if(data.cari!=mhs[i].nim)
{
cout<<endl;
cout<<"Data tidak ditemukan"<<endl;
cout<<endl;
system("pause");
system("cls");
goto cari;
}
}
}
return 0;
}
download code block
Penjelasan tampilan program:
Ketika program dijalankan maka akan langsung menampilkan menu pilihan,karena data dalam program tersebut masih kosong, maka user harus mengisi terlebih dahulu dengan memilih menu 1.
Maksimal data yang akan dinputkan oleh user adalah 10, jika user menginput lebih dari 10 maka akan disuruh menginput kembali sesuai dengan batas maksimal data.
Lalu user menginput data yang berisi NIM, nilai UTS, dan nilai UAS.
setelah selesai input data maka kembali ke menu pilihan, kemudian jika user ingin mengecek data maka pilih menu 2.
Maka akan menampilkan data, kemudian tekan enter untuk kembali ke menu pilihan.
Jika user ingin mencari data pilih menu 3.
Untuk mencari data, user menginput data yang ingin dicari berdasarkan NIM, maka secara otomatis program akan menampilkan data dari NIM yang dicari.
Source code :
#include <iostream>#include <iomanip>
#include <windows.h>
using namespace std;
struct {
int nim,pilih,jumdat,cari;
double uts,uas,rata;
}mhs[10],data;
int main()
{
int j=0;
menu :
cout<<endl;
cout<<"------MENU------"<<endl;
cout<<"1. Masukkan Data"<<endl;
cout<<"2. Tampil data"<<endl;
cout<<"3. Cari Data"<<endl;
cout<<endl;
cout<<"Pilihan : ";
cin>>data.pilih;
system("cls");
switch(data.pilih){
case 1:
cout<<endl;
bnyk:
cout<<"Banyak data yang akan diinput [maks 10] : ";
cin>>data.jumdat;
if(data.jumdat>10||data.jumdat<1){
system("cls");
goto bnyk;
}
cout<<endl;
for(int i=0;i<data.jumdat;i++){
cout<<"Data Ke-"<<i+1<<endl;
cout<<"Masukkan NIM ke-"<<i+1<<" : ";cin>>mhs[i].nim;
cout<<"Masukkan UTS ke-"<<i+1<<" : ";cin>>mhs[i].uts;
cout<<"Masukkan UAS ke-"<<i+1<<" : ";cin>>mhs[i].uas;
}
for(int i=0;i<data.jumdat;i++){
mhs[i].rata=(mhs[i].uts+mhs[i].uas)/2;
}
cout<<endl;
goto menu;
break;
case 2:
cout<<"------------TAMPIL DATA-------------"<<endl;
cout<<"No NIM UTS UAS RATA-RATA"<<endl;
for(int i=0;i<data.jumdat;i++){
cout<<i+1<<". "<<mhs[i].nim;cout<<setw(6)<<mhs[i].uts;cout<<setw(7)<<mhs[i].uas;cout<<setw(9)<<mhs[i].rata<<endl;
}
cout<<endl;
system("pause");
system("cls");
goto menu;
break;
case 3:
cari:
cout<<"----------CARI DATA----------"<<endl;
cout<<"Masukkan NIM yang dicari : ";cin>>data.cari;
for(int i=0;i<data.jumdat;i++){
if(data.cari==mhs[i].nim){
cout<<"Data ditemukan pada index "<<i<<endl;
cout<<"Nim : "<<mhs[i].nim<<endl;
cout<<"UTS : "<<mhs[i].uts<<endl;
cout<<"UAS : "<<mhs[i].uas<<endl;
cout<<"Rata-rata : "<<mhs[i].rata<<endl;
cout<<endl;
system("pause");
goto menu;
}
}
for(int i=0;i<data.jumdat;i++)
{
if(data.cari!=mhs[i].nim)
{
cout<<endl;
cout<<"Data tidak ditemukan"<<endl;
cout<<endl;
system("pause");
system("cls");
goto cari;
}
}
}
return 0;
}
------------------------------------------------------------------------------------------------------
Semoga bermanfaat :-)
Komentar