/*
 * Sample Program for microVIEW-G(x)
 * <<< samp3.c >>>
 * 1995 @ advice Yokogawa Digital Computer Corp.
 */

/*
 * Include Files
 */

#include        "../samp0.h"
#include        "../samp1.h"
#include        "../samp2.h"

/*
 * Local Data
 */

/*
 * Country Data Processing Function
 */
char    local_big[16][CHAR_SIZE] = 
       {"JAPAN","AUSTRALIA","ITALIA","FRANCE","NEDERLAND",
	"UNITED KINGDOM","UNITED STATES OF AMERICA",
	"CHINA","KOREA","SPAIN","IRAN","EGYPT",
	"MEXICO","PORTUGAL","ROSSIYA","INDIA"};
char    local_small[16][CHAR_SIZE] = 
       {"tokyo","canberra","roma","paris","amsterdam",
	"london","washington",
	"pei ching","seoul","madrid","teheran","cairo",
	"mexico city","lisbon","moskva","new delhi"};

int     Country( struct SAMP_DATA        *data)
{
    int                 i;
    struct SAMP_DATA    *p;
    static int			    *j;	/* ADD LOCAL POINTER */

    p = data;
    for (i=0; i < SAMP_DATA_MAX; i++) {
	Counter();
	p->id = i;
	STRcpy(p->big,local_big[i]);
	STRcpy(p->small,local_small[i]);
	p++;
	j = &i;	/* ADD LOCAL POINTER USE */
	}
    return(i);
}

/*
 * Fruits and Vegetables Data Processing Function
 */
char    fv_data[][CHAR_SIZE] = {
	"lemon","banana","cucumber","kiwi",
	"cabbage","radish","burdock","carrot",
	"tomato","potato","melon","pumpkin",
	"pineapple","apple","tangerine","eggplant",

	"pepper","onion","peach","pear",
	"persimmon","strawberry","spinach","parsley",
	"celery","mushroom","turnip","garlic",
	"cherry","apricot","loquat","papaya"
 };

int     Fr_and_Vg( struct SAMP_DATA        *data )
{
    int         i;
    short       counter = 0;
    struct SAMP_DATA    *p;

    p = data;
    Counter();
    for (i=0; i < SAMP_DATA_MAX; i++) {
	p->id = counter++;
	STRcpy(p->big,fv_data[i]);
	STRcpy(p->small,fv_data[i+16]);
	p++;
    }
    return(counter);
}

/*
 * Classic Composeres
 */

char    lname[][CHAR_SIZE] = {
	"Schubert","Beethoven","Bruckner","Mahler",
	"Liszt","Wagner","Mendelssohn","Mozart",
	"Chaikovskii","Dovrak","Bach","Vivaldi",
	"Strauss","Shostakovich","Berlioz","Brahms"
};

char    fname[][CHAR_SIZE] = {
	"Franz","Ludwing","Anton","Gustav",
	"Franz","Richard","Felix","Amadeus",
	"Pyotr","Antonin","Johann","Antonio",
	"Johann","Dimitrii","Hector","Johannes"
};

int     Compose( struct SAMP_DATA data[])
{
    int         i;

    for (i=0; i < SAMP_DATA_MAX; i++) {
	Counter();
	data[i].id = 0;
	STRcpy(data[i].big,fname[i]);
	STRcpy(data[i].small,lname[i]);
    }
    return(0);
}

/*
 * HARB
 */

