# smt12000/rai-compro-2025 architecture

> Architecture diagram of the GitHub repository smt12000/rai-compro-2025, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/smt12000/rai-compro-2025
- Repository: https://github.com/smt12000/rai-compro-2025

## Overview

This repository is a collection of standalone C programming exercises, not a single application: users run an individual console program, provide input where requested, and receive a printed result. The sampled programs cover calculator and numeric tasks, grade and student-average reporting, an in-memory ATM menu, and array operations. Each program owns its own input, computation, and output; no shared runtime or persistent storage is evident. The tree lists many additional exercises, but their behavior cannot be established from the sampled source.

Main entry points: [`Exercises/Exercise01.c`](https://github.com/smt12000/rai-compro-2025/blob/main/Exercises/Exercise01.c) (Calculator), [`Midterm/1.c`](https://github.com/smt12000/rai-compro-2025/blob/main/Midterm/1.c) (Number Formats), [`lab-3/challenge.c`](https://github.com/smt12000/rai-compro-2025/blob/main/lab-3/challenge.c) (Score GPA), [`lab-6/c1.c`](https://github.com/smt12000/rai-compro-2025/blob/main/lab-6/c1.c) (Student Averages)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_numeric["Numeric Exercises"]
  node_calculator["Calculator<br/>[Exercise01.c]"]
  node_binary["Number Formats<br/>[1.c]"]
  node_gpa["Score GPA<br/>[challenge.c]"]
end

subgraph group_students["Student Reporting"]
  node_studentavg["Student Averages<br/>[c1.c]"]
  node_studentgrades["Grade Summary<br/>[challenge.c]"]
end

subgraph group_interactive["Interactive Programs"]
  node_atm["ATM Menu<br/>[challenge.c]"]
  node_profile["Profile Entry<br/>[ex_03.c]"]
end

subgraph group_arrays["Array Exercises"]
  node_sort["Pointer Sort<br/>[challenge.c]"]
  node_minmax["Array Min Max<br/>[ex05.c]"]
  node_matrix["Matrix Product<br/>[Exercise48.c]"]
end

node_user(("User"))
node_console["Console I/O"]

node_user -->|"runs"| node_calculator
node_user -->|"runs"| node_binary
node_user -->|"runs"| node_gpa
node_user -->|"runs"| node_studentavg
node_user -->|"runs"| node_studentgrades
node_user -->|"runs"| node_atm
node_user -->|"runs"| node_profile
node_user -->|"runs"| node_sort
node_user -->|"runs"| node_minmax
node_user -->|"runs"| node_matrix
node_calculator -->|"reads and prints"| node_console
node_binary -->|"prints"| node_console
node_gpa -->|"reads and prints"| node_console
node_studentavg -->|"reads and prints"| node_console
node_studentgrades -->|"reads and prints"| node_console
node_atm -->|"reads and prints"| node_console
node_profile -->|"reads and prints"| node_console
node_sort -->|"reads and prints"| node_console
node_minmax -->|"reads and prints"| node_console
node_matrix -->|"prints"| node_console

click node_calculator "https://github.com/smt12000/rai-compro-2025/blob/main/Exercises/Exercise01.c"
click node_binary "https://github.com/smt12000/rai-compro-2025/blob/main/Midterm/1.c"
click node_gpa "https://github.com/smt12000/rai-compro-2025/blob/main/lab-3/challenge.c"
click node_studentavg "https://github.com/smt12000/rai-compro-2025/blob/main/lab-6/c1.c"
click node_studentgrades "https://github.com/smt12000/rai-compro-2025/blob/main/lab-6/challenge.c"
click node_atm "https://github.com/smt12000/rai-compro-2025/blob/main/lab-4/challenge.c"
click node_profile "https://github.com/smt12000/rai-compro-2025/blob/main/lab-2/ex_03.c"
click node_sort "https://github.com/smt12000/rai-compro-2025/blob/main/lab-7/challenge.c"
click node_minmax "https://github.com/smt12000/rai-compro-2025/blob/main/lab-5/ex05.c"
click node_matrix "https://github.com/smt12000/rai-compro-2025/blob/main/Exercises/Exercise48.c"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_calculator,node_binary,node_gpa,node_user toneBlue
class node_studentavg,node_studentgrades toneAmber
class node_atm,node_profile toneMint
class node_sort,node_minmax,node_matrix toneRose
class node_console toneIndigo
```

## Components

### Numeric Exercises

- [Calculator](https://github.com/smt12000/rai-compro-2025/blob/main/Exercises/Exercise01.c): `Exercises/Exercise01.c`
- [Number Formats](https://github.com/smt12000/rai-compro-2025/blob/main/Midterm/1.c): `Midterm/1.c`
- [Score GPA](https://github.com/smt12000/rai-compro-2025/blob/main/lab-3/challenge.c): `lab-3/challenge.c`

### Student Reporting

- [Student Averages](https://github.com/smt12000/rai-compro-2025/blob/main/lab-6/c1.c): `lab-6/c1.c`
- [Grade Summary](https://github.com/smt12000/rai-compro-2025/blob/main/lab-6/challenge.c): `lab-6/challenge.c`

### Interactive Programs

- [ATM Menu](https://github.com/smt12000/rai-compro-2025/blob/main/lab-4/challenge.c): `lab-4/challenge.c`
- [Profile Entry](https://github.com/smt12000/rai-compro-2025/blob/main/lab-2/ex_03.c): `lab-2/ex_03.c`

### Array Exercises

- [Pointer Sort](https://github.com/smt12000/rai-compro-2025/blob/main/lab-7/challenge.c): `lab-7/challenge.c`
- [Array Min Max](https://github.com/smt12000/rai-compro-2025/blob/main/lab-5/ex05.c): `lab-5/ex05.c`
- [Matrix Product](https://github.com/smt12000/rai-compro-2025/blob/main/Exercises/Exercise48.c): `Exercises/Exercise48.c`

### Other components

- **User**
- **Console I/O**

## Connections

- User → Calculator: runs
- User → Number Formats: runs
- User → Score GPA: runs
- User → Student Averages: runs
- User → Grade Summary: runs
- User → ATM Menu: runs
- User → Profile Entry: runs
- User → Pointer Sort: runs
- User → Array Min Max: runs
- User → Matrix Product: runs
- Calculator → Console I/O: reads and prints
- Number Formats → Console I/O: prints
- Score GPA → Console I/O: reads and prints
- Student Averages → Console I/O: reads and prints
- Grade Summary → Console I/O: reads and prints
- ATM Menu → Console I/O: reads and prints
- Profile Entry → Console I/O: reads and prints
- Pointer Sort → Console I/O: reads and prints
- Array Min Max → Console I/O: reads and prints
- Matrix Product → Console I/O: prints
