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

Đề tài: Không in được dữ liệu ra màn hình?(sử dụng Struct)

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

    Question Không in được dữ liệu ra màn hình?(sử dụng Struct)

    Mình làm 1 bài sử dụng struc person, mình cho nhập dữ liệu vào từ bàn phím nhưng lại không in lại được ra màn hình dữ liệu vừa nhập. Các bạn xem lỗi cấu trúc chương trình này giúp mình nhé:
    Visual C# Code:
    1. namespace Program
    2. {
    3.     class Program
    4.     {
    5.         struct person
    6.         {
    7.             public string Name;
    8.             public string Address;
    9.             public int Age;
    10.             public void show(string name,string address, int age)
    11.             {
    12.                 Name = name; Address = address; Age = age;
    13.                 Console.WriteLine("Name{0}:" + Name);
    14.                 Console.WriteLine("Address{0}:" + Address);
    15.                 Console.WriteLine("Age{0}:" + Age);
    16.             }
    17.         }
    18.         static void Main(string[] args)
    19.         {
    20.             Console.WriteLine("Nhap du lieu tu ban phim:");
    21.             person p = new person();
    22.             string Name = Console.ReadLine();
    23.             string Address = Console.ReadLine();
    24.             int Age = Console.Read();
    25.             p.show(p.Name,p.Address,p.Age);
    26.             Console.ReadLine();
    27.         }
    28.     }
    29. }

  2. #2
    Ngày gia nhập
    06 2007
    Nơi ở
    TP.HCM
    Bài viết
    113

    Rất đơn giản, chẳng qua bạn ko chịu nhìn xem mình gán sai như thế nào. Hãy nhìn vào Main() với phương thức

    Code:
    p.show(p.Name,p.Address,p.Age);
    Nhìn các tham số bạn gán và tham số nhận từ bàn phím bạn có thấy khác nhau điều gì ko?

    p.Name là giá trị nào trong khi giá trị bạn nhận từ bàn phím là Name. Nhận từ bàn phím là một biến khác, gán vào là một biến khác thì liệu nó có in ra giá trị.

    Còn vài lỗi cơ bản nữa:
    Code:
    Console.WriteLine("Name{0}:" + Name)
    Thay dấu "+" = dấu "," mới đúng cấu trúc.

    Và một điều nữa là hãy xem cách xử lý nhận dữ liệu từ bàn phím với .Read(), chạy đi rồi đừng hỏi sao in tuổi ra ko đúng như nhập vào.

    Và câu hỏi cuối cùng là tại sao dùng struct, mà ko dùng class

    Gác Kiếm

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

    1,Tớ chỉ thử với struct xem thế nào thôi, chư còn thì nên dùng class.
    2,Tớ đọc tài liệu thấy rằng .Read() là dùng cho nhập số int từ bàn phím, còn .ReadLine() là cho string.
    3,Tớ cho chạy thì lúc nó in ra màn hình quá nhanh, nếu nhìn nhanh thì vẫn biết rõ kết quả. Nhưng sao tớ dùng Console.ReadLine() để dừng màn hình rồi mà lại bị như vậy???

  4. #4
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Trích dẫn Nguyên bản được gửi bởi NghiDung Xem bài viết
    1,Tớ chỉ thử với struct xem thế nào thôi, chư còn thì nên dùng class.
    2,Tớ đọc tài liệu thấy rằng .Read() là dùng cho nhập số int từ bàn phím, còn .ReadLine() là cho string.
    3,Tớ cho chạy thì lúc nó in ra màn hình quá nhanh, nếu nhìn nhanh thì vẫn biết rõ kết quả. Nhưng sao tớ dùng Console.ReadLine() để dừng màn hình rồi mà lại bị như vậy???
    Mình đang không có ở nhà, nên không nhớ chính xác.
    3.Bạn có thể phân tích một đoạn code bởi step by step(F9 hay F10 gì đó).-> sẽ dễ hiểu hơn chứ nhìn nhanh làm sao được
    2.Muốn là số int thì int.Parse(Console.ReadLine()) ( hình như vậy, bạn có thể sử dụng hidden code mình không nhớ)

    Thân!
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

  5. #5
    Ngày gia nhập
    06 2007
    Nơi ở
    TP.HCM
    Bài viết
    113

    Thêm vào dòng
    Console.ReadLine()
    Vào phương thức Show() để chương trình dừng lại và chờ nhấn phím khi chạy xong

    Gác Kiếm

  6. #6
    Ngày gia nhập
    02 2008
    Bài viết
    25

    Mặc định Không in được dữ liệu ra màn hình?(sử dụng Struct)

    Trích dẫn Nguyên bản được gửi bởi NT_OnlyLove Xem bài viết
    2.Muốn là số int thì int.Parse(Console.ReadLine()) ( hình như vậy, bạn có thể sử dụng hidden code mình không nhớ)
    Cái này mình đã thử và được rồi. Nếu mình muốn dùng là số float thì có dùng được như vậy? Thanks!

  7. #7
    Ngày gia nhập
    02 2008
    Bài viết
    25

    Mình đang đọc đến phần kế thừa và làm 1 bài như sau: nhập và in ra dữ liệu cho lớp person, sau đó kế thừa lớp này cho lớp sinh viên.
    Visual C# Code:
    1. {
    2.     class person
    3.     {
    4.         public string Name;
    5.         public string Address;
    6.         public int Age;
    7.         public virtual void Input()
    8.         {
    9.             string Name = Console.ReadLine();
    10.             string Address = Console.ReadLine();
    11.             int Age = int.Parse(Console.ReadLine());
    12.         }
    13.         public virtual void show(string name,string address,int age)
    14.         {
    15.             Name = name; Address = address; Age = age;
    16.             Console.WriteLine("Name:{0}", Name);
    17.             Console.WriteLine("Address:{0}", Address);
    18.             Console.WriteLine("Age:{0}", Age);
    19.             Console.ReadLine();
    20.         }
    21.     }
    22.     class student:person
    23.     {
    24.         public int Point;
    25.         public override void Input()
    26.         {
    27.             base.Input();
    28.             int Point = int.Parse(Console.ReadLine());
    29.  
    30.         }
    31.         public override void show(string name,string address,int age, int point)
    32.         {
    33.             base.show(Name,Address,Age);
    34.             Console.WriteLine("Point:{0}", Point);
    35.         }
    36.     }
    37.     class Test
    38.     {
    39.         static void Main(string[] args)
    40.         {
    41.             string Name, Address;
    42.             int Age, Point;
    43.             person p = new person();
    44.             student s = new student();
    45.             Console.WriteLine("Nhap du lieu cho lop person:");
    46.             p.Input();
    47.             p.show(Name,Address,Age);
    48.             Console.WriteLine("Nhap du lieu cho lop sinh vien:");
    49.             s.Input();
    50.             s.show(Name,Address,Age,Point);
    51.             Console.ReadLine();
    52.  
    53.         }
    54.     }
    55. }

    Nhưng vẫn không in ra được nội dung dữ liệu nhập vào. Không biết mình làm kế thừa như thế đúng không nữa. Đang học nên chưa rõ lắm. Các bạn xem và sửa sai giúp tớ. Thanks!

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

  1. Gửi struct thông qua socket có khác nhau giữa gửi từng field và gửi cả struct?
    Gửi bởi bptvip_pro trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 7
    Bài viết cuối: 12-05-2013, 02:35 AM
  2. Bài tập C++ làm sao truy xuất biến của struct lồng trong struct
    Gửi bởi quangnam.tamky 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: 10-04-2013, 05:22 PM
  3. Lập trình C++ Giúp đỡ về điểm khác nhau giữa struct và typedef struct
    Gửi bởi huydang2410 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 27-02-2013, 10:30 AM
  4. Khác nhau giữa struct trong c và struct trong c++
    Gửi bởi nhutlv01 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: 17-02-2012, 09:12 AM
  5. kiểu struct trên C++. CHo em hỏi rõ về kiểu struct???
    Gửi bởi nhonx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 13-01-2010, 08:39 AM

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