Aplikasi C++ Menambahkan Mengedit Menampilkan File
Aplikasi C++ Menambahkan File, Mengedit File, Menampilkan File
#include<iostream>
#include<fstream>
#include<iomanip>
#include<cstdlib>
using namespace std;
struct matkul{
char nmMtkul {10};
float nUts, nUas, nTugas, nAkhir;
char grd;
string lulus;
};
struct datadiri{
char nim [10];
char nama [20];
int jmlhMtkl;
matkul pilih [10];
};
void fcnulang(){
string ulang1;
do{
cout<<"Pilih lagi? (y/n)";
cin>>ulang1;
if(ulang1 =="y"){
break;
}
else if(ulang1 =="n"){
exit(0);
}
else{
cout<<"SALAH! (y/n), ";
}
}
while(ulang1!= "n" || "y");
}
main(){
string ulang,ulang1;
const int MAKS=80;
char penyangga [MAKS];
int pilihan,JmlhMhs,JmlhMatkul;
char NmFil[10];
do{
system("cls");
cout<<"MENU PILIHAN : \n";
cout<<"1. Buat File Baru\n";
cout<<"2. Tampil Isi File\n";
cout<<"3. Tambah File\n";
cout<<"4. Keluar\n";
cout<<"Pilihan Anda[1/2/3/4] : "; cin>>pilihan;
switch(pilihan){
//pilihan 1
case 1:
{system("cls");
cout<<"[Anda Memilih PILIHAN 1] \n";
cout<<"Nama file : ";cin>>NmFil;
ifstream fdata(NmFil);
if(!fdata.good()){
cout<<"Masukkan Berapa Mahasiswa yang akan diinput : "; cin>>JmlhMhs;
cin.ignore();
datadiri m[JmlhMhs];
for (int i=0; i<JmlhMhs; i++){
system("cls");
cout<<"[MAHASISWA "<<i+1<<"]"<<endl;
cout<<"Masukkan Nama : "; gets(m[i].nama);
cout<<"Masukkan NIM : "; gets(m[i].nim);
cout<<"\nBerapa Mata Kuliah : "; cin>>m[i].jmlhMtkl;
cin.ignore();
for (int j=0; j<m[i].jmlhMtkl; j++){
cout<<"Masukkan Mata Kuliah ke "<<j+1<<" :"; gets(m[i].pilih[j].nmMtkul);
cout<<"Masukkan Nilai Tugas : "; cin>>m[i].pilih[j].nTugas;
cout<<"Masukkan Nilai UTS : "; cin>>m[i].pilih[j].nUts;
cout<<"Masukkan Nilai UAS : "; cin>>m[i].pilih[j].nUas;
m[i].pilih[j].nAkhir = (m[i].pilih[j].nTugas + m[i].pilih[j].nUts + m[i].pilih[j].nUas) / 3;
cin.ignore();
}cout<<"============================\n\n";
}
//Simpan File
ofstream simpan (NmFil);
simpan<<" DAFTAR NILAI AP2 KELAS D \n\n";
simpan<<"No. NIM NAMA NAMAKUL TUGAS UTS UAS GRADE KET.\n\n";
simpan<<"------------------------------------------------------------------------\n\n";
for (int i=0; i<JmlhMhs; i++){
simpan<<setiosflags(ios::left)<<setw(4)<<i+1;
simpan<<setiosflags(ios::left)<<setw(12)<<m[i].nim;
simpan<<setiosflags(ios::left)<<setw(17)<<m[i].nama;
for (int j=0; j<m[i].jmlhMtkl; j++){
simpan<<setiosflags(ios::left)<<setw(10)<<m[i].pilih[j].nmMtkul;
simpan<<setiosflags(ios::left)<<setw(7)<<m[i].pilih[j].nTugas;
simpan<<setiosflags(ios::left)<<setw(5)<<m[i].pilih[j].nUts;
simpan<<setiosflags(ios::left)<<setw(5)<<m[i].pilih[j].nUas;
if (m[i].pilih[j].nAkhir<=50){
m[i].pilih[j].grd = 'E';
m[i].pilih[j].lulus = "Tidak Lulus";
}
else if (m[i].pilih[j].nAkhir<=60){
m[i].pilih[j].grd = 'D';
m[i].pilih[j].lulus = "Tidak Lulus";
}
else if (m[i].pilih[j].nAkhir<=80){
m[i].pilih[j].grd = 'C';
m[i].pilih[j].lulus = "Tidak Lulus";
}
else if (m[i].pilih[j].nAkhir<=90){
m[i].pilih[j].grd = 'B';
m[i].pilih[j].lulus = "Lulus";
}
else if (m[i].pilih[j].nAkhir<=100){
m[i].pilih[j].grd = 'A';
m[i].pilih[j].lulus = "Lulus";
}
simpan<<setiosflags(ios::left)<<setw(7)<<m[i].pilih[j].grd;
simpan<<setiosflags(ios::left)<<setw(7)<<m[i].pilih[j].lulus;
simpan<<endl<<setw(33)<<" ";
}simpan<<endl;
simpan<<"--------------------------------------------------------------------------\n";
}
simpan.close();
}
else{
cout<<"Maaf, File "<<NmFil<<" yang ingin anda buat sudah ada\n";
}
fcnulang();
ulang = "n";
cout<<"\n KEMBALI KE MENU UTAMA\n";
break;}
//pilihan2
case 2:{
system("cls");
cout<<"[Anda Memilih PILIHAN 2] \n";
cout<<"Nama file : ";cin>>NmFil;
ifstream fdata(NmFil);
if(fdata.good()){
while(!fdata.eof()) //baca seluruh data
{
fdata.getline(penyangga,MAKS);
cout<<penyangga<<endl;
}
}
else{
cout<<"Maaf file dengan nama "<<NmFil<<" tidak ada"<<endl;
fdata.close();
}
fcnulang();
ulang = "n";
cout<<"\n KEMBALI KE MENU UTAMA\n";
break;}
// pilihan 3
case 3:
{
system("cls");
cout<<"[Anda Memilih PILIHAN 3] \n";
cout<<"Nama file : ";cin>>NmFil;
ifstream fdata(NmFil);
if(fdata.good()){
cout<<"Masukkan Berapa Mahasiswa yang akan diinput : "; cin>>JmlhMhs;
cin.ignore();
datadiri m[JmlhMhs];
for (int i=0; i<JmlhMhs; i++){
system("cls");
cout<<"[MAHASISWA "<<i+1<<"]"<<endl;
cout<<"Masukkan Nama : "; gets(m[i].nama);
cout<<"Masukkan NIM : "; gets(m[i].nim);
cout<<"\nBerapa Mata Kuliah : "; cin>>m[i].jmlhMtkl;
cin.ignore();
for (int j=0; j<m[i].jmlhMtkl; j++){
cout<<"Masukkan Mata Kuliah ke "<<j+1<<" :"; gets(m[i].pilih[j].nmMtkul);
cout<<"Masukkan Nilai Tugas : "; cin>>m[i].pilih[j].nTugas;
cout<<"Masukkan Nilai UTS : "; cin>>m[i].pilih[j].nUts;
cout<<"Masukkan Nilai UAS : "; cin>>m[i].pilih[j].nUas;
m[i].pilih[j].nAkhir = (m[i].pilih[j].nTugas + m[i].pilih[j].nUts + m[i].pilih[j].nUas) / 3;
cin.ignore();
}cout<<"============================\n\n";
}
//Simpan File
ofstream simpan (NmFil, ios::app);
for (int i=0; i<JmlhMhs; i++){
simpan<<setiosflags(ios::left)<<setw(4)<<i+1;
simpan<<setiosflags(ios::left)<<setw(12)<<m[i].nim;
simpan<<setiosflags(ios::left)<<setw(17)<<m[i].nama;
for (int j=0; j<m[i].jmlhMtkl; j++){
simpan<<setiosflags(ios::left)<<setw(10)<<m[i].pilih[j].nmMtkul;
simpan<<setiosflags(ios::left)<<setw(7)<<m[i].pilih[j].nTugas;
simpan<<setiosflags(ios::left)<<setw(5)<<m[i].pilih[j].nUts;
simpan<<setiosflags(ios::left)<<setw(5)<<m[i].pilih[j].nUas;
if (m[i].pilih[j].nAkhir<=50){
m[i].pilih[j].grd = 'E';
m[i].pilih[j].lulus = "Tidak Lulus";
}
else if (m[i].pilih[j].nAkhir<=60){
m[i].pilih[j].grd = 'D';
m[i].pilih[j].lulus = "Tidak Lulus";
}
else if (m[i].pilih[j].nAkhir<=80){
m[i].pilih[j].grd = 'C';
m[i].pilih[j].lulus = "Tidak Lulus";
}
else if (m[i].pilih[j].nAkhir<=90){
m[i].pilih[j].grd = 'B';
m[i].pilih[j].lulus = "Lulus";
}
else if (m[i].pilih[j].nAkhir<=100){
m[i].pilih[j].grd = 'A';
m[i].pilih[j].lulus = "Lulus";
}
simpan<<setiosflags(ios::left)<<setw(7)<<m[i].pilih[j].grd;
simpan<<setiosflags(ios::left)<<setw(7)<<m[i].pilih[j].lulus;
simpan<<endl<<setw(33)<<" ";
}simpan<<endl;
simpan<<"--------------------------------------------------------------------------\n";
}
simpan.close();
}
else{
cout<<"Maaf, File "<<NmFil<<" yang ingin anda buat belum ada\n";
}
fcnulang();
ulang = "n";
cout<<"\n KEMBALI KE MENU UTAMA\n";
break;}
//pilihan 4
case 4:{
do{
system("cls");
cout<<"Apakah Anda Yakin KELUAR PROGRAM? (y/n) : ";
cin>>ulang1;
if(ulang1 =="y"){
return 0;
}
else if(ulang1 =="n"){
break;
}
else{
cout<<"SALAH! (y/n), ";
}
}
while(ulang1!= "n" || "y");
ulang = "n";
cout<<"\n KEMBALI KE MENU UTAMA\n";
break;
//Jika pilihan bukan 1,2,3,4;
}
default:{
cout<<"Maaf nomor yang anda masukkan salah, Masukkan Lagi ! \n";
system("pause");
ulang = "n";
}
}
}
while(ulang == "n");
}
Komentar
Posting Komentar