Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: [ Solved ]Help với File

  1. #1
    Ngày gia nhập
    09 2008
    Bài viết
    16

    Mặc định [ Solved ]Help với File

    Code:
    #include <fstream>
    #include <cstdlib>
    #include <iostream>
    #include <string>
    using namespace std;
    
    #define inFile "EmpFile.txt"
    #define outFile " Salary.txt"
    
    float processEmp(ifstream&,ofstream&);
    int main()
    {
        ifstream eds;
        ofstream pds;
        float totalPayroll;
        //prepare files.
        eds.open (inFile);
        if (eds.fail())
        {
                       cerr<< " *** ERROR : cannot open " << inFile<<"for input" << endl;
                       return EXIT_FAILURE;
                       }
        pds.open(outFile);
        if(pds.fail()) 
        {
                       cerr << " **ERROR : cannot open" << outFile << "for output" << endl;
                       eds.close();
                       return EXIT_FAILURE;
                       }
             //Process all employees and compute total payroll
             totalPayroll = processEmp(eds,pds);
             cout<< "total payroll is $" << totalPayroll<< endl;
             
             eds.close();
             pds.close();
             return 0;
             }
        float processEmp(ifstream$ eds, oftream$ pds)
        {
              string firstName;
              string lastName;
              float hours;
              float rate;
              float salary;
              float payroll;
              payroll= 0.0;
              eds>>firstName>> lastName>> hours>>rate;
              while (!eds.eof())
              {
                    salary = hours * rate;;
                    pds << firstName << "" << lastName
                    << " " << salary<< endl;
                    payroll += salary;
                    eds >> firstName>> lastName>> hours >> rate;
                    }
                    return payroll;
                    }
    mình chưa hiểu lắm về chương trình này, với lại nó cũng chưa chạy, và cách để thiết lập file thế nào để nó read first name, last name này kìa
    với cho mình hỏi tại sao lúc dùng fstream thỉ phải dùng pass by reference, mình đang hoc ở nước ngoài , mới được mấ ytua2n , nên đọc tàil iệu vẫn chưa hiểu hết ...
    cho mình hỏi ứng dụng của C++ trong thực tế là gì luôn ...
    thanks
    to Mod rock : bài viết của pro về file thật là hay , chẳng bù với mấy bác VN dịch tào lao thiên địa, dùng technical term hán việt ì xèo, nội nhớ term hông cung đủ mệt hihi

  2. #2
    Ngày gia nhập
    11 2008
    Bài viết
    186

    @7: <cái nick hơi bị khó chịu -_-;;>
    Bài này bug nhiều, linh tinh và không có quy cách. <đọc cái paper về coding style C++ để biết thêm chi tiết>

    . pass by reference tức là tham chiếu, giá trị truyền vào sửa được truyền vào local xử lý và lưu lại giá trị ra vị trí gọi (tham số vào, chỉnh sửa, sau khi ra sẽ thay đổi)
    C++ Code:
    1.  eds.open (inFile);
    chưa xác định mở kiểu gì, default sẽ là in và text mode

    C++ Code:
    1. eds>>firstName>> lastName>> hours>>rate;
    khi có nhiều giá trị input thì tránh sử dụng ôperater >>
    sử dụng cái
    C++ Code:
    1. istream& read(char*, streamsize);

    để lấy input cho chuẩn
    cũng có thể xác định delimiter để phân cách từng giá trị.

  3. #3
    Ngày gia nhập
    09 2008
    Bài viết
    16

    cái này mình chép trong text book ra, mình mới học programming nên chưa biết nhìu, pro có thể giảng rõ hơn chút nữa đuoc khong

  4. #4
    Ngày gia nhập
    09 2008
    Bài viết
    16

    pro nói rõ thêm cho mình về cái pass by reference đi, mình ngu quá, đọc đi đọc lại mà vẫn chưa hiểu bản chất của nó
    với cho em hỏi, tại sao khi dùng file fai dùng pass by reference thế
    pro nào sửa dùm mình cho chương trình nó chạy thử 1 lần chco mình coi làm ví dụ đuoc khong a??
    Đã được chỉnh sửa lần cuối bởi Se7Olutionyg : 12-11-2008 lúc 04:35 AM.

  5. #5
    Ngày gia nhập
    11 2008
    Nơi ở
    Neverland
    Bài viết
    48

    Các luồng vào ra cũng là đối tượng nên muốn lưu giữ kết quả xuất ra hay nhập vào luồng vào ra đó thì phải truyền theo kiểu tham biến pass-by-reference . Toán tử << hay >> trong Standard C++ được khai báo với đối số kiểu tham chiếu nên nếu muốn xài nó bạn phải dùng trên các biến luồng vào ra khai báo tham chiếu ifstream &,ostream & .
    Code:
            float processEmp(ifstream$ eds, oftream$ pds) //Xem lại declaration của hàm đi bạn
    ifstream$,oftream$?????? Lỗi cú pháp tự mày mò mấy cái lỗi cú pháp này cho quen nhé bạn . Lúc đầu mình cũng hay sai mấy cái lỗi cú pháp này do gõ sai lắm .Ok sửa luôn .
    Code:
            float processEmp(ifstream& eds, ofstream& pds)
    I'm superman

Các đề tài tương tự

  1. [ Solved ]Ghi dữ liệu lên file
    Gửi bởi ddhung trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 17-11-2008, 10:30 PM
  2. [ Solved ]Tạo file header
    Gửi bởi boy_popping trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 15
    Bài viết cuối: 28-10-2008, 02:22 PM
  3. [ Solved ]Cách đọc file .txt vừa có số và ký tự
    Gửi bởi shu2204 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 12-10-2008, 09:11 PM
  4. [ Solved ]Xin hỏi cách lấy một số int từ file??
    Gửi bởi killua1989 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 17
    Bài viết cuối: 01-08-2008, 11:00 PM
  5. [Solved]Save một file vào db
    Gửi bởi nthung trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 1
    Bài viết cuối: 13-04-2008, 06:24 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn