構造体を用いた特定数値抽出方法について
こんばんは。
前回、複数回実行方法および構造体の初期化について質問させていただいた者です。
VC++.NET2003を用いてコンソールプログラミングを行っています。
以下に前回示しました構造体を示します。この構造体は4つの整数型のメンバをもっています。
このNpktメンバ変数には、10から11000まで10ずつカウントアップされた値が格納されています。10,20,30,40・・・100,110・・・・11000ということです。そこで、Npktが100,200,300・・・の時のgettime,rPkt,lossPktメンバの値を抽出しファイル出力させたいと思い、以下に示しますプログラムを記述しました。
しかし、10,20,30,40・・・100,110・・・490,510,520・・・
という仮に500がない場合が存在し、Npktが500の値を取得できずにかつそれ以降の600,700・・・1000などを取得できない状態になってしまいます。
そこで、500がない場合は改行をファイル出力し600を探索しだすという方法を考えたのですが、うまく記述できません。
もしよろしければ、ヒントや記述方法を教えていただけないでしょうか?
よろしくお願い致します。
(1)構造体
#define MAX 2000
struct tag{
int Npkt;
int gettime;
int rPkt;
int lossPkt;
}rdata[MAX];
(2)プログラム概要
while(rdata[e].Npkt!='\0'){
if(rdata[e].Npkt==sa){
de=100;
sa+=de;
fprintf(fp9,"%d\t%d\t%d\t%d\n",rdata[e].Npkt,rdata [e].gettime,rdata[e].rPkt,rdata[e].lossPkt);
}
e++;
}
お礼
ありがとうございます。とっても参考になりました。また、何か質問を投稿すると思うのでそのときは宜しくお願いします。