static char     harb[][CHAR_SIZE] = {
		"allspice",             /*01 ピメント(オ〖ルスパイス) */
		"amyris",               /*02 アミリス */
		"angelica",             /*03 アンジェリカ */
		"anise",                /*04 アニス */
		"aniseed",              /*05 アニス */
		"basil",                /*06 バジル */
		"bay",                  /*07 ロ〖レル(ベイリ〖ブス) */
		"benzoin",              /*08 奥漏贯 */
		"bergamot",             /*09 ベルガモット */
		"birch",                /*10 バ〖チ */
		"cajuput",              /*11 カユプテ */
		"camphor",              /*12 カンファ〖(纠蔷) */
		"caraway",              /*13 キャラウェイ */
		"cardamon",             /*14 カルダモン */
		"cedarwood",            /*15 シダ〖ウッド */
		"celery",               /*16 セロリ */
		"chamomile",            /*17 カモミ〖ル */
		"cinnamon",             /*18 シナモン */
		"citronella",           /*19 シトロネラ */
		"clove",                /*20 クロ〖ブ */
		"coriander",            /*21 コリアンダ〖 */
		"cumin",                /*22 クミン */
		"cypress",              /*23 サイプレス  */
		"dill",                 /*24 ディル */
		"elemi",                /*25 エレミ */
		"eucalyptus",           /*26 ユ〖カリ */
		"fennel",               /*27 フェンネル */
		"fir",                  /*28 ファ〖 */
		"frankincense",         /*29 讫贯 */
		"galbanum",             /*30 ガルバナム */
		"garlic",               /*31 ガ〖リック */
		"geranium",             /*32 ゼラニウム */
		"ginger",               /*33 ジンジャ〖 */
		"grapefruit",           /*34 グレ〖プフル〖ツ */
		"guaiacwood",           /*35 グアヤックウッド */
		"hyssop",               /*36 ヒソップ */
		"immortelle",           /*37 イモ〖テル */
		"jasmine",              /*38 ジャスミン */
		"juniper",              /*39 ジュニパ〖 */
		"laurel",               /*40 ロ〖レル(ベイリ〖ブス) */
		"lavendin",             /*41 ラバンジン */
		"lavender",             /*42 ラベンダ〖 */
		"lemon",                /*43 レモン */
		"lemongrass",           /*44 レモングラス */
		"lime",                 /*45 ライム */
		"mandarin",             /*46 マンダリン */
		"marjoram",             /*47 マ〖ジョラム */
		"melissa",              /*48 メリッサ */
		"myrrh",                /*49 俗挑(ミルラ) */
		"myrtle",               /*50 マ〖トル */
		"neroli",               /*51 ネロリ(オレンジ仓) */
		"niaouri",              /*52 ニアウリ */
		"nutmeg",               /*53 ナツメグ */
		"orange",               /*54 オレンジ */
		"oregano",              /*55 オレガノ */
		"origanum",             /*56 オリガナム */
		"palmarosa",            /*57 パルマロ〖ザ */
		"parsley",              /*58 パセリ */
		"patchouli",            /*59 パ〖チュリ〖 */
		"peppermint",           /*60 ペパ〖ミント */
		"petitgrain",           /*61 プチグレン */
		"pimento",              /*62 ピメント(オ〖ルスパイス) */
		"pine",                 /*63 パイン */
		"rose",                 /*64 ロ〖ズ */
		"rosemary",             /*65 ロ〖ズマリ〖 */
		"rosewood",             /*66 ロ〖ズウッド */
		"sage",                 /*67 セ〖ジ */
		"sandalwood",           /*68 サンダルウッド */
		"santolina",            /*69 サントリナ */
		"spearmint",            /*70 スペアミント */
		"tagetes",              /*71 タジェティ〖ズ */
		"tangerine",            /*72 タンジェリン */
		"tarragon",             /*73 タラゴン(エストラゴン) */
		"terebinth",            /*74 テレビン */
		"thyme",                /*75 タイム */
		"ti-tree",              /*76 ティ〖トリ〖 */
		"verbena",              /*77 バ〖ベナ */
		"vertivert",            /*78 ベチバ〖 */
		"violet",               /*79 バイオレット */
		"yarrow",               /*80 ヤロウ */
		"ylang-ylang"           /*81 イランイラン */
		};

#define         HARB_MAX        81

void    Harb ( struct SAMP_DATA data[], int *cnt )
{
    int         i,j;

    if (*cnt < HARB_MAX) {
	i = *cnt;
    }
    else {
	i = 0;
    }

    for (j=0; j<SAMP_DATA_MAX; j++) {
	STRcpy( data[j].big, harb[i] );
	++i;
	if ( i >= HARB_MAX ) {
	    i = 0;
	}
    }
    Counter();

    *cnt = i;

    return;
}

/*
 * Data Generate << Flower >>
 */

int     Dataput ( struct SAMP_DATA        *data)
{
    int         cnt;

    cnt = SAMP_DATA_MAX;

    Datasettings( data, cnt );
    return(cnt);
}

int     Datasettings( struct SAMP_DATA data[], int n)
{
    int         i;
    int         max, ret;

    max = Datasetup ( data, n );
    if (max <= SAMP_DATA_MAX) {
	for (i=0; i<max; i++) {
	    ret = CmpStr(data[i].comment,data[i].big);
	    if (ret == 0) {
		break;
	    }
	}
	return(0);
    }
    else {
	return(-1);
    }
}


/*
 * Flower data
 */

char    flower_data[][128] = {
/*  1 */                "rose ばら",
/*  2 */                "tulip チュ〖リップ",
/*  3 */                "buttercup きんぽうげ",
/*  4 */                "lilac ライラック",
/*  5 */                "snowdrop ゆきわりそう",
/*  6 */                "aster アスタ〖",
/*  7 */                "cosmos コスモス",
/*  8 */                "crocus クロッカス",
/*  9 */                "lily ユリ",
/* 10 */                "daisy デイジ〖",
/* 11 */                "pansy パンジ〖",
/* 12 */                "orchid 亡",
/* 13 */                "dandelion たんぽぽ",
/* 14 */                "dahlia ダリア",
/* 15 */                "daffodil ラッパ垮犁",
/* 16 */                "gladiolus グラジオラス",
/* 17                 "primrose サクラソウ", */
/* 18 */                "poppy ポピ〖",
/* 19 */                "iris アイリス",
/* 20 */                "columbline おだまき",
/* 21 */                "edelweiss エ〖デルワイス",
/* 22 */                "violet すみれ",
/* 23 */                "anemone アネモネ"
};

#define FLOWER_MAX      23


int     Datasetup(struct SAMP_DATA        data[],int n)
{
    int         i;

    for (i=0; ; i++) {
	if (i < FLOWER_MAX && i < n) {
	    data[i].comment = flower_data[i];
	}
	else {
	    break;
	}
    }
    return(i);
}
/* EOF */