latest Post

Sorting Program through input to a txt file using C ++

Pengurutan Rangking dengan input melalui file txt


#include <iostream>
#include <fstream>
#include <conio.h>
#include <stdlib.h>
#include <sstream>
#include <string>
#include <cstdlib>
#include <cstring>

using namespace std;

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;
}


struct mahasiswa{
  string nama;
  int nilai;
} 

mahasiswa[30];
int panjang;

int bacafile(){
  string alltext="";
  char s[1024];
  fstream fh("D:/asistenin.txt");
  int a =0;
  int b=0;
  while(fh.getline(s, 1024)){
   alltext += s;
   alltext +="\n";
   
   if(a % 2 == 0){
     mahasiswa[b].nama = s;
   }
 else{
     mahasiswa[b].nilai = atoi(s);
     panjang = b;
     b++;
   }
   a++;
  }
  fh.close();
  return 0;
}

int urutdata(){
   int i, j, tmp;
   string tmp2;
   for(i=0; i< panjang - 1; i++){
       for(j=i+1; j < panjang; j++){
          if(mahasiswa[i].nilai < mahasiswa[j].nilai){
            tmp = mahasiswa[i].nilai;
            tmp2 = mahasiswa[i].nama;
            mahasiswa[i].nilai = mahasiswa[j].nilai;
            mahasiswa[i].nama = mahasiswa[j].nama;
            mahasiswa[j].nilai = tmp;
            mahasiswa[j].nama = tmp2;
          }
      }
   }
    return 0;
}

int tulisfile(){
    int i;
    int no=1;
    ofstream siswa("D:/asistenout.txt", ios::out);
    siswa<<"Nilai Mata Kuliah Algoritma dan Pemrograman";
    for(i=0;i < panjang;i++){
  siswa << no <<"."<< mahasiswa[i].nama << " " <<mahasiswa[i].nilai << endl;
  no++;
 }
}

int main(){
int input;
int nomer = 1;
int no=1;

   cout << "Program Pengurutan Rangking" << endl;
   bacafile();
   panjang += 1;
   cout << "Data dari D:/asistenin.txt (belum terurut)" << endl;
   
for(int i=0;i< panjang;i++){
    cout << nomer <<" "<< mahasiswa[i].nama << "\t\t-" << mahasiswa[i].nilai << endl;
 nomer++;
}

lagi:
cout<<endl;
cout << "Data siap diurutkan menurut rangking" << endl;
cout << "Tekan 1. untuk mulai mengurut\nTekan 0. untuk keluar" << endl;
validasi(); input=atoi(val);
cout<<endl;

if(input == 1){
urutdata();
cout<<"Nilai Mata Kuliah Algoritma dan Pemrograman";
for(int j=0;j< panjang;j++){
    cout << no <<"."<< mahasiswa[j].nama << "  - " << mahasiswa[j].nilai << endl;
 no++;
}
 tulisfile();
 cout << "data baru telah disimpan ke file D:/asistenout.txt" << endl;
}
else if(input!=1||input!=2){
 cout<<"Pilihan tidak tersedia";
 goto lagi;
}
    return 0;
}

About Unknown

Unknown
Recommended Posts × +

0 comments:

Post a Comment