Advertisement
Eternoseeker

File handling aditya with delete

Dec 15th, 2022 (edited)
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.00 KB | Source Code | 0 0
  1. #include<bits/stdc++.h>
  2. #include<fstream>
  3. using namespace std;
  4.  
  5. class emp{
  6. int empid;
  7. string name;
  8.  
  9. public:
  10. emp()
  11. {
  12.     empid = 0;
  13.     name = "abc";
  14. }
  15.  
  16. void accept()
  17. {
  18.     cout<< "Enter employee details" << endl;
  19.     cout << "Enter employee id: " << endl;
  20.     cin >> empid;
  21.     cout << "Enter employee name: " << endl;
  22.     cin >> name;
  23. }
  24.  
  25. void display()
  26. {
  27.     cout << "Employee ID: " << empid << endl;
  28.     cout << "Employee name: " << name << endl;
  29. }
  30.  
  31. int retid(){
  32.     return empid;
  33. }
  34.  
  35. string retname(){
  36.     return name;
  37. }
  38. /*void search(int id){
  39.         if(id == empid){
  40.             display();
  41.         }
  42.         else{
  43.             cout<<"Data not found"<<endl;
  44.         }
  45. }
  46. */
  47.  
  48. };
  49.  
  50. int main()
  51. {
  52.     emp e1[4];
  53.     emp e2[4],e3[3];
  54.     fstream file,file2;
  55.     int ch = 10;
  56.     int flag = 0;
  57.     while(ch != 0){
  58.         cout << "Enter your choices: " << endl;
  59.         cout << "1: Write in file" << endl;
  60.         cout << "2: Read from file" << endl;
  61.         cout << "3: Search in file" << endl;
  62.         cout << "4: Delete data in file" << endl;
  63.         cout << "0: Exit" << endl;
  64.         cin >> ch;
  65.         switch(ch){
  66.             case 1:
  67.             file.open("/home/pccoe/Desktop/emp.txt");
  68.             for(int i = 0; i < 4; i++){
  69.                 e1[i].accept();
  70.                 file.write((char*)&e1[i],sizeof(e1[i]));
  71.             }
  72.             file.close();
  73.             break;
  74.             case 2:
  75.             file.open("/home/pccoe/Desktop/emp.txt");
  76.             for(int i = 0; i < 4; i++){
  77.                 file.read((char*)&e2[i],sizeof(e2[i]));
  78.                 e2[i].display();
  79.             }
  80.             file.close();
  81.             break;
  82.             case 3:
  83.             int searchid;
  84.             cout << "Enter the id to search: " << endl;
  85.             cin >> searchid;
  86.             file.open("/home/pccoe/Desktop/emp.txt");
  87.             for(int i = 0; i < 4; i++){
  88.                 file.read((char*)&e2[i], sizeof(e2[i]));
  89.                 if(e2[i].retid() == searchid){
  90.                     cout << "Data found" << endl;
  91.                     cout << e2[i].retname() << endl;
  92.                     flag = 1;
  93.                 }
  94.             }
  95.             if(flag == 0){
  96.                 cout << "data not found" << endl;
  97.             }
  98.             file.close();
  99.             break;
  100.             case 4:
  101.            int delete_id;
  102.             cout << "Enter the id to delete: " << endl;
  103.             cin >> delete_id;
  104.             file2.open("/home/pccoe/Desktop/cpy.txt");
  105.             for(int i = 0; i < 4; i++){
  106.                     if(e1[i].retid() != delete_id){
  107.                        file2.write((char*)&e1[i], sizeof(e1[i]));
  108.                     }
  109.             }
  110.             file2.close();
  111.             file2.open("/home/pccoe/Desktop/cpy.txt");
  112.             for(int i=0;i<3;i++)
  113.             {
  114.                 file2.read((char*)&e3[i],sizeof(e3[i]));
  115.                 cout<<e3[i].retname()<<endl;
  116.             }
  117.  
  118. //            remove("/home/pccoe/Desktop/emp.txt");
  119.             rename("cpy.txt", "emp.txt");
  120.            break;
  121.  
  122.         }
  123.     }
  124.     return 0;
  125. }
  126.  
  127.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement