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

Đề tài: Nhập "\t" và "\t" trong khi ghi file C/C++?

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

    Mặc định Nhập "\t" và "\t" trong khi ghi file C/C++?

    Mình có bài về số nguyên tố và ghi ra file.txt những số nguyên tố từ 1 --> 100. Tìm trên mạng, thấy 1 bài ghi file có thể dùng "\t" để cách 1 tab cho dữ liệu nhập vào. Nhưng khi mình làm, thì file không ghi dữ liệu gì cả. Thêm nữa là tại sao ghi nhấn n hoặc N, thì chương trình không thoát ra (đã để (choice != 'n' || choice != 'N')). Mình viết bằng Code:Block.

    Bài này mình viết biến bằng tiếng anh, nên có gì bất tiện mọi người thông cảm cho.

    Code:
    #include <iostream>
    #include <iomanip>
    #include <string>
    #include <fstream>
    using namespace std;
    
    int main()
    {
       int number, d, n, count=0;
       char choice;
       string isPrime = " is the Prime number.",
              ntPrime = " is not the Prime number";
    
       ofstream oPrime;
       oPrime.open("Prime_Number_list.txt");
       {
       do{
          cout << "\nEnter a number: "; cin >> number;
          while(number<=100)
          {
             d=1;
             for(int i=2; i<=(number/2); ++i)
             {
                d=d*int(number%i);
             }
             if(d!=0)
             {
                ++count;
                cout << number;;
                oPrime << number;
                if(count%5 != 0)
                {
                   cout << "\t";
                   oPrime << "\t";
                }
                else
                {
                   cout << "\n";
                   oPrime << "\n";
                }
             }
          ++number;
          }
          cout << "\nDo you want to do again? (Y/N) "; cin >> choice;
       }while(choice!='N' || choice!='n');
       }
       oPrime.close();
    return 0;
    }

  2. #2
    Ngày gia nhập
    03 2012
    Nơi ở
    Minh Khai- Hai Bà Trưng - Hà Nội
    Bài viết
    78

    Trích dẫn Nguyên bản được gửi bởi krs Xem bài viết
    Mình có bài về số nguyên tố và ghi ra file.txt những số nguyên tố từ 1 --> 100. Tìm trên mạng, thấy 1 bài ghi file có thể dùng "\t" để cách 1 tab cho dữ liệu nhập vào. Nhưng khi mình làm, thì file không ghi dữ liệu gì cả. Thêm nữa là tại sao ghi nhấn n hoặc N, thì chương trình không thoát ra (đã để (choice != 'n' || choice != 'N')). Mình viết bằng Code:Block.

    Bài này mình viết biến bằng tiếng anh, nên có gì bất tiện mọi người thông cảm cho.

    Code:
    #include <iostream>
    #include <iomanip>
    #include <string>
    #include <fstream>
    using namespace std;
    
    int main()
    {
       int number, d, n, count=0;
       char choice;
       string isPrime = " is the Prime number.",
              ntPrime = " is not the Prime number";
    
       ofstream oPrime;
       oPrime.open("Prime_Number_list.txt");
       {
       do{
          cout << "\nEnter a number: "; cin >> number;
          while(number<=100)
          {
             d=1;
             for(int i=2; i<=(number/2); ++i)
             {
                d=d*int(number%i);
             }
             if(d!=0)
             {
                ++count;
                cout << number;;
                oPrime << number;
                if(count%5 != 0)
                {
                   cout << "\t";
                   oPrime << "\t";
                }
                else
                {
                   cout << "\n";
                   oPrime << "\n";
                }
             }
          ++number;
          }
          cout << "\nDo you want to do again? (Y/N) "; cin >> choice;
       }while(choice!='N' || choice!='n');
       }
       oPrime.close();
    return 0;
    }
    Trước hết cái vụ yes/no thì bạn hiểu sai rồi

    Nó làm khi điều kiện trong while đúng, tức là khi choice khác n hoặc N thì khi bạn nhâp N hoặc n sẽ xảy ra như sau
    1. Bạn nhập n thì
    PHP Code:
    choice!='n' false 
    còn
    PHP Code:
    choice!='N'  true 
    mà chúng ta dùng
    PHP Code:
    do
    {
    command;
    } while(
    choice!='n' || choice!='N'); 
    tức là
    PHP Code:
    false||true 
    thì cái này nó trả về true còn j nữa==> while chắc bjo dừng cả
    2. ngược lại chọn N thì cũng thế

    3. bản sửa là && thì là dc, lí do tại sao bạn tự suy luận ra, dễ nếu bạn hiểu 1 và 2.
    Tạm thời thế đã, vị in ra kia để mình xem xét )
    PS: Gà lên phải xem từ từ
    Ah, ra rồi
    Mình ko hiểu cái cấu trúc cú pháp đọc ghi dữ liệu của bạn như thê nào cả ( chắc tại gàquá ko hiểu dc :(()
    của mình là
    PHP Code:
    ofstream tên_biến_tệp_ra(" đường dân",ios::out)//ghi đè luôn lên nội dung file có sãn, ngoài ra còn có ios::app ghi vào cuối tệp.. 
    nên mình tự ý sửa code của bạn như sau:
    PHP Code:
    #include <iostream>
    #include <iomanip>
    #include <string>
    #include <fstream>
    using namespace std;

    int main()
    {
       
    int numberdncount=0;
       
    char choice;
       
    string isPrime " is the Prime number.",
              
    ntPrime " is not the Prime number";

     
    ofstream oPrime("Prime_Number_list.txt",ios::out);//ghi file ra tệp Prime_Number_list.txt nằm ngang hàng file *.cpp
       /*oPrime.open("Prime_Number_list.txt");
       {*/
       
    if(!oPrimecout<<"Khong mo duoc file "
       do{
          
    cout << "\nEnter a number: "cin >> number;
          while(
    number<=100)
          {
             
    d=1;
             for(
    int i=2i<=(number/2); ++i)
             {
                
    d=d*int(number%i);
             }
             if(
    d!=0)
             {
                ++
    count;
                
    cout << number;;
                
    oPrime << number;
                if(
    count%!= 0)
                {
                   
    cout << "\t";
                   
    oPrime << "\t";
                }
                else
                {
                   
    cout << "\n";
                   
    oPrime << "\n";
                }
             }
          ++
    number;
          };
    // chỗ này của bạn hình như chưa có dấu chấm phẩy (;) thì phải nhưng vẫn chạy, mình ko hiểu chỗ này
          
    cout << "\nDo you want to do again? (Y/N) "cin >> choice;
       }while(
    choice!='N' && choice!='n');// thay || bằng &&
       
       
    oPrime.close();
    return 
    0;

    PS: Mình là gà mới học C++ mong làm quen với các bạn qua yahoo: sonick_lc@yahoo.com or vudoanbt3@gmail.com . Thanks
    Đã được chỉnh sửa lần cuối bởi vudoanbt3 : 26-03-2012 lúc 09:54 PM.

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

    Trong bài này ghi nếu mình ko ghi ios::out, thì chương trình vẫn tự nhận được lệnh ios::out
    http://www.cplusplus.com/doc/tutorial/files/
    Ở ví dụ đầu cũng ghi lệnh như mình.
    Code:
    // basic file operations
    #include <iostream>
    #include <fstream>
    using namespace std;
    
    int main () {
      ofstream myfile;
      myfile.open ("example.txt");
      myfile << "Writing this to a file.\n";
      myfile.close();
      return 0;
    }
    Cái vụ choice hiểu rồi. Để lục lại mấy bài cũ coi lại. Thank cậu .

  4. #4
    Ngày gia nhập
    03 2012
    Nơi ở
    Minh Khai- Hai Bà Trưng - Hà Nội
    Bài viết
    78

    Trích dẫn Nguyên bản được gửi bởi krs Xem bài viết
    Trong bài này ghi nếu mình ko ghi ios::out, thì chương trình vẫn tự nhận được lệnh ios::out
    http://www.cplusplus.com/doc/tutorial/files/
    Ở ví dụ đầu cũng ghi lệnh như mình.
    Code:
    // basic file operations
    #include <iostream>
    #include <fstream>
    using namespace std;
    
    int main () {
      ofstream myfile;
      myfile.open ("example.txt");
      myfile << "Writing this to a file.\n";
      myfile.close();
      return 0;
    }
    Cái vụ choice hiểu rồi. Để lục lại mấy bài cũ coi lại. Thank cậu .
    mình ko hiểu mấy cái đó lắm :-s

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

  1. nghĩa của 3 từ "principals", "artifacts", "securables" là như thế nào?
    Gửi bởi ntbao trong diễn đàn English for IT | Tiếng anh cho dân CNTT
    Trả lời: 2
    Bài viết cuối: 02-09-2017, 06:36 PM
  2. Trả lời: 4
    Bài viết cuối: 14-09-2011, 11:01 PM
  3. Bài tập C lỗi "syntax error" trong file định dạng lại kiểu dữ liệu "types.h"
    Gửi bởi grandthorn 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: 10-09-2011, 07:29 AM
  4. Problems : " recover tree " with input as " preorder" and "inorder"
    Gửi bởi HoangManhHa1991 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 13-04-2011, 10:19 PM
  5. Lập trình C chuyển bài toán "tổng số nguyên tố" sang "xuất nhập file"
    Gửi bởi long221091 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 23-04-2010, 11:11 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