-1

atm machine で行うように、入力を特定の期間待機し、しばらくすると c++ で出力されるプログラムを開発しようとしています。誰でも私を助けようとすることができますか?

#include <iostream>
#include <ctime>
#include<string>
using namespace std;

int main(){
 string name;
 cout << "Enter your name: ";
 int endTime= 5;
 int i=0;
// cout<<endTime<<endl; 
 while(i < endTime)
 {
   getline(cin, name);
    i++;
    endTime--;
   if( i > endTime && (name.empty()))

     break;
 }

 cout << "NO NAME ENTERED!!" << endl;
4

1 に答える 1

0

あなたの問題の一部は、 getline() がブロッキング呼び出しであり、誰かが何かを入力するまで返されないことです。

あなたができることは、スレッドを研究することです-2つの異なるスレッドを用意し、そのうちの1つが時間を監視する唯一の責任を負い、時間が経過した場合は、信号を送信して他のスレッドを強制終了します。

ここで示した入力方法によって多くの制限があります。

于 2013-03-21T05:07:59.557 に答える