2016-12-24 6 views
-4

私は、ユーザがmcqsとオプションを入力して、txtファイルにデータを保存するプログラムを作成しています。これを行うにはどうすればよいですか。txtファイルにデータを保存しますか? C++

#include <iostream> 
#include <fstream> 
#include <string> 
using namespace std; 
int main() 
{ 
    ofstream outputFile; 
    std::string fname; 
    cout<<"Enter file name"; 
    std::getline (std::cin,fname); 
    outputFile.open(fname+".txt"); 
    std::string name; 
    std::string mcqs; 
    int x; 
    cout<<"How many questions want \n"; 
    cin>>x; 

    for(int i=1;i<=x;i=i+1){ 
     cout<"Enter question "+i; 
     std::getline (std::cin,name); 
     outputFile << name << endl; 
     cout<<"Option A"; 
     std::getline (std::cin,mcqs); 
     outputFile << mcqs << endl; 
     cout<<"Option B"; 
     std::getline (std::cin,mcqs); 
     outputFile << mcqs << endl; 
     cout<<"Option C"; 
     std::getline (std::cin,mcqs); 
     outputFile << mcqs << endl; 
     cout<<"Option D"; 
     std::getline (std::cin,mcqs); 
     outputFile << mcqs << endl; 
    } 

    outputFile.close(); 
    cout << "Done!\n"; 
    getchar(); 
    return 0; 
} 

私はあなたの問題は、問題番号を取得するにはCINである

+0

このような問題を解決する適切なツールは、デバッガです。スタックオーバーフローを尋ねる前に、コードを一行ずつ進める必要があります。詳しいヘルプは、[小さなプログラムをデバッグする方法(Eric Lippert)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を参照してください。最低限、問題を再現する[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例と、その問題を再現するためのデバッガ。 –

+0

また、コードの書式設定には重大なオーバーワーキングが必要です。 –

答えて

0

txt file.Thanksにmcqsとオプションを保存します。 get_lineとstringstreamを使用して数値を読み取ることができます。

#include <iostream> 
#include <fstream> 
#include <sstream> 
#include <string> 
using namespace std; 
int main() 
{ 
    ofstream outputFile; 
    std::string fname; 
    std::string str; 
    stringstream ss; 
    int x; 

    cout<<"Enter file name:"; 
    std::getline (std::cin,fname); 
    outputFile.open(fname+".txt"); 

    cout<<"How many questions want \n"; 
    std::getline (std::cin,str); 
    ss << str; 
    ss >> x; 
    if (x == 0) 
     cout << "Invalid question number...!" << endl; 

    for(int i=1;i<=x;i=i+1){ 
      cout<<"Enter question " << i << ":"; 
      std::getline (std::cin,str); 
      outputFile << str << endl; 

      cout<<"Option A:"; 
      std::getline (std::cin,str); 
      outputFile << str << endl; 

      cout<<"Option B:"; 
      std::getline (std::cin,str); 
      outputFile << str << endl; 

      cout<<"Option C:"; 
      std::getline (std::cin,str); 
      outputFile << str << endl; 

      cout<<"Option D:"; 
      std::getline (std::cin,str); 
      outputFile << str << endl; 
    } 

    outputFile.close(); 
    cout << "Done!\n"; 
    getchar(); 
    return 0; 
} 
0

トップにはofstreamを、ネームスペースstdにはofstreamが必ず含まれていることを確認してください。

関連する問題