Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <string.h>
- #include <conio.h>
- using namespace std;
- struct data{
- int no,
- umur;
- char nama[30],
- penyakit[30];
- };
- vector <data> mhs;
- void searching();
- void menu();
- void input();
- void tampil();
- void cari_string(char nama[],vector<int> lokasi);
- void cari_no(int, vector<int>);
- int main (){
- menu();
- getch();
- }
- void menu(){
- int pilih;
- char yn;
- do{
- cout<<"MENU"<<endl;
- cout<<"1. Input "<<endl;
- cout<<"2. Pencarian data "<<endl;
- cout<<"3. Output"<<endl;
- cout<<"4. exit "<<endl;
- cout<<"masukan pilihan : ";
- cin>>pilih;
- switch(pilih){
- case 1:
- input();
- cout<<"kembali ? <y/n> ";cin>>yn;
- break;
- case 2:
- searching();
- cout<<"kembali ? <y/n> ";cin>>yn;
- break;
- case 3:
- tampil();
- cout<<"kembali ? <y/n> ";cin>>yn;
- break;
- case 4:
- yn='n';
- break;
- }
- } while(yn=='y');
- }
- void input(){
- data input;
- char yn;
- do{
- cout<<"masukan nomor : ";cin>>input.no;
- cout<<"masukan umur : ";cin>>input.umur;
- cin.ignore();
- cout<<"masukan nama : ";cin>>input.nama;
- cin.ignore();
- cout<<"penyakit : ";cin>>input.penyakit;
- mhs.push_back(input);
- cout<<"masukan data lagi? <y/n> : ";cin>>yn;
- } while(yn=='y');
- }
- void tampil(){
- for(int i = 0;i< mhs.size();i++){
- cout<<mhs[i].no<<" "<<mhs[i].umur<<" "<<mhs[i].nama<<" "<<mhs[i].penyakit<<endl;
- }
- }
- void searching(){
- char yn;
- do{
- vector<int> lokasi;
- lokasi.clear();
- int menu,umur;
- char target[30],penyakit[30];
- cout<<"Pencarian Data"<<endl;
- cout<<"1. Berdasarkan nama : "<<endl;
- cout<<"2. Berdasarkan umur : "<<endl;
- cout<<"3. Berdasarkan penyakit : "<<endl;
- cout<<"4. Kembali"<<endl;
- cout<<"masukan pilihan : ";cin>>menu;
- switch(menu){
- case 1:
- cout<<"masukan nama : ";
- cin>>target;
- cari_string(target,lokasi);
- cout<<"kembali? <y/n> : ";cin>>yn;
- break;
- case 2 :
- cout<<"masukan umur : ";
- cin>>umur;
- cari_no(umur,lokasi);
- cout<<"kembali? <y/n> : ";cin>>yn;
- case 3:
- cout<<"masukan nama : ";
- cin>>target;
- cari_string(target,lokasi);
- cout<<"kembali? <y/n> : ";cin>>yn;
- break;
- case 4 :
- yn='n';
- break;
- }
- }
- while(yn=='y');
- }
- void cari_string(char x[],vector<int> lokasi){
- bool ketemu;
- for( int i =0; i< mhs.size();i++){
- if(strncmp(strlwr(x),strlwr(mhs[i].nama),sizeof(x))==0){
- ketemu = true;
- lokasi.push_back(i);
- }
- }
- if(ketemu){
- cout<<"ketemu sebanyak "<<lokasi.size()<<endl;
- for(int i=0;i<lokasi.size();i++){
- cout<<mhs[lokasi[i]].no<<" "<<mhs[lokasi[i]].nama<<" "<<mhs[lokasi[i]].umur<<" "<<mhs[lokasi[i]].penyakit<<endl;
- }
- }
- else{
- cout<<"gak ada";
- }
- }
- void cari_no(int x,vector<int> lokasi){
- bool ketemu;
- for( int i =0; i< mhs.size();i++){
- if(x == mhs[i].no ){
- ketemu = true;
- lokasi.push_back(i);
- }
- }
- if(ketemu){
- cout<<"ketemu sebanyak "<<lokasi.size()<<endl;
- for(int i=0;i<lokasi.size();i++){
- cout<<mhs[lokasi[i]].no<<" "<<mhs[lokasi[i]].nama<<" "<<mhs[lokasi[i]].umur<<" "<<mhs[lokasi[i]].penyakit<<endl;
- }
- }
- else{
- cout<<"gak ada";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement