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