0% menganggap dokumen ini bermanfaat (0 suara)
106 tayangan3 halaman

CPP Balap Mobil

Program ini dapat digunakan untuk mengelola hasil perlombaan balap mobil dengan 5 peserta dengan fitur entri data peserta, pencarian data berdasarkan nama, dan penentuan juara berdasarkan waktu tercepat. Program menggunakan struktur data untuk merekam identitas dan waktu finish peserta lalu mengurutkan data berdasarkan waktu untuk menentukan peringkat juara.

Diunggah oleh

Ibnu sandra kephi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
106 tayangan3 halaman

CPP Balap Mobil

Program ini dapat digunakan untuk mengelola hasil perlombaan balap mobil dengan 5 peserta dengan fitur entri data peserta, pencarian data berdasarkan nama, dan penentuan juara berdasarkan waktu tercepat. Program menggunakan struktur data untuk merekam identitas dan waktu finish peserta lalu mengurutkan data berdasarkan waktu untuk menentukan peringkat juara.

Diunggah oleh

Ibnu sandra kephi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 3

1.

Buatlah sebuah program yang dapat digunakan untuk mengelola hasil perlombaan
Racing Cars yang diikuti oleh 5 peserta. Program harus memilikki menu pilihan,
seperti, entri data, pencarian data, dan penentuan juara. Perlu diingatkan bahwa
penilaian lomba ditentukan oleh waktu peserta mencapai finish. Data yang perlu
diinputkan meliputi data identitas peserta dan data pertandingan berupa waktu mencapai
finish (detik ).

A. isi coding di dalam dev C++

#include <iostream>
#include <string>
#include <algorithm>

struct Participant {
std::string name;
int finishTime; // Waktu mencapai finish dalam detik
};

void inputData(Participant participants[], int size) {


for (int i = 0; i < size; i++) {
std::cout << "Masukkan data peserta ke-" << (i + 1) << std::endl;
std::cout << "Nama: ";
std::cin >> participants[i].name;
std::cout << "Waktu mencapai finish (detik): ";
std::cin >> participants[i].finishTime;
}
}

void searchParticipant(const Participant participants[], int size, const std::string& name) {


bool found = false;
for (int i = 0; i < size; i++) {
if (participants[i].name == name) {
std::cout << "Data peserta dengan nama " << name << ":" << std::endl;
std::cout << "Waktu mencapai finish: " << participants[i].finishTime << " detik" << std::endl;
found = true;
break;
}
}
if (!found) {
std::cout << "Peserta dengan nama " << name << " tidak ditemukan." << std::endl;
}
}

bool compareByFinishTime(const Participant& participant1, const Participant& participant2) {


return participant1.finishTime < participant2.finishTime;
}

void determineWinners(const Participant participants[], int size) {


// Menyalin data peserta ke array baru untuk diurutkan
Participant sortedParticipants[size];
std::copy(participants, participants + size, sortedParticipants);

0
// Mengurutkan peserta berdasarkan waktu finish dari yang tercepat
std::sort(sortedParticipants, sortedParticipants + size, compareByFinishTime);

std::cout << "Juara Perlombaan Balap Mobil:" << std::endl;


for (int i = 0; i < std::min(size, 3); i++) {
std::cout << "Peringkat " << (i + 1) << ": " << sortedParticipants[i].name << std::endl;
std::cout << "Waktu mencapai finish: " << sortedParticipants[i].finishTime << " detik" << std::endl;
}
}

int main() {
const int size = 5;
Participant participants[size];

int choice;
std::string searchName;

do {
std::cout << "Menu Pilihan:" << std::endl;
std::cout << "1. Entri data" << std::endl;
std::cout << "2. Pencarian data" << std::endl;
std::cout << "3. Penentuan juara" << std::endl;
std::cout << "0. Keluar" << std::endl;
std::cout << "Pilih: ";
std::cin >> choice;

switch (choice) {
case 1:
inputData(participants, size);
break;
case 2:
std::cout << "Masukkan nama peserta yang ingin dicari: ";
std::cin >> searchName;
searchParticipant(participants, size, searchName);
break;
case 3:
determineWinners(participants, size);
break;
case 0:
std::cout << "Terima kasih! Sampai jumpa lagi." << std::endl;
break;
default:
std::cout << "Pilihan tidak valid. Silakan coba lagi." << std::endl;
break;
}

std::cout << std::endl;


} while (choice != 0);

return 0;
}

1
B. tampilan program saat di-Run

Anda mungkin juga menyukai