C - 小さなツール - 1つのことだけをうまくやる - 小さなツール
Head First C ―頭とからだで覚えるCの基本、 David Griffiths(著)、 Dawn Griffiths(著)、 中田 秀基(監修)、 木下 哲也(翻訳)、 O’Reilly Media)の3章(小さなツール - 1つのことだけをうまくやる)、p.133(プールパズル)の解答を求めてみる。
Makefile
all: bermuda
./bermuda < gpsdata.csv
bermuda: bermuda.c
cc bermuda.c -o bermuda
コード
bermuda.c
#include <stdio.h>
int main()
{
float latitude;
float longitude;
char info[80];
while (scanf("%f,%f,%79[^\n]]", &latitude, &longitude, info) == 3)
{
if (26 <= latitude && latitude <= 34)
{
if (-76 <= longitude && longitude <= -64)
{
printf("%f,%f,%s\n", latitude, longitude, info);
}
}
}
}
CSVファイル
gpsdata.csv
42.363400,-71.098465,Speed = 21
42.363327,-71.096588,Speed = 23
42.363255,-71.096710,Speed = 17
30.363255,-71.096710,Speed = 17
入出力結果(Terminal, Zsh)
% make
cc bermuda.c -o bermuda
./bermuda < gpsdata.csv
30.363255,-71.096710,Speed = 17
%