×
Reviews 4.9/5 Order Now

Program That Will Implement File and String Parsing in C Assignment Solutions

June 22, 2024
Johanna Louis
Johanna Louis
🇦🇹 Austria
C
Johanna Louis, PhD in Computer Science from the University of Klagenfurt, Austria. With 8 years of extensive experience in C programming assignments, I specialize in providing expert solutions and guidance in this field.
Key Topics
  • Instructions
    • Objective
  • Requirements and Specifications
Tip of the day
When doing Java assignments, pay attention to object-oriented principles like encapsulation and inheritance. Write clean, modular code, and always test with edge cases. Using meaningful class and method names will make your program easier to understand and debug.
News
The C++ library deal.II version 9.7, out July 2025, enhances the finite-element method toolkit with more mesh adaptivity, parallelization, and tutorial improvements—useful for numerical simulations or academic modelling work.

Instructions

Objective

Write a program that will implement file and string parsing in C language.

Requirements and Specifications

Assignment Overview

OVERVIEW

Write a C assignment program to generate sport team win-loss records from game results in files.

NOTE: This is a harder assignment than the previous major assignments.

OBJECTIVES

  • Use file I/O (text mode).
  • Use C-style strings and string functions.
  • Use best practices for magic numbers.
  • Design computer programs for modularity and maintainability.
  • Demonstrate the development cycle for C programs.
  • Follow stated requirements.

ACADEMIC INTEGRITY AND LATE PENALTIES

  • Link to Academic Integrity Information
  • Link to Late Policy

Screenshots

Program-that-will-implement-file-and-string-parsing-in-C-language

Source Code

#include #include #include #define TEAMS_FILENAME "teams.txt" int isBlank(char* line) { int len = strlen(line), i; for (i = 0; i if (line[i] != ' ') { return 0; } } return 1; } int parseLine(char* line, char* opponent, int* score, int* oppScore) { int len = strlen(line); int bufferSize = 255; char resultStr[bufferSize]; char scoreStr[bufferSize]; char oppScoreStr[bufferSize]; char* delPtr = strchr(line, ','); if (delPtr == NULL) { return 0; } int index = delPtr - line; strncpy(opponent, line, index); opponent[index] = 0; memcpy(resultStr, delPtr + 1, len - (index + 1)); resultStr[len - index - 1] = 0; len = strlen(resultStr); delPtr = strchr(resultStr, '-'); if (delPtr == NULL) { return 0; } index = delPtr - resultStr; strncpy(scoreStr, resultStr, index); scoreStr[index] = 0; *score = atoi(scoreStr); memcpy(oppScoreStr, delPtr + 1, len - (index + 1)); oppScoreStr[len - index - 1] = 0; *oppScore = atoi(oppScoreStr); return 1; } int processGames(char* filename) { FILE *f = fopen(filename, "r"); int bufferSize = 255; char line[bufferSize]; char name[bufferSize]; char opp[bufferSize]; int wins = 0, ties = 0, losses = 0, score, oppScore; double percentage; if (!f) { return 0; } printf("Processing %s:\n", filename); while(fgets(line, bufferSize, f)) { line[strlen(line) - 1] = 0; if (isBlank(line)) { continue; } if (parseLine(line, opp, &score, &oppScore)) { if (score > oppScore) { printf("\t%s beat %s %d-%d\n", name, opp, score, oppScore); wins++; } else if (oppScore > score) { printf("\t%s lost to %s %d-%d\n", name, opp, score, oppScore); losses++; } else { printf("\t%s and %s tied at %d\n", name, opp, score); ties++; } } } if (wins + ties + losses == 0) { return 0; } percentage = (2*wins + ties)/(2.0*(wins + ties + losses)); printf("Season result for %s: %.3f (%d-%d-%d)\n", name, percentage, wins, ties, losses); fclose(f); return 1; } int main(void) { FILE *fTeams; int bufferSize = 255; char line[bufferSize]; fTeams = fopen(TEAMS_FILENAME, "r"); while(fgets(line, bufferSize, fTeams)) { if (line[strlen(line) - 1] == '\n') { line[strlen(line) - 1] = 0; } if (isBlank(line)) { continue; } processGames(line); } fclose(fTeams); return 0; }

Similar Samples

Explore our extensive collection of programming homework samples at ProgrammingHomeworkHelp.com. Our examples cover a wide range of topics and languages, including Java, Python, C++, and more. Each sample showcases our dedication to delivering clear, well-commented solutions that meet academic standards. Dive into our samples to see how we can assist you in mastering programming concepts effectively.