C social media platform adt implementation
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill c-social-media-platform-adt-implementationAssembled 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
- 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, andmain.c. - Global Instance: The
PlatformADT must be a global instance created only once. - 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).
- 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)
- Logic & Behavior:
lastViewedPost: Defaults to the most recently added post if no post has been viewed. Updates onviewPost,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.
- Memory Management: Use
mallocandstrdupfor allocation. Implement correspondingfreefunctions to prevent leaks.
Anti-Patterns
- Do not implement
Repliesas 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
lastViewedPostlogic.
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