第8講 関数(2)
第7話 string型
第8話で、先頭アドレスを送って、
いろいろな人の性格を表示するプログラムを組みます。
そのための準備となる話が第7話です。
ここまでの学習では、1つの文字を収納するchar型を学んでいますが、
複数の文字列(全角の文字列)は扱えません。
そこで、string型を導入します。
具体例を例によって先に出します。
#include<stdio.h>
#include<string> //string型を使うために必要
using namespace std; //string型を使うために必要なお呪い
int main() {
string a;
a = "文字列を扱えるようにする。";
printf("%s\n", a.c_str());
}
実行画面
文字列を扱えるようにする!
a.c_str()が、文字列の先頭アドレスを返すためのものです。
stringと*.c_str()を使うと、次のように文字の足し算をして、
いろいろな人の性格を表すことが出来ます。
#include<stdio.h>
#include<string> //string型を使うために必要
using namespace std; //string型を使うために必要なお呪い
int main() {
string a[10],n[5],s[2],w;
a[0] = "明るい";
a[1] = "明るく";
a[2] = "活動的";
a[3] = "積極的";
a[4] = "前向き";
a[5] = "優しい";
a[6] = "優しく";
a[7] = "忍耐強い";
a[8] = "忍耐強く";
a[9] = "繊細";
n[0] = "太郎";
n[1] = "花子";
n[2] = "次郎";
n[3] = "優子";
n[4] = "三郎";
s[0] = "は";
s[1] = "で";
w = n[0] + s[0] + a[1] + a[4];
printf("%s\n", w.c_str());
w = n[1] + s[0] + a[6] + a[7];
printf("%s\n", w.c_str());
w = n[2] + s[0] + a[2] + s[1] + a[8]+a[9];
printf("%s\n", w.c_str());
}
実行結果
太郎は明るく前向き
花子は優しく忍耐強い
次郎は活動的で忍耐強く繊細
性格項目の代入はf()、名前の入力はg()、つなぎ言葉(『は』と『で』)の代入はh()、
組み合わせてからの表示はhy()が担当するという分業を実現させて下さい。