こんばんわ。
Visual C++.NET2003を使用しC言語にてコンソールプログラミングを行っています。
以下のような10から11000まで10ごとにカウントアップされた数値があります。私は以下に示します構造体を使っていまして、この数値はSpktメンバに格納されていきます。
[質問内容]
以下に示しますプログラムのように、10ごとの区切りではなく、100ごとの区切りを取得したいと思っています。100ごとの区切りは取得できそうです。
しかし、1090の次に1110がきた場合、1100という数値を補い、かつ1100の間にある数値の値、たとえば1090と1110の値を取得する方法を考えています。
このフローチャートが思い浮かばず悩んでいます。
よろしければ教えてください。
よろしくお願い致します。
また、1100という数値が抜け落ちるだけではなく、複数箇所に至ります。
10,20,30,40,50,100,110,120・・・・・1090,1110・・・11000
/*構造体*/
struct get{
int Spkt
int time
int rpkt
int lpkt
}get_log[2000]
/*プログラムの概要*/
int e=0;
while(set_log[e].Spkt!='\0'){
if(set_log[e].Spkt%100==0){
//100ごとの数値を取得
}else{
//ここに、100ごと数値を取得できなかった場合を記述する?
}
e++;
}
まずフローチャートだとか構造体だとか言わず、紙と鉛筆でちゃんと処理が記述できるかやってみよう。
その時プログラムの文法とか知識とかは全部捨てて、小学生に戻ったつもりで単純な線や数字とかだけで書く。
それが出来れば、それをBASICなりCなりの文法に直すことは簡単なはずだ。
複雑な制御処理をいきなりスマートなCのソースで書くのは上級者でもむずいよ。