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