From 362eb076d903398b7d92d762b904930bbfac09a5 Mon Sep 17 00:00:00 2001 From: Aldian Fazrihady Date: Sun, 13 Sep 2020 22:15:37 +0700 Subject: [PATCH] Fix string comparison to include newline. --- ch3/dnc/UVa11935.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ch3/dnc/UVa11935.cpp b/ch3/dnc/UVa11935.cpp index 9d789ee..96ab4e2 100644 --- a/ch3/dnc/UVa11935.cpp +++ b/ch3/dnc/UVa11935.cpp @@ -35,22 +35,24 @@ bool can(double f) { int main() { int n; + char line[100]; while (scanf("0 Fuel consumption %d\n", &n), n) { events.clear(); events.emplace_back(0, -n); // first event while (1) { - int d; char line[100]; scanf("%d ", &d); gets(line); + memset(line, 0, 100); + int d; scanf("%d ", &d); fgets(line, 100, stdin); if (strncmp(line, "Fuel", 4) == 0) { // the first four characters are "Fuel" sscanf(line, "Fuel consumption %d", &n); events.emplace_back(d, -n); } - else if (strcmp(line, "Leak") == 0) + else if (strcmp(line, "Leak\n") == 0) events.emplace_back(d, 1); - else if (strcmp(line, "Gas station") == 0) + else if (strcmp(line, "Gas station\n") == 0) events.emplace_back(d, 2); - else if (strcmp(line, "Mechanic") == 0) + else if (strcmp(line, "Mechanic\n") == 0) events.emplace_back(d, 3); - else if (strcmp(line, "Goal") == 0) { + else if (strcmp(line, "Goal\n") == 0) { events.emplace_back(d, 4); break; }