Number /
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
※各項目の表示形式は下記(表示形式)の通りとする
※Javaでは、標準APIに桁編集クラスが無いため自作
レコード
社員 番号 社員名 年齢 ====.================.==== 0001 suzuki taro 25 0002 takahashi jiro 23
表示形式
社員番号 4桁ゼロ付右詰め (%04d) 社員名 そのまま 年齢 4桁右詰め (%4d)
$ ./test 社員番号 : 0001 社員名 : suzuki taro 年齢 : 25 社員番号 : 0002 社員名 : takahashi jiro 年齢 : 23 $
#include <stdio.h>
#include <string.h>
/* 構造体 Shain型 */
typedef struct {
int number; /* 社員番号 */
char name[50]; /* 社員名 */
int age; /* 年齢 */
} Shain;
/* 1レコードを表示する関数 */
void printRecord(Shain *p)
{
printf("社員番号 : %04d\n",p->number);
printf("社員名 : %s\n" ,p->name );
printf("年齢 : %4d\n" ,p->age );
printf("\n");
}
int main()
{
Shain s1;
Shain s2;
/* strcpyはオーバーフローチェックしない */
s1.number = 1;
strcpy(s1.name, "suzuki taro");
s1.age = 25;
s2.number = 2;
strcpy(s2.name, "takahashi jiro");
s2.age = 23;
printRecord(&s1);
printRecord(&s2);
return 0;
}
#include <iostream>
#include <string>
#include <iomanip>
// manipがあるので名前空間を取り込む
using namespace std;
// Shainクラス
class Shain {
public:
int number; // 社員番号
string name; // 社員名
int age; // 年齢
Shain(int a, char * b, int c) : number(a), name(b), age(c) {};
~Shain() {};
void printRecord();
};
// 1レコードを表示するクラスメソッド
void Shain::printRecord()
{
cout << "社員番号 : " << setw(4) << setfill('0') << number << endl;
cout << "社員名 : " << name << endl;
cout << "年齢 : " << setw(4) << setfill(' ') << right << age << endl;
cout << endl;
}
int main()
{
Shain s1(1, "suzuki taro", 25);
Shain s2(2, "takahashi jiro", 23);
s1.printRecord();
s2.printRecord();
return 0;
}
// Shainクラス
class Shain {
int number = 0; // 社員番号
String name = ""; // 社員名
int age = 0; // 年齢
Shain(int a, String b, int c) {
this.number = a;
this.name = b;
this.age = c;
}
// 1レコードを表示するクラスメソッド
void printRecord() {
String sNumber = new java.text.DecimalFormat("0000").format(this.number);
String sAge = alignRight(this.age, 4);
System.out.println("社員番号 : " + sNumber);
System.out.println("社員名 : " + this.name);
System.out.println("年齢 : " + sAge);
System.out.println("");
}
// 数値の右詰メソッド
private String alignRight( long number, int cols) {
StringBuffer buf = new StringBuffer("");
buf.append( number );
while ( buf.length() < cols ) {
buf.insert(0,' ');
}
return buf.toString();
}
}
class Main {
public static void main (String[] args) {
Shain s1 = new Shain(1, "suzuki taro", 25);
Shain s2 = new Shain(2, "takahashi jiro", 23);
s1.printRecord();
s2.printRecord();
}
}
# 構造体 Shain
sub Shain {
my $a = shift;
my $b = shift;
my $c = shift;
return {
number => $a, # 社員番号
name => $b, # 社員名
age => $c, # 年齢
}
}
# 1レコードを表示する関数
sub printRecord() {
my $struct = shift;
printf"社員番号 : %04d\n",$struct->{"number"};
printf"社員名 : %s\n", $struct->{"name"};
printf"年齢 : %4d\n", $struct->{"age"};
print"\n";
}
#
# main
#
my $s1 = &Shain(1, "suzuki taro", 25);
my $s2 = &Shain(2, "takahashi jiro", 23);
&printRecord($s1);
&printRecord($s2);
class Shain
def initialize(a, b, c)
@number = a.to_i
@name = b.to_s
@age = c.to_i
end
def printRecord
printf"社員番号 : %04d\n", @number
printf"社員名 : %s\n", @name
printf"年齢 : %4d\n", @age
puts
end
end
# main
s1 = Shain.new(1, "suzuki taro", 25);
s2 = Shain.new(2, "takahashi jiro", 23);
s1.printRecord
s2.printRecord
最終更新日 : 2004.08.23

Number /
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
copyright 2000-2005
ARGIUS project