latest Post

Program to Inputting a file txt file using C ++


Buatlah sebuah sistem informasi data mahasiswa dari bahasa pemrograman C++. Program tersebut berisi NIM dan Nama Mahasiswa. Data pada program tersebut disimpan dalam sebuah file (file text) dimana file tersebut dapat ditempatkan pada drive manapun. Data dalam program tidak hilang jika program dimatikan dan dapat di-update terus menerus, selain itu program ini tidak memungkinkan ada pendoublean data mahasiswa (Gunakan searching untuk menentukan apakah data baru yang ingin ditambah sudah ada atau belum). Program Sistem Informasi tersebut diharapkan mampu untuk menciptakan sebuah file, membaca file dan mencetak sebuah file untuk dapat diupdate terus menerus.  
#include <iostream>
#include <cstring>
#include <conio.h>
#include <string>
#include <fstream>
#include <cstdlib>
#include <cstring>
using namespace std;

ifstream tulis;
ofstream baca;

int kata;
char val [100];

int validasi()
{
    do
    {
        kata=0;
        cin>>val;
        for(int i=0; i<strlen(val); i++)
        {
            if(isdigit(val[i])==0)
                kata++;
        }
        if(kata !=0)
            cout<<"Input salah !\n"<<endl;

    }
 while(kata!=0);
    return 0;
}


class mahasiswa{
 int nim;
 char nama[100];
 public :
  void inputdata(int cari){
   nim=cari;
   cout<<endl;
   cout<<"Data Mahasiswa "<<endl;
   cout<<"Nama(tanpa_spasi) : "; cin>>nama;
   cout<<"NIM   : ";
   cout<< nim;
   
  }
  
  void outputdata(){
   cout<<endl;
   cout<<"Data Mahasiswa "<<endl;
   cout<<"NIM  : "<<nim<<endl;
   cout<<"Nama  : "<<nama<<endl; 
  }
  
  int getnim(){
   return nim;
  }
 
};

void simpandata(int a){
 char daftarnama[10000]="D:/daftarnama.txt";
 mahasiswa mhs;
 mhs.inputdata(a);
 baca.open(daftarnama,ios::binary|ios::app);
 baca.write((char*)&mhs, sizeof(mhs));
 baca.close();
}

void bacadata(){
 char daftarnama[10000]="D:/daftarnama.txt";
 mahasiswa mhs;
 ifstream f;
 f.open(daftarnama, ios::binary);
 while(f.read((char*)&mhs, sizeof(mhs))){
  mhs.outputdata();
 }
}

int caridata(int nim){
 char daftarnama[10000]="D:/daftarnama.txt";
 mahasiswa mhs, mhsKetemu;
 int ketemu=0;
 tulis.open(daftarnama, ios::binary);
 while(tulis.read((char*)&mhs, sizeof(mhs))){
  if(mhs.getnim()==nim){
   mhsKetemu=mhs;
   ketemu=1;
   break;
  }
 }
 return ketemu;
 
}
int main(){
 char pilihan;
 char daftarnama[10000]="D:/daftarnama.txt";
 int cari;
 mahasiswa mhs;
 lagi :
 system("cls");
 cout<<"Program Pengisian Data Mahasiswa";
 cout<<"\nMasukkan nim : ";
 validasi(); cari=atoi(val);
 
 int ketemu=caridata(cari);
 
 if(ketemu!=0){
  cout<<endl;
  cout<<"Data sudah ada. Silahkan coba kembali!";
  getch();
  goto lagi;
 }
 
 simpandata(cari);
 a:
 cout<<"\n\nIngin memasukkan data mahasiswa lagi (y/n)  : ";
 cin>>pilihan;
 if(pilihan == 'y'|| pilihan == 'Y')
  goto lagi;
 else if (pilihan == 'n'|| pilihan == 'N')
  goto lanjut;
 else {
  cout<<"Pilihan tidak tersedia";
  goto a;
 }
 
 lanjut:  
 bacadata();
 return 0;
}




About Unknown

Unknown
Recommended Posts × +

0 comments:

Post a Comment