#include <stdio.h>
#include <string.h>
void time(char *nmea, int i)
{
printf("Time: ");
for(int x=i;x<i+6;x+=2)
{
printf("%c%c",nmea[x],nmea[x+1]);
if(x!= i+4) printf(":");
}
printf("\n");
}
void latitude(char *nmea, int i)
{
printf("Latitude: ");
for(int x=i;x<=i+10;x++)
{
if(nmea[x] == ',')
{
printf(" %c",nmea[x+1]); break;
}
printf("%c",nmea[x]);
}
printf("\n");
}
void longitude(char *nmea, int i)
{
printf("Longitude: ");
for(int x=i;x<=i+10;x++)
{
if(nmea[x] == ',')
{
printf(" %c",nmea[x+1]); break;
}
printf("%c",nmea[x]);
}
printf("\n");
}
void parse_gprmc(char *nmea) {
// Your logic here
time(nmea, 7);
latitude(nmea, 16);
longitude(nmea, 27);
}
int main() {
char nmea[100];
fgets(nmea, sizeof(nmea), stdin);
parse_gprmc(nmea);
return 0;
}
Input
$GPRMC,123519,A,4807.038,N,01131.000,E
Expected Output
Time: 12:35:19 Latitude: 4807.038 N Longitude: 01131.000 E