code a mini C project
Budget: €8 – €30 EUR
Here is the required knowledge for the project into English:
1. Process and Command Management
Know how to execute system commands using system calls like fork(), execvp(), and manage child processes with wait() or waitpid().
Handle errors using errno to diagnose execution problems.
2. Time Management
Use the <time.h> library to measure and manage execution delays and prevent time drift.
Implement precise pauses in execution using usleep() or nanosleep().
3. File Handling
Read from and write to files, particularly for a configuration file or a log file.
Implement simple syntax parsing to interpret a custom configuration file.
4. System Programming
Understand Unix/Linux system calls (e.g., to access directories or set an execution path).
Handle signals to interrupt or stop repetitive tasks (e.g., using SIGINT or SIGTERM).
5. Structured Programming
Organize code into .c and .h files, and follow naming conventions for functions and variables.
Create short, modular functions that perform a single task.
6. Using a Makefile
Know how to write a Makefile to automate the compilation of source files.
7. Interactivity
Implement an interactive mode with text menus to configure parameters dynamically.
Handle user input with functions like scanf and fgets.
8. Documentation
Create a README file to explain the program's functionality, use cases, and any limitations.
Document code with clear comments.
9. Programming Skills
Manage loops (for repetitions), conditional structures, and dynamic arrays.
Use pointers to manipulate dynamic data.
10. Collaborative Work (Optional)
Understand work methodologies such as Agile or Extreme Programming (XP).
Divide tasks and track the time spent on each part of the project.
1. Process and Command Management
Know how to execute system commands using system calls like fork(), execvp(), and manage child processes with wait() or waitpid().
Handle errors using errno to diagnose execution problems.
2. Time Management
Use the <time.h> library to measure and manage execution delays and prevent time drift.
Implement precise pauses in execution using usleep() or nanosleep().
3. File Handling
Read from and write to files, particularly for a configuration file or a log file.
Implement simple syntax parsing to interpret a custom configuration file.
4. System Programming
Understand Unix/Linux system calls (e.g., to access directories or set an execution path).
Handle signals to interrupt or stop repetitive tasks (e.g., using SIGINT or SIGTERM).
5. Structured Programming
Organize code into .c and .h files, and follow naming conventions for functions and variables.
Create short, modular functions that perform a single task.
6. Using a Makefile
Know how to write a Makefile to automate the compilation of source files.
7. Interactivity
Implement an interactive mode with text menus to configure parameters dynamically.
Handle user input with functions like scanf and fgets.
8. Documentation
Create a README file to explain the program's functionality, use cases, and any limitations.
Document code with clear comments.
9. Programming Skills
Manage loops (for repetitions), conditional structures, and dynamic arrays.
Use pointers to manipulate dynamic data.
10. Collaborative Work (Optional)
Understand work methodologies such as Agile or Extreme Programming (XP).
Divide tasks and track the time spent on each part of the project.