A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
getline 関数を使えば一行の入力を丸々受け付けることができるので,Enter も取得することができます.
また,STL の string にある空かどうかを判別するメソッドを使うと,空文字かの判別も簡単に書けます.
ということで,以下のような感じでどうでしょうか?
//----------------------------------------------------------
#include <iostream>
#include <string>
using namespace std;
struct PrivateInfo
{
string Name;
string Age;
string Address;
};
int main()
{
const int maxSize = 10;
PrivateInfo privateInfo[maxSize];
for(int i = 0; i < maxSize; i++)
{
cout << i + 1 << " 人目の情報を入力して下さい" << endl;
cout << "Name : ";
getline(cin, privateInfo[i].Name);
cout << "Age : ";
getline(cin, privateInfo[i].Age);
cout << "Address : ";
getline(cin, privateInfo[i].Address);
if(privateInfo[i].Name.empty() && privateInfo[i].Age.empty() && privateInfo[i].Address.empty())
break;
}
return 0;
}
//----------------------------------------------------------
No.1
- 回答日時:
#include <stdio.h>
#include <string.h>
void input(char *s, int max)
{
int l;
fgets(s, max, stdin);
if(s[l = strlen(s) - 1] != '\n') while(getchar() != '\n') ;
else s[l] = '\0';
}
int main(void)
{
char a[128], b[128], c[128];
int l;
do{
input(a, 128);
input(b, 128);
input(c, 128);
puts(a);
puts(b);
puts(c);
}while(a[0] || b[0] || c[0]);
return 0;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Java Java 南京錠 2 2023/02/04 11:46
- Java Java モンスターブリーダー 1 2023/02/05 09:44
- Excel(エクセル) エクセルのバージョン2016フリーズ改善策 5 2022/12/13 09:13
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Visual Basic(VBA) VBA エクセル 条件の設定 1 2022/03/28 10:24
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Excel(エクセル) エクセルで最初に値が入っているセルを見つける方法はありますか? 2 2023/07/18 14:58
- 確定申告 税務署に行き、スマホコーナーから確定申告を行いました。納付額が7900円と出て進めていったら確定申告 2 2023/03/13 19:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
構文エラーが出ているのですが...
-
VC++で文字列から任意の文字を...
-
リモートデスクトップの接続元I...
-
switch文のエラーについて
-
enumの値から定義名を文字列化...
-
C++のifstreamの使い方
-
なぜ、C++の標準ヘッダをインク...
-
atlbase.h と afxwin.hの同時定義
-
DirectXとカメラ
-
連番ファイルについて
-
空ENTERの判別
-
Pythonでのmmapの使い方
-
このプログラミング誰か教えて...
-
MingwでC++のソースがコンパイ...
-
#defineの使い方について
-
winpcapを用いたプログラミング
-
#include "fstream.h"
-
clock関数のコンパイルエラーで
-
mainの外に変数 vs ポインタ渡し
-
C言語 ストリームについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++で文字列から任意の文字を...
-
構文エラーが出ているのですが...
-
enumの値から定義名を文字列化...
-
switch文のエラーについて
-
空ENTERの判別
-
なぜ、C++の標準ヘッダをインク...
-
【C++】ヘッダ内でstringを格納...
-
C++での <iostream.h>と<iostre...
-
#include "fstream.h"
-
#define中の#のエスケープ
-
JPEGやPNGが読めるLoadImage関数
-
リモートデスクトップの接続元I...
-
string型のフォーマット書式指...
-
CStringとString
-
std::map の const 修飾について
-
VHDLのsignedとunsignedの違いは?
-
このプログラミング誰か教えて...
-
指定した文字を削除したい
-
構造体配列のvectorへの変換と...
-
C言語のポインターで詰まっている
おすすめ情報