agentsclimarketplace

C social media platform adt implementation

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

AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution

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.

What its author says it does

Copied from the file, not written here

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.

SKILL.md

3.7 KB, 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

Keep looking

Skills are one crate of 328,083. 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.