A C system to manage clients, physical activities, and training plans. Compatible with macOS ARM64/x86_64 and Windows.
- Search activity - Count participants who performed a specific activity in a period
- List participants - List clients who practiced activities in a period, ordered by activity count
- Show activity plan - Display plans for a specific activity for a client in a period
- Calculate activity time - Calculate total and average time of activities for a client
./build.sh
# Install dependencies (if needed)
make install-deps
# Compile and run
make run
# Or compile and run separately
make
./activities
gcc -Wall -Wextra -std=c99 -O2 -o activities imperative-c/Source.c
./activities
- Open
imperative-c.sln
in Visual Studio - Compile and run the project (F5)
- Open the
imperative-c
directory - Use the C/C++ extension to compile
- Run the generated
.exe
file
cd imperative-c
cl Source.c /Fe:activities.exe
activities.exe
imperative-c/
├── Makefile # Build for macOS/Linux
├── build.sh # Automated script
├── README.md # This documentation
├── imperative-c.sln # Visual Studio Solution
└── imperative-c/
├── Source.c # Main source code
├── customer.txt # Customer data
├── activity.txt # Activity data
├── plan.txt # Plan data
├── imperative-c.vcxproj # Visual Studio Project
└── imperative-c.vcxproj.filters # Project filters
make # Compile the program
make run # Compile and run
make clean # Remove compiled files
make debug # Compile debug version
make release # Compile optimized version
make help # Show all commands
- Xcode Command Line Tools:
xcode-select --install
- GCC/Clang: Included in command line tools
- Visual Studio Community (recommended)
- Visual Studio Code with C/C++ extension
- MinGW or MSVC for manual compilation
- macOS Monterey+ (ARM64/M1/M2)
- macOS Big Sur+ (x86_64/Intel)
- Windows 10/11
- Automatic operating system detection
- OS-specific terminal commands
- Compatible input functions (
scanf
vsscanf_s
) - Adaptive screen clearing (
clear
vscls
)