FILE
Soal & Penyelesaian
1.
Tulislah sebuah program C++ untuk mendemonstrasikan pembacaan
dari dan penulisan ke suatu file.
Penyelesaian:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
//FileBacaTulis.cpp
//Membaca tiga angka dari
file infile.dat, menjumlahkan ketiganya,
//dan menuliskannya ke
file outfile.dat.
#include <fstream>
#include <conio.h>
int main( )
{
using
namespace std;
ifstream aliran_masuk;
ofstream aliran_keluar;
aliran_masuk.open("infile.dat");
aliran_keluar.open("outfile.dat");
int
pertama, kedua, ketiga;
aliran_masuk >> pertama >>
kedua >> ketiga;
aliran_keluar << "Penjumlahan atas 3 angka \n"
<< "dalam infile.dat\n"
<< "adalah " << (pertama +
kedua + ketiga)
<< endl;
aliran_masuk.close( );
aliran_keluar.close( );
getch();
return
0;
}
|
2. Tulislah program C++
yang lebih baik daripada pada soal nomor 1.
Penyelesaian:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
//FileBacaTulisBaik.cpp
//Membaca tiga angka dari
file infile.dat, menjumlahkan ketiganya,
//dan menuliskannya ke
file outfile.dat.
#include <fstream>
#include <iostream>
#include <cstdlib>
int main( )
{
using
namespace std;
ifstream
aliran_masuk;
ofstream
aliran_keluar;
aliran_masuk.open("infile.dat");
if
(aliran_masuk.fail( ))
{
cout << "Pembukaan file masukan gagal.\n";
exit(1);
}
aliran_keluar.open("outfile.dat");
if
(aliran_keluar.fail( ))
{
cout << "Pembukaan file keluaran gagal.\n";
exit(1);
}
int
pertama, kedua, ketiga;
aliran_masuk >> pertama >>
kedua >> ketiga;
aliran_keluar << "Penjumlahan atas 3 angka \n"
<< "dalam infile.dat\n"
<< "adalah " << (pertama +
kedua + ketiga)
<< endl;
aliran_masuk.close( );
aliran_keluar.close( );
return
0;
}
|
3. Tulislah sebuah
program C++ untuk membaca tiga angka dari suatu file yang dientrikan oleh
pengguna, menjumlahkan ketiganya, dan menuliskannya pada file lain yang juga dientrikan
oleh pengguna.
Penyelesaian:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
//BacaTulisFileLain.cpp
#include
<fstream>
#include
<iostream>
#include
<cstdlib>
int main( )
{
using namespace std;
char nama_file_masukan[16],
nama_file_keluaran[16];
ifstream aliran_masuk;
ofstream aliran_keluar;
cout <<
"Saya akan menjumlahkan
ketiga angka yang diambil dari sebuah \n"
<< "file masukan dan menuliskan hasil penjumlahannya pada file keluaran.\n";
cout <<
"Masukkan nama file masukan
(maksimum 15 karakter):\n";
cin >>
nama_file_masukan;
cout <<
"Masukkan nama file
keluaran (maksimum 15 karakter):\n";
cin >>
nama_file_keluaran;
cout <<
"Saya akan membaca angka-angka
dari file "
<<
nama_file_masukan << " dan\n"
<<
"menempatkan hasil penjumlahannya
pada file "
<<
nama_file_keluaran << endl;
aliran_masuk.open(nama_file_masukan);
if (aliran_masuk.fail( ))
{
cout <<
"Pembukaan file masukan gagal.\n";
exit(1);
}
aliran_keluar.open(nama_file_keluaran);
if (aliran_keluar.fail( ))
{
cout <<
"Pembukaan file keluaran gagal.\n";
exit(1);
}
int pertama, kedua, ketiga;
aliran_masuk
>> pertama >> kedua >> ketiga;
aliran_keluar
<< "Penjumlahan atas 3
angka \n"
<< "dalam infile.dat\n"
<< "adalah
" << (pertama + kedua + ketiga)
<< endl;
aliran_masuk.close( );
aliran_keluar.close( );
cout <<
"Akhir Program.\n";
return 0;
}
|
4. Tulislah sebuah
program C++ untuk mendemonstrasikan pemformatan keluaran pada file maupun pada
monitor.
Penyelesaian:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
//formatFileKeluaran.cpp
#include
<iostream>
#include <fstream>
#include
<cstdlib>
#include
<iomanip>
#include
<conio.h>
using namespace std;
void buat_bersih(ifstream& file_berantakan, ofstream& file_rapi,
int
jumlah_dijit_dibelakang_titik_desimal, int
lebar_bidang);
int main( )
{
ifstream fin;
ofstream fout;
fin.open("datamentah.dat");
if (fin.fail( ))
{
cout <<
"Pembukaan file masukan gagal.\n";
exit(1);
}
fout.open("datarapi.dat");
if (fout.fail( ))
{
cout <<
"Pembukaan file keluaran gagal.\n";
exit(1);
}
buat_bersih(fin,
fout, 5, 12);
fin.close( );
fout.close( );
cout <<
"Akhir program.\n";
getch();
return 0;
}
void buat_bersih(ifstream& file_berantakan, ofstream& file_rapi,
int
jumlah_dijit_dibelakang_titik_desimal, int
lebar_bidang)
{
file_rapi.setf(ios::fixed);
file_rapi.setf(ios::showpoint);
file_rapi.setf(ios::showpos);
file_rapi.precision(jumlah_dijit_dibelakang_titik_desimal);
cout.setf(ios::fixed);
cout.setf(ios::showpoint);
cout.setf(ios::showpos);
cout.precision(jumlah_dijit_dibelakang_titik_desimal);
double brktnya;
while (file_berantakan >>
brktnya)
{
cout <<
setw(lebar_bidang) << brktnya << endl;
file_rapi
<< setw(lebar_bidang) << brktnya << endl;
}
}
|
+10.37000
-9.89897
+2.31300
-8.95000
+15.00000
+7.33333
+92.87650
-123.75684
Akhir program.
5. Tulislah sebuah
program C++ untuk mengedit suatu file teks.
Penyelesaian:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
//editFileTeks.cpp
#include
<fstream>
#include
<iostream>
#include
<cstdlib>
#include <conio.h>
using namespace std;
void tambah_plus_plus(ifstream&
aliran_masuk, ofstream& aliran_keluar);
int main( )
{
ifstream fin;
ofstream fout;
cout <<
"Mulai mengedit file.\n";
fin.open("asli.dabt");
if (fin.fail( ))
{
cout <<
"Pembukaan file masukan gagal.\n";
exit(1);
}
fout.open("edit.dat");
if (fout.fail( ))
{
cout <<
"Pembukaan file keluaran gagal.\n";
exit(1);
}
tambah_plus_plus(fin, fout);
fin.close( );
fout.close( );
cout <<
"Akhir pengeditan file.\n";
getch();
return 0;
}
void tambah_plus_plus(ifstream& aliran_masuk, ofstream&
aliran_keluar)
{
char brktnya;
aliran_masuk.get(brktnya);
while (! aliran_masuk.eof( ))
{
if (brktnya == 'C')
aliran_keluar << "C++";
else
aliran_keluar << brktnya;
aliran_masuk.get(brktnya);
}
}
|
a mengerti contoh ini!
No comments:
Post a Comment