import std.conv ;
import std.stdio ;
import std.string ;
struct Human {
string name;
ushort age;
}
void print_human_list( Human[ ] human_list) {
foreach ( human; human_list) {
writeln( human.name ) ;
writeln( human.age ) ;
}
writeln( ) ;
}
void add_new_human( ref Human[ ] human_list) {
write( "Name: " ) ;
string name = readln.strip ;
write( "Age: " ) ;
ushort age = readln.strip .to ! ushort ;
Human tmp_human = { name, age} ;
human_list ~= tmp_human;
}
void main( ) {
Human[ ] human_list;
for ( ;; ) {
writeln( "A)dd New Human." ) ;
writeln( "P)rint Human List." ) ;
writeln( "Q)uit." ) ;
write( ": " ) ;
char choice = readln.strip .to ! char ;
switch ( choice) {
case ( 'A' ) :
add_new_human( human_list) ;
break ;
case ( 'P' ) :
print_human_list( human_list) ;
break ;
case ( 'Q' ) :
return ;
default :
continue ;
}
}
}
aW1wb3J0IHN0ZC5jb252OwppbXBvcnQgc3RkLnN0ZGlvOwppbXBvcnQgc3RkLnN0cmluZzsKCnN0cnVjdCBIdW1hbiB7CglzdHJpbmcgbmFtZTsKCXVzaG9ydCBhZ2U7Cn0KCnZvaWQgcHJpbnRfaHVtYW5fbGlzdChIdW1hbltdIGh1bWFuX2xpc3QpIHsKCglmb3JlYWNoKGh1bWFuOyBodW1hbl9saXN0KSB7CgkJd3JpdGVsbihodW1hbi5uYW1lKTsKCQl3cml0ZWxuKGh1bWFuLmFnZSk7Cgl9Cgl3cml0ZWxuKCk7Cn0KCnZvaWQgYWRkX25ld19odW1hbihyZWYgSHVtYW5bXSBodW1hbl9saXN0KSB7CgoJd3JpdGUoIk5hbWU6ICIpOwoJc3RyaW5nIG5hbWUgPSByZWFkbG4uc3RyaXA7CgoJd3JpdGUoIkFnZTogIik7Cgl1c2hvcnQgYWdlID0gcmVhZGxuLnN0cmlwLnRvIXVzaG9ydDsKCglIdW1hbiB0bXBfaHVtYW4gPSB7bmFtZSwgYWdlfTsKCWh1bWFuX2xpc3Qgfj0gdG1wX2h1bWFuOwp9Cgp2b2lkIG1haW4oKSB7CgoJSHVtYW5bXSBodW1hbl9saXN0OwoJCglmb3IoOzspIHsKCgkJd3JpdGVsbigiQSlkZCBOZXcgSHVtYW4uIik7CgkJd3JpdGVsbigiUClyaW50IEh1bWFuIExpc3QuIik7CgkJd3JpdGVsbigiUSl1aXQuIik7CgkJd3JpdGUoIjogIik7CgoJCWNoYXIgY2hvaWNlID0gcmVhZGxuLnN0cmlwLnRvIWNoYXI7CgoJCXN3aXRjaCAoY2hvaWNlKSB7CgkJY2FzZSgnQScpOgoJCQlhZGRfbmV3X2h1bWFuKGh1bWFuX2xpc3QpOwoJCQlicmVhazsKCQljYXNlKCdQJyk6CgkJCXByaW50X2h1bWFuX2xpc3QoaHVtYW5fbGlzdCk7CgkJCWJyZWFrOwoJCWNhc2UoJ1EnKToKCQkJcmV0dXJuOwoJCWRlZmF1bHQ6CgkJCWNvbnRpbnVlOwoJCX0KCX0KfQ==