Viny Christanti M.
tanggalan
struct tanggalan
{
int tahun;
int bulan;
int tanggal;
};
pegawai
struct pegawai
{
int nip;
char nama [25];
tanggalan tanggal_lahir;
} rec_peg;
//* ----------------------------------------------------------- *
//* struk1.cpp *
//* Contoh deklarasi, definisi dan akses struct *
//* ----------------------------------------------------------- *
#include <iostream>
using namespace std;
void main( )
{
struct tanggalan // deklarasi struct tanggalan
{
int tahun;
int bulan;
int tanggal;
};
tanggalan tanggal_lahir; //definisi variabel tanggal_lahir
void main( )
{
persegipanjang pp; //deklarasi variabel pp
cout <<”Ketikkan panjang : “;
cin >> pp.panjang;
cout <<”Ketikkan lebar : “;
cin >> pp.lebar;
pp.luas = kali(pp.panjang, pp.lebar) // panggil fungsi kali
cout << endl;
cout << “Panjang = “ <<pp.panjang;
cout << endl;
cout << “Lebar = “ <<pp.lebar;
cout << endl;
cout << “Maka luasnya = “ <<pp.luas;
struct mahasiswa
{
char namamhs[20];
char nim[9];
nilai hasil;
};
mahasiswa data_mhs[10];
Nilai = 50% uas + 30% uts + 20% tugas
Dan huruf ditentukan oleh nilai sesuai tabel berikut:
Nilai Huruf
-------------------------------------------
>= 80 A
70 <= Nilai < 80 B
56 <= Nilai < 70 C
45 <= Nilai < 56 D
< 45 E
Data yang diinput adalah nama mahasiswa, nim, nilai uas, nilai uts dan nilai tugas.
struct nilai
{
float uas,uts,tugas;
int bobot;
char huruf;
};
struct mahasiswa
{
char namamhs[20];
char nim[9];
nilai hasil;
};
mahasiswa mhs[100];
void garis()
{
for(int i=0;i<72;i++)
{
cout<<'-';
}
cout<<'\n';
}
void main()
{
int n;
char matakuliah[20];
cout<<"Masukan nama matakuliah : "; cin >>matakuliah;
cout<<"Masukkan jumlah mahasiswa = "; cin>>n;
mhs[i].hasil.bobot = 0.5*mhs[i].hasil.uas+0.3*mhs[i].hasil.uts+
0.2*mhs[i].hasil.tugas;
}
NEXT WEEK
Latihan
• Modifikasikan program di atas sehingga dapat
digunakan untuk menampilkan data dalam
bentuk tabel berikut. Struct mahasiswa terdiri
dari member nama, npm dan struct nilai.
Struct nilai terdiri dari member tugas, uts, uas
dan akhir. Untuk mendapatkan nilai akhir
digunakan rumus berikut:
• Akhir = 20%*tugas + 35%*UTS + 45%*UAS
• Di akhir tabel, hitung nilai rata-rata dari
seluruh mahasiswa
Nama Matakuliah:
Nilai rata-rata :
Latihan
• Sebuah perpustakaan menyimpan data buku
dalam bentuk struct yang terdiri dari member,
nomor buku, judul buku, nama pengarang,
dan status. Status hanya terdiri dari dua
kondisi yaitu “ada” dan “dipinjam”. Buatlah
program untuk membuat laporan dalam
bentuk tabel, semua buku yang ada dan
semua buku yang dipinjam
Latihan
• Sebuah toko bahan makanan menyimpan data
barangnya dalam bentuk struct yang terdiri
dari member nomor barang, nama barang,
harga barang, dan jumlah. Jika jumlah kurang
dari 50 maka pemilik toko harus segera
memesan barang tersebut. Buatlah program
untuk membuat laporan yang berisi daftar
barang yang harus dipesan dan daftar barang
yang tidak perlu dipesan (laporan dibuat
dalam bentuk tabel)
File
int main()
{
ofstream data(“tulis.txt”);
data<<“Namaku billy”<<endl;
data<<“Umurku 10 tahun”<<endl;
data<<“Hobiku makan”<<endl;
data.close();
}
write
int main()
{
char nama[10];
cout<<”Input nama”;
cin.get(nama,sizeof(nama));
ofstream data(“tulis2.txt”);
data.write((char *)&nama,sizeof(nama));
data.close();
}
ios::app
int main()
{
ofstream data(“tulis.txt”,ios::app);
data<<“Rumahku di bogor”<<endl;
data<<“Adikku suka bermain bola”<<endl;
data<<“Kucingku putih warnanya”<<endl;
data.close();
}
Baca file
int main()
{
char nama[10];
ifstream data;
data.open(“tulis.txt”);
while(data)
{
data.getline(nama,sizeof(nama));
cout<<nama<<endl;
}
data.close();
}
read
void main()
{
char nama[10];
ifstream data(“tulis1.txt”);
while(data)
{
data.read((char*)&nama,sizeof(nama));
cout<<nama<<endl;
}
data.close();
getch();
}
#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;
void main()
{
struct
{
char nama[15];
long honor;
}gaji_honorer[] = {{"Daniel",200000},
{"Rina",900000},
{"Mahmud",120000},
{"Hamid",25000}
};
ofstream gaji("gaji.txt");
gaji<<setiosflags(ios::left)<<setw(12)
<<"Nama"<<"Gaji"<<endl;
for(int i=0;i<4;i++)
gaji<<setiosflags(ios::left)<<setw(12)
<<gaji_honorer[i].nama
<<resetiosflags(ios::left)
<<setiosflags(ios::right)<<setw(6)
<<gaji_honorer[i].honor<<endl;
gaji.close();
system("pause");
}
• Tambahkan perintah untuk menyimpan ke file
pada program laporan.cpp