Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: [ Solved ]Xem giùm em sao ko lặp được?

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

    Question [ Solved ]Xem giùm em sao ko lặp được?

    em muốn khi người sử dụng ko nhập tiếp tên người tiếp theo thì chuơng trình sẽ dừng.Nên em so sánh name và chuỗi rõng.
    em mấy anh cho em vài lời khuyên hay code lại cũng đuợc.
    thanks!

    C++ Code:
    1. #include<stdio.h>
    2. #include<string.h>
    3. #include<iostream.h>
    4.  
    5. struct nguoi
    6. {
    7.     char name[30];
    8.     int age;
    9. };
    10.  
    11. void main()
    12. {
    13.     FILE *f;
    14.     f=fopen("xuat.txt","w");
    15.     nguoi a;
    16.     do
    17.     {
    18.         cout <<"ho ten: ";
    19.         cin.getline(a.name,30);
    20.         if(strcmp(a.name,""))
    21.         {
    22.         cout<<"nam sinh: ";
    23.         cin>>a.age;
    24.         fprintf(f,"%s\n%d\n",a.name,a.age);
    25.         }
    26.     }while(strcmp(a.name,""));
    27.     fclose(f);
    28. }

    Cảnh cáo: Vui lòng để code vào trong tag code. Đọc Nội quy để biết thêm chi tiết
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đã được chỉnh sửa lần cuối bởi Kevin Hoang : 06-09-2008 lúc 08:00 AM. Lý do: Nhắc nhở

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình đã sửa lại cho bạn rồi đó, lần sau bạn nhớ bọc code trong tag CODE nha.
    C Code:
    1. #include<stdio.h>
    2. #include<string.h>
    3. #include<iostream.h>
    4.  
    5. struct nguoi
    6. {
    7.     char name[30];
    8.     int age;
    9. };
    10.  
    11. void main()
    12. {
    13.     FILE *f;
    14.     f=fopen("xuat.txt","w");
    15.     nguoi a;
    16.     do
    17.     {
    18.         cout <<"ho ten: ";
    19.         cin.getline(a.name,30);
    20.  
    21.         if(strcmp(a.name,""))
    22.         {
    23.             cout<<"nam sinh: ";
    24.             cin>>a.age;
    25.             fprintf(f,"%s\n%d\n",a.name,a.age);
    26.             cin.ignore();
    27.         }
    28.     }
    29.     while(strcmp(a.name,""));
    30.  
    31.     fclose(f);
    32. }
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    09 2008
    Nơi ở
    Kĩ viện
    Bài viết
    169

    Lặp cho tới khi nào vẫn còn "khác" rỗng

    Code:
    while(a.name != "");
    Xài std::string đi.

    Xin bạn, chỗ nào vấn đề thì bạn cho vào, bạn post hẳn cái mớ đấy lên làm gì.
    Phá toái hư không - Bạch nhật thăng thiên.

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn ấy đưa hết code lên là đúng rồi. Sửa như bạn NamVoDang cũng ko chạy được đâu. Lỗi sinh ra do cin chưa được flush sau khi nhập chuỗi chứ dùng hàm strcmp vẫn chạy đúng.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    09 2008
    Nơi ở
    Kĩ viện
    Bài viết
    169

    Kiểu đấy là kiểu nhập thì thoát ko nhập thì loop tiếp, đúng ngã nào, còn cái vụ
    flush thì...tớ ko dùng mấy cái ấy bao giờ nên ko biết, tại toàn lập trình OOP, dùng toàn đối tượng ko, xài C# quen nên qua C++ cũng rứa(úi lại lan man rồi)

    Edit:

    Code:
    #include<stdio.h>
    #include<string.h>
    #include<iostream.h>
    Ý tớ là đoạn này ấy.
    Phá toái hư không - Bạch nhật thăng thiên.

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

    Mặc định [ Solved ]Xem giùm em sao ko lặp được?

    cám ơn bạn meoconlongvang nha.
    nhưng cho mình hỏi hàm cin chỉ dùng cin.ignore mới hết flush được hả?
    mình dùng flushall() được ko?

  7. #7
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi khanh_0507 Xem bài viết
    nhưng cho mình hỏi hàm cin chỉ dùng cin.ignore mới hết flush được hả? mình dùng flushall() được ko?
    Mình chưa thử nên cũng ko chắc. Nhưng theo mình biết thì ignore dùng với cin còn flushall thì dùng với scanf
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  8. #8
    Ngày gia nhập
    09 2008
    Nơi ở
    Kĩ viện
    Bài viết
    169

    The function strcmp() compares str1 and str2, then returns:

    Return value Explanation
    less than 0 ''str1'' is less than ''str2''
    equal to 0 ''str1'' is equal to ''str2''
    greater than 0 ''str1'' is greater than ''str2''
    Ác



    Rứa là sao?
    Phá toái hư không - Bạch nhật thăng thiên.

  9. #9
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    ví dụ như vầy nè :
    abc = abc => 0 ( false )
    abd > abc => 1 ( not false )
    abcd > abc => 1 ( not false )
    abc < aef => -1 ( not false )
    đại loại là như vậy
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  10. #10
    Ngày gia nhập
    08 2008
    Nơi ở
    ha noi
    Bài viết
    79

    Trích dẫn Nguyên bản được gửi bởi khanh_0507 Xem bài viết
    cám ơn bạn meoconlongvang nha.
    nhưng cho mình hỏi hàm cin chỉ dùng cin.ignore mới hết flush được hả?
    mình dùng flushall() được ko?

    cin.ignore là phương thức bỏ qua ký tự chuyển dòng nó dc dùng trong C++ cũng như fflush được dùng trong C vâỵ vì sau khi câụ dùng count nó sẽ để lại ký tự chuyển dòng "\n" và sẽ làm trôi phươnng thức cin.get

    còn nêú bạn dùng flushall(); nó sẽ làm trôi phương thức ngay nó sẽ không cho bạn nhập vào các dữ liêu kiêủ char ^^!
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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

  1. Lập trình C++ Xem cái hàm này giùm mình tí!
    Gửi bởi thientrang1203 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 12-04-2012, 08:37 PM
  2. [ Solved ]Chỉ giùm em lỗi sai struct
    Gửi bởi acaica trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 30-10-2008, 04:31 PM
  3. [ Solved ]Coi giùm em cái danh sách liên kết này với!!!
    Gửi bởi Kan trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 25-10-2008, 10:13 PM
  4. [ Solved ]Cần giúp giùm về mảng 1 chiều
    Gửi bởi Mr.Phong trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 04-09-2008, 08:58 PM
  5. [C++] ai bít sửa giùm lỗi này với !!!!!
    Gửi bởi Sieg trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 10-12-2007, 09:02 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