A C-based console application that simulates the Artemis II space mission from launch to splashdown while monitoring spacecraft resources, mission events, communication status, and mission statistics.
- Load mission configuration from a configuration file (
config.txt) - Display the loaded mission configuration
- Display the mission resource consumption matrix
- Schedule and display mission events in chronological order
- Simulate the complete Artemis II mission
- Track spacecraft fuel, oxygen, and battery levels throughout the mission
- Monitor spacecraft communication status
- Detect resource warnings and critical mission conditions
- Display mission statistics
- Generate a mission log during the simulation
- Save a detailed mission report to a text file
This project demonstrates:
- Modular programming using separate
.cand.hfiles - Structures (
struct) - Pointers
- Singly linked lists
- Dynamic memory allocation (
malloc/free) - Dynamic two-dimensional arrays
- File input and output
- String handling
- Memory management
- Console-based application design
The simulation follows these mission phases:
- Launch
- Earth Orbit
- System Check
- Trans-Lunar Injection (TLI)
- Lunar Flyby
- Communication Blackout
- Return Trajectory
- Reentry
- Splashdown
Main.c
mission.c / mission.h
spacecraft.c / spacecraft.h
event.c / event.h
menu.c / menu.h
file_manager.c / file_manager.h
config.txt
- C
- Visual Studio 2022
- Standard C Library
- Windows Console Application
The program uses and generates the following files:
- config.txt – mission configuration and resource consumption data
- mission_log.txt – records mission events and spacecraft status throughout the simulation
- mission_report.txt – contains the final mission summary and statistics
- Open
ArtemisMissionSimulation.slnin Visual Studio. - Build the solution.
- Run the project.
- Load the mission configuration.
- Run the mission simulation.
- View the mission statistics or save the mission report.
Developed independently by Gaya Cohen as an academic C programming project.
