-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7cc4786
commit 960d86e
Showing
1 changed file
with
38 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,38 @@ | ||
# stepin_student-record-system | ||
# MATRIX CALCULATOR | ||
### Miniproject | ||
![Banner](https://github.com/hemanthasapu/256889-miniproject-ltts/blob/main/1_Requirements/Matrix.png) | ||
|
||
|
||
Build | Code Quality | Unity | [Git Inspector](using github.io option) | ||
------|----------|-------|-------------- | ||
[![C/C++ CI](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/c-cpp.yml/badge.svg)](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/c-cpp.yml) | [![Static Cppcheck](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/cppcheck.yml/badge.svg)](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/cppcheck.yml) [![Dynamic Valgrind](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/CodeQuality_Dynamic.yml/badge.svg)](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/CodeQuality_Dynamic.yml) | [![Unity - Unit Testing](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/unity.yml/badge.svg)](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/unity.yml)| [![Git Inspector](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/gitinspector.yml/badge.svg)](https://github.com/hemanthasapu/256889-miniproject-ltts/actions/workflows/gitinspector.yml) | ||
|
||
|
||
## Folder Structure | ||
Folder | Description | ||
-------------------| ----------------------------------------- | ||
`1_Requirements` | Documents detailing requirements and research | ||
`2_Design` | Documents specifying design details | ||
`3_Implementation` | All code and documentation | ||
`4_Test_plan` | Documents with test plans and procedures | ||
|
||
|
||
|
||
| Feature Id | Feature | | ||
| -----------|---------| | ||
|F_01| Options to select matrix operation| | ||
|F_02| Operations on two matrices such as addition, subtraction and multiplication are included| | ||
|F_03| Single matrix operations such as determinant, transpose and inverse of a matrix | | ||
|F_04| Separate function for each operation | | ||
|F_05| A structure has been implemented for storing the matrices| | ||
|F_06| Dynamic memory allocation and deallocation has been implemented for the matrices| | ||
|F_07| There is no upper limit for the size of the matrix| | ||
|
||
## Challenges Faced and How Was It Overcome | ||
|
||
| No. | Challenge | Solution | ||
|-----|-----------|-------- | ||
|1. | Dynamic memory allocation of 2D arrays created segmentation faults| running the code in GDB helped find the line where the program crashes | ||
|2. | Program crashes | Writing clean code with allocating and deallocating memory at all functions as per requirement| | ||
|3. | Logical errors faced while designing matrix operations| Referred some articles to revise matrix basics and operations on 2D arrays | ||
|4. | Unit testing on dynamic 2D array outputs| Created enumerated variables to be returned by those functions if the specified operation executes successfully |