Working on Solidity Practise
This example shows a Solidity smart contract collection practicing basic syntax, data structures, and functions, with a second contract focused on mapping and struct access patterns. The main contract implements arithmetic operations, comparisons with events, summation loops, modifiers with require statements, and a mark-tracking system that calculates percentages from stored struct arrays. It uses Solidity’s built-in types, modifiers, events, and the `log1` low-level logging function, while the mapping contract demonstrates private state variables and public add/access functions. The code highlights common Solidity patterns like struct initialization, visibility qualifiers, and data location requirements, though the getter for a struct currently fails due to missing memory specification.