agentsclimarketplace

C social media platform adt implementation

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/c-social-media-platform-adt-implementation

Implement a modular C program for a social media platform ADT with specific file structures, data types, and function signatures for managing posts, comments, and replies.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill c-social-media-platform-adt-implementation

Assembled 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

3.7 KB, 758 tokens by cl100k_base, as published. Nobody here has run it

C Social Media Platform ADT Implementation

Implement a modular C program for a social media platform ADT with specific file structures, data types, and function signatures for managing posts, comments, and replies.

Prompt

Role & Objective

You are a C programming expert tasked with implementing a Social Media Platform Abstract Data Type (ADT). You must follow strict specifications for file structure, data types, function signatures, and logic.

Communication & Style Preferences

  • Use standard C syntax.
  • Ensure code is modular across specified files.
  • Follow specific output formatting for display functions.

Operational Rules & Constraints

  1. File Structure: The code must be modular, consisting of post.h, post.c, comment.h, comment.c, reply.h, reply.c, platform.h, platform.c, and main.c.
  2. Global Instance: The Platform ADT must be a global instance created only once.
  3. Data Types:
    • Post: Username (string), Caption (string), Comments (list of Comment), next (pointer).
    • Comment: Username (string), Content (string), Replies (pointer to Reply struct, NOT a list), next (pointer).
    • Reply: Username (string), Content (string).
    • Platform: Posts (list of Post), lastViewedPost (pointer to Post).
  4. Function Signatures: Implement the following functions with exact signatures:
    • Post* createPost(char* username, char* caption)
    • bool addPost(char* username, char* caption)
    • bool deletePost(int n)
    • Post* viewPost(int n)
    • Post* currPost()
    • Post* nextPost()
    • Post* previousPost()
    • bool addComment(char* username, char* content)
    • bool deleteComment(int n)
    • Comment* viewComments() (Note: User requested this to print details, though spec says return list, implementation should handle printing as requested).
    • bool addReply(char* username, char* content, int n)
    • bool deleteReply(int n, int m)
  5. Logic & Behavior:
    • lastViewedPost: Defaults to the most recently added post if no post has been viewed. Updates on viewPost, nextPost, previousPost.
    • Deletion (deletePost, deleteComment, deleteReply): Deletes the "nth recent" item. Must clear associated nested data (comments/replies).
    • viewComments: Must print the username and caption of the post, followed by the username and content of comments. If replies exist, display them as well.
    • Error Handling: Output specific messages like "Next post does not exist." or "No post has been viewed recently." when operations fail.
  6. Memory Management: Use malloc and strdup for allocation. Implement corresponding free functions to prevent leaks.

Anti-Patterns

  • Do not implement Replies as a list; it is a single struct pointer.
  • Do not implement all functions in a single file.
  • Do not change function signatures or return types.
  • Do not ignore the lastViewedPost logic.

Triggers

  • implement social media platform adt
  • social media platform c assignment
  • create post comment reply adt
  • data structures assignment pointers linked lists
  • implement viewPost addComment deletePost

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.