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

Đề tài: lỗi khi dùng struct

  1. #1
    Ngày gia nhập
    12 2009
    Bài viết
    8

    Mặc định lỗi khi dùng struct

    tình hình là assignment của em là viết một kiểu nhập mảng và in ra có dùng struct và thư viện .
    Đây là bài em viết ( code trước thư viện và TDirectory.cpp)
    nó báo lỗi như này em cũng ko hiểu tại sao =-= . mong mọi người giúp em.

    TDirectory.h
    #include <iostream>
    #include <iomanip>
    using namespace std;
    struct TDirectory{
    char name[20];
    char address[30];
    char phone[20];
    void accept();
    void display();
    };

    TDirectory.cpp
    #include <iostream>
    #include <iomanip>
    #include "TDirectory.h"
    using namespace std;
    void accept(){
    cout<< "Enter name : ";
    cin.getline(name,20);
    cout<< "Enter address : ";
    cin.getline(address,30);
    cout<< "Enter phone : ";
    cin>> phone;
    }
    void display(){
    cout<<"Telephone Directory\n";
    cout<<" ===================\n";
    cout<<name;
    cout<<"\t"<<address;
    cout<<"\t\t"<<phone;
    }
    nó báo lỗi ở dòng này : cin.getline(name,20);
    "D:\FPT\OOP\Lab4\TDirectory.cpp `name' undeclared (first use this function) "

    Mong mọi ng chỉ bảo

  2. #2
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    thế bạn có phân biệt được giữa struct và class ko dậy.
    HT117-5277

  3. #3
    Ngày gia nhập
    07 2011
    Bài viết
    2

    bạn làm struct kiểu này thì cũng phức tạp hóa đấy, dùng kiểu này hay dùng bên class thôi chờ khi bạn học class sẽ rõ.
    Nhưng nếu bạn làm theo kiểu struct mà muốn vậy thì có thể code lại cái file .cpp của bạn theo sau:

    C++ Code:
    1. #include <iostream>
    2. #include <iomanip>
    3. #include "TDirectory.h"
    4. using namespace std;
    5.  
    6. void TDirectory:: accept(){
    7. cout<< "Enter name : ";
    8. cin.getline(name,20);
    9. cout<< "Enter address : ";
    10. cin.getline(address,30);
    11. cout<< "Enter phone : ";
    12. cin>> phone;
    13. }
    14. void TDirectory:: display(){
    15. cout<<"Telephone Directory\n";
    16. cout<<" ===================\n";
    17. cout<<name;
    18. cout<<"\t"<<address;
    19. cout<<"\t\t"<<phone;
    20. }

  4. #4
    Ngày gia nhập
    07 2011
    Bài viết
    160

    Trích dẫn Nguyên bản được gửi bởi treatmaster Xem bài viết
    thế bạn có phân biệt được giữa struct và class ko dậy.
    Thế bạn có phân biệt được không? Struct khác class chỗ nào?

  5. #5
    Ngày gia nhập
    12 2009
    Bài viết
    8

    Mặc định vâng, cám ơn mọi người

    hqua lọ mọ đến sáng em đã hiểu tại sao lại bị thế rồi . Đáng lẽ phải thêm void TDirectory::accept()chứ ko phải là TDirectory::accept()

    Đây là bài hoàn chỉnh của em ,dĩ nhiên là vẫn có lỗi

    Main :
    #include <iostream>
    #include <iomanip>
    #include "TDirectory.h"

    using namespace std;
    int main(){
    int nc;
    cout << "Enter how many people? ";
    cin>>nc;
    TDirectory *list = new TDirectory[nc];

    for(int i=0;i<nc;i++){
    list[i].accept();
    }
    for(int i=0;i<nc;i++){
    list[i].display();
    }


    system("pause");
    }
    Diectory.cpp

    #include <iostream>
    #include <iomanip>
    #include "TDirectory.h";

    using namespace std;
    void TDirectory::accept(){
    cout << "Enter Name : ";
    cin.ignore(1,'\n');
    cin.getline (Name,20);
    cout << "Enter Address : ";
    cin.getline (Address,30);
    cout << "Enter Phone Number : ";
    cin.getline (Phone,20);
    }
    void TDirectory::display(){
    cout << Name;
    cout << "\t" << Address;
    cout<< "\t\t" << Phone << endl;
    }
    TDirectory.h

    #include <iostream>
    #include <iomanip>


    using namespace std;
    struct TDirectory{
    char Name[20],Address[30],Phone[20];
    void accept();
    void display();
    };
    bây giờ thì chuơng trình chạy ngon mỗi tội bị trôi xừ cái ENter name lúc nhập lần thứ 2 ý T^T.
    Mọi người giúp em nha

  6. #6
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    Mặc định lỗi khi dùng struct

    Trích dẫn Nguyên bản được gửi bởi fbchicken Xem bài viết
    Thế bạn có phân biệt được không? Struct khác class chỗ nào?
    sr em đã sai.
    HT117-5277

  7. #7
    Ngày gia nhập
    07 2011
    Bài viết
    160

    Trích dẫn Nguyên bản được gửi bởi treatmaster Xem bài viết
    sr em đã sai.
    hic, mình hỏi thật chứ không có ý bắt bẻ gì bạn cả :(
    Vì theo mình thấy thì struct và class khác nhau rất ít - hình như có mỗi mặc định struct là public còn class là private, còn lại thì giống nhau. Nếu bạn biết nó khác nhau những chỗ nào nữa thì thảo luận để mình thêm kiến thức thôi.

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

  1. Bài tập C++ Tối giản phân số dùng struct
    Gửi bởi xoycontinue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 26-05-2011, 06:58 PM
  2. dùng struct hay class?
    Gửi bởi jb_hoangluan trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 04-05-2011, 09:44 AM
  3. Bài tập C Săp xếp mảng dùng struct, sắp xếp theo CMT?
    Gửi bởi JaKunKa 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: 26-12-2010, 02:46 PM
  4. Bài tập C Tính tổng và sắp xếp điểm sinh viên dùng Struct
    Gửi bởi ryokun trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 08-07-2010, 03:43 AM
  5. Kỹ thuật C++ Cách dùng template cho struct.
    Gửi bởi trihn_kt trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 27-05-2010, 08:34 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