Ipan Uas
Ipan Uas
NPM : 18.03.0.021
#include <stdio.h>
#include <conio.h>
int main ()
{
#include <stdio.h>
#include <stdbool.h>
int main()
{
int data_lulus[5][4];
int tahun, jurusan;
// - memasukkan data
// - menampilkan data
// - menghapus data
// ---------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define PANJANG_NOMORKENDARAAN 20
#define PANJANG_NAMAKENDARAAN 20
struct simpul_kendaraan
};
// ptr_pos_data
// Prototipe fungsi
void pemasukan_data(void);
int panjang_maks);
void tampilkan_data(void);
void hapus_data(void);
void menu_pilihan(void);
int main()
for ( ; ; )
menu_pilihan();
return 0;
// ----------------------------------------------
// ----------------------------------------------
void pemasukan_data(void)
char jawaban;
do
malloc(sizeof(struct simpul_kendaraan));
if (ptr_baru)
PANJANG_NOMORKENDARAAN);
ptr_baru->nama,
PANJANG_NAMAKENDARAAN);
ptr_baru->lanjutan = ptr_kepala;
ptr_kepala = ptr_baru;
do
jawaban = toupper(getchar());
else
// -------------------------------------
// -------------------------------------
int panjang_maks)
char st[256];
do
{
panjang_maks);
strcpy(masukan, st);
// -------------------------------------
// -------------------------------------
void tampilkan_data(void)
ptr_sementara = ptr_kepala;
while (ptr_sementara)
ptr_sementara->nama);
ptr_sementara = ptr_sementara->lanjutan;
// -------------------------------------------------
//
// Digunakan untuk mencar nama pada senarai berantai
// oleh ptr_kepala
// -------------------------------------------------
ptr_pendahulu = NULL;
ptr_pos_data = ptr_kepala;
while (ptr_pos_data)
if (strcmp(nama, ptr_pos_data->nama) != 0)
ptr_pendahulu = ptr_pos_data;
ptr_pos_data = ptr_pos_data->lanjutan;
else
// -------------------------------------
// -------------------------------------
void hapus_data(void)
nama, PANJANG_NAMAKENDARAAN);
cari_data(nama);
if (ptr_pos_data == NULL)
else
// Proses penghapusan
if (ptr_pendahulu == NULL)
ptr_kepala = ptr_kepala->lanjutan;
else
ptr_pendahulu->lanjutan =
ptr_pos_data->lanjutan;
// Bebaskan memori
free(ptr_pos_data);
// ------------------------------------------
// Definisi fungsi untu menangai menu pilihan
// ------------------------------------------
void menu_pilihan(void)
char pilihan;
puts("* *");
puts("* *");
puts("=========================");
do
pilihan = getchar();
switch(pilihan)
case '1':
pemasukan_data();
break;
case '2':
hapus_data();
break;
case '3':
tampilkan_data();
break;
case '4':
puts("Selesai");
exit(0); // Selesai
}
Terima kasih