# prototype9111/schildtbooklearn architecture

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

- Interactive diagram: https://gitdiagram.com/prototype9111/schildtbooklearn
- Repository: https://github.com/prototype9111/schildtbooklearn
- Video tour (about a minute): https://gitdiagram.com/prototype9111/schildtbooklearn/video

## Overview

schildtbooklearn is a personal collection of standalone C++ exercises accompanying Herbert Schildt’s textbook, rather than one integrated application. A learner chooses an example, supplies any requested console input, and reads its output. The README describes a 12-module organization and official exercise answers, but the supplied tree contains source files only for modules 1–5 and no answers directory. The graph highlights those topics and representative programs; sampled code supports their individual console behavior, not connections between exercises.

Main entry points: [`module_2/moduleproject_2.3.cpp`](https://github.com/prototype9111/schildtbooklearn/blob/main/module_2/moduleproject_2.3.cpp) (Loan Payment), [`module_3/moduleproject_3.20.cpp`](https://github.com/prototype9111/schildtbooklearn/blob/main/module_3/moduleproject_3.20.cpp) (Lawbook Menu), [`module_1/project_1.2.cpp`](https://github.com/prototype9111/schildtbooklearn/blob/main/module_1/project_1.2.cpp) (Rectangle Area), [`module_1/moduleproject_1.2.cpp`](https://github.com/prototype9111/schildtbooklearn/blob/main/module_1/moduleproject_1.2.cpp) (Feet Conversion)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_basics["C++ Basics"]
  node_rectangle["Rectangle Area<br/>[project_1.2.cpp]"]
  node_feet["Feet Conversion"]
end

subgraph group_types["Types And Operators"]
  node_signed["Signed Types<br/>[project_2.1.cpp]"]
  node_loan["Loan Payment"]
end

subgraph group_control["Control Statements"]
  node_lawbook["Lawbook Menu"]
end

subgraph group_arrays["Arrays And Pointers"]
  node_sort["Bubble Sort"]
  node_stats["Array Statistics<br/>[project_4.2.cpp]"]
end

subgraph group_functions["Functions"]
  node_quicksort["Character Quicksort"]
  node_scope["Variable Scope<br/>[project_5.13.cpp]"]
end

node_learner(("Learner"))
node_terminal["Console"]

node_learner -->|"runs example"| node_rectangle
node_learner -->|"runs example"| node_feet
node_learner -->|"runs example"| node_signed
node_learner -->|"runs example"| node_loan
node_learner -->|"runs example"| node_lawbook
node_learner -->|"runs example"| node_sort
node_learner -->|"runs example"| node_stats
node_learner -->|"runs example"| node_quicksort
node_learner -->|"runs example"| node_scope
node_terminal -->|"provides input"| node_loan
node_terminal -->|"provides input"| node_lawbook
node_rectangle -->|"prints result"| node_terminal
node_feet -->|"prints table"| node_terminal
node_signed -->|"prints values"| node_terminal
node_loan -->|"prints payment"| node_terminal
node_lawbook -->|"prints definition"| node_terminal
node_sort -->|"prints arrays"| node_terminal
node_stats -->|"prints statistics"| node_terminal
node_quicksort -->|"prints sorted text"| node_terminal
node_scope -->|"prints values"| node_terminal

click node_rectangle "https://github.com/prototype9111/schildtbooklearn/blob/main/module_1/project_1.2.cpp"
click node_feet "https://github.com/prototype9111/schildtbooklearn/blob/main/module_1/moduleproject_1.2.cpp"
click node_signed "https://github.com/prototype9111/schildtbooklearn/blob/main/module_2/project_2.1.cpp"
click node_loan "https://github.com/prototype9111/schildtbooklearn/blob/main/module_2/moduleproject_2.3.cpp"
click node_lawbook "https://github.com/prototype9111/schildtbooklearn/blob/main/module_3/moduleproject_3.20.cpp"
click node_sort "https://github.com/prototype9111/schildtbooklearn/blob/main/module_4/moduleproject_4.1.cpp"
click node_stats "https://github.com/prototype9111/schildtbooklearn/blob/main/module_4/project_4.2.cpp"
click node_quicksort "https://github.com/prototype9111/schildtbooklearn/blob/main/module_5/module_project_5.1.cpp"
click node_scope "https://github.com/prototype9111/schildtbooklearn/blob/main/module_5/project_5.13.cpp"

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_rectangle,node_feet toneBlue
class node_signed,node_loan toneAmber
class node_lawbook toneMint
class node_sort,node_stats toneRose
class node_quicksort,node_scope,node_learner,node_terminal toneIndigo
```

## Components

### C++ Basics

- [Rectangle Area](https://github.com/prototype9111/schildtbooklearn/blob/main/module_1/project_1.2.cpp): `module_1/project_1.2.cpp`
- [Feet Conversion](https://github.com/prototype9111/schildtbooklearn/blob/main/module_1/moduleproject_1.2.cpp): `module_1/moduleproject_1.2.cpp`

### Types And Operators

- [Signed Types](https://github.com/prototype9111/schildtbooklearn/blob/main/module_2/project_2.1.cpp): `module_2/project_2.1.cpp`
- [Loan Payment](https://github.com/prototype9111/schildtbooklearn/blob/main/module_2/moduleproject_2.3.cpp): `module_2/moduleproject_2.3.cpp`

### Control Statements

- [Lawbook Menu](https://github.com/prototype9111/schildtbooklearn/blob/main/module_3/moduleproject_3.20.cpp): `module_3/moduleproject_3.20.cpp`

### Arrays And Pointers

- [Bubble Sort](https://github.com/prototype9111/schildtbooklearn/blob/main/module_4/moduleproject_4.1.cpp): `module_4/moduleproject_4.1.cpp`
- [Array Statistics](https://github.com/prototype9111/schildtbooklearn/blob/main/module_4/project_4.2.cpp): `module_4/project_4.2.cpp`

### Functions

- [Character Quicksort](https://github.com/prototype9111/schildtbooklearn/blob/main/module_5/module_project_5.1.cpp): `module_5/module_project_5.1.cpp`
- [Variable Scope](https://github.com/prototype9111/schildtbooklearn/blob/main/module_5/project_5.13.cpp): `module_5/project_5.13.cpp`

### Other components

- **Learner**
- **Console**

## Connections

- Learner → Rectangle Area: runs example
- Learner → Feet Conversion: runs example
- Learner → Signed Types: runs example
- Learner → Loan Payment: runs example
- Learner → Lawbook Menu: runs example
- Learner → Bubble Sort: runs example
- Learner → Array Statistics: runs example
- Learner → Character Quicksort: runs example
- Learner → Variable Scope: runs example
- Console → Loan Payment: provides input
- Console → Lawbook Menu: provides input
- Rectangle Area → Console: prints result
- Feet Conversion → Console: prints table
- Signed Types → Console: prints values
- Loan Payment → Console: prints payment
- Lawbook Menu → Console: prints definition
- Bubble Sort → Console: prints arrays
- Array Statistics → Console: prints statistics
- Character Quicksort → Console: prints sorted text
- Variable Scope → Console: prints values
