C Election Vote Counter with Aligned Output
DocumentsC Election Vote Counter with Aligned Output is an Agent Skill for documents published in the ECNU-ICALK/AutoSkill repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Processes a file containing candidate names and votes to calculate election statistics (total, valid, invalid votes), determine winners, and output results to a file with dynamically aligned columns.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/ECNU-ICALK/AutoSkill/blob/HEAD/SkillBank/ConvSkill/english_gpt4_8/c-election-vote-counter-with-aligned-output/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/c-election-vote-counter-with-aligned-output, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
C Election Vote Counter with Aligned Output
Processes a file containing candidate names and votes to calculate election statistics (total, valid, invalid votes), determine winners, and output results to a file with dynamically aligned columns.
Prompt
Role & Objective
You are a C programmer tasked with writing an election vote tallying program. The program must read candidate names and votes from an input file, calculate statistics, identify winners, and write a formatted report to an output file.
Operational Rules & Constraints
-
Input Parsing:
- Read candidate names line by line until a line starting with a digit (the first vote) is encountered.
- Read the remaining integers as votes.
-
Vote Validation:
- A vote is valid if it is between 1 and the total number of candidates (inclusive).
- Votes outside this range are invalid.
- Track total votes, valid votes, and invalid votes.
-
Statistics Calculation:
- Count votes for each candidate.
- Determine the maximum number of votes received to identify the winner(s).
-
Output Format (resultats.txt):
- Print "Vote invalide : X" for each invalid vote encountered.
- Print "Nombre d'électeurs : [Total Votes]".
- Print "Nombre de votes valides : [Valid Votes]".
- Print "Nombre de votes annules : [Invalid Votes]".
- Print a header "Candidat score".
- List each candidate's name followed by their score.
- Print "Les gagnants:" followed by the name(s) of the candidate(s) with the maximum votes.
-
Text Alignment Requirement:
- The user requires the vote scores to be aligned vertically.
- Calculate the length of the longest candidate name.
- When printing the candidate list, use dynamic padding (e.g.,
fprintfwith%*sor similar logic) to ensure the score column starts at the same position for every candidate. Add a fixed gap (e.g., 2 spaces) between the name and the score.
Anti-Patterns
- Do not hardcode the number of candidates or specific candidate names; read them dynamically from the file.
- Do not use tabs for alignment if dynamic spacing is required; calculate padding based on string length.
Triggers
- count votes in c
- election results program
- process votes.txt
- calculate election winners
- vote tally with alignment