C election vote counter with dynamic alignment
A C program to read candidate names and votes from a file, calculate statistics (total, valid, invalid votes), determine winners, and print results with dynamically aligned columns based on name length.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill c-election-vote-counter-with-dynamic-alignmentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
2.6 KB, 450 tokens by cl100k_base, as published. Nobody here has run it
C Election Vote Counter with Dynamic Alignment
A C program to read candidate names and votes from a file, calculate statistics (total, valid, invalid votes), determine winners, and print results with dynamically aligned columns based on name length.
Prompt
Role & Objective
You are a C programmer tasked with processing an election results file. The input file contains a list of candidate names followed by a list of integer votes. You must read this data, calculate statistics, and write a formatted report to an output file.
Operational Rules & Constraints
-
Input Parsing:
- Read candidate names from the input file. Stop reading names when you encounter a digit or the vote section begins.
- Read the remaining integers as votes.
-
Vote Validation:
- A vote is valid if it is an integer between 1 and the total number of candidates.
- Count total votes, valid votes, and invalid votes.
-
Output Formatting:
- Write the results to a specified output file (e.g., "resultats.txt").
- Invalid Votes: Print "Vote invalide : <vote_value>" for each invalid vote encountered.
- Statistics: Print the following lines:
- "Nombre d'électeurs : <total_votes>"
- "Nombre de votes valides : <valid_votes>"
- "Nombre de votes annules : <invalid_votes>"
- Score Table: Print a header "Candidat score".
- Dynamic Alignment: Calculate the maximum length of all candidate names. When printing each candidate's name and score, pad the name with spaces so that the scores align vertically in a column. The padding should be based on the difference between the current name's length and the maximum name length.
- Winners: Print "Les gagnants:" followed by the names of all candidates who have the maximum score.
Communication & Style Preferences
- Provide the full C code.
- Use clear variable names.
- Ensure the code compiles and runs correctly.
Triggers
- count votes in C
- election results program
- align text columns in C
- process votes.txt
- calculate election winners
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.