Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

1. Course: Patterns using C++ 2. Project Description: Create a C++ command-line application that generates data sets for the Win64 platform. 3. Program Interfaces The

1. Course: Patterns using C++ 2. Project Description: Create a C++ command-line application that generates data sets for the Win64 platform. 3. Program Interfaces The generate utility should have the following command-line interface: generate [switches] [gen [args...]] 4. Design A UML class diagram of the system has been provided. Your code must reflect this design. The design incorporates both singleton pattern and factories. You are to chose the appropriate singleton implementations and factory pattern/implementations. 5. Grading Criteria 6. UML diagram provided: 7. Command lines provided x screenshot with results: - >generate - >generate help or generate -h same above - >generate die / generate die 2d6 - More examples: Die Roll generate die generate dieroll generate dierolls generate die 100 generate die 6 3d6 Factorial generate fac generate fact generate factorial generate factorials generate fac 10 Fibonacci generate fib generate fib 20 generate fib 20 0 generate fib 20 10 Linear generate linear generate lin 20 generate lin 20 10 generate lin 20 10 5 generate lin 20 -10 -5 generate lin 20 2.3 generate lin 20 2.3 2 generate lin 20 2.4 .1 generate lin 20 2 .1 Power generate power generate pow 20 generate pow 20 3 generate pow 20 3 10 Prime generate primes generate pri 100 Sine generate sine generate sin 1 generate sin 1.5 generate sin 1 60 Permutation generate perm generate permutations generate perm jumble generate perm ab c 8. C++ Style required - GUIDE 9. C/C++ Grading Guide a. Version 1.2.0 10. Use Cases/Requirements 11. This section lists the penalties for failing to document or implement the requirement of the project/solution. Here we verify that, the program attempts to do what it is supposed to! Issue Penalty Platform Implemented on platform other than specified. -100% Implemented with language other than specified. -100% Implemented with compiler/environment other than specified. -100% Console interface instead of command-line interface (or vice versa). -100% 12. Code/Style 13. This section lists the penalties relating to the source code. Naming conventions, layout, best practices are all considered. Issue Penalty General Use of profanity anywhere in the code/comments/documentation.1 -40% Comments Authorship is absent. -100% File level comments absent2 -10% PDL-style comments absent from significant code blocks3 -10% Function level comment absent on non-getter/setter function or method.4 -10% Sourcing code from the internet or elsewhere that is not referenced/acknowledged. -20% Layout Poor indentation -10% Poor use of blank lines to group code blocks -5% Poor/inconsistent brace placement -10% Identifiers General Meaningless or misleading variable, object, function, or class names -10% Identifiers Constants const/constexpr/macros not in ALL_CAPS -10% Nameable values not in const or constexpr. -5% const/constexpr not one-per-line -5% Universal constants not global scope (e.g. physics values). -5% 1 Except where profanity is a requirement of the use cases. 2 File level comments include a minimum of author, overview of file contents, date, and compiler version information. 3 PDL = Program Description Language. 4 Function level comments include a statement of purpose, pre-conditions, and post-conditions. Identifiers Variables Unnecessary intermediate variable.5 -5% Variable declarations not RAII where reasonable. -5% Global variables used without necessity (excessive coupling). -10% Functions Objects not passed by reference or const reference where appropriate. -5% Library Uses a C-function where a safer C++ exists. -10% Use of non-standard/third party library without permission. -100% 14. Logic/Runtime Tests 15. This section lists the penalties relating to internal tests both logical and runtime. Issue Penalty Runtime Tests Uses a command line argument without verifying that it exists. -10% Improper stream eof test. -20% Memory leaks.6 -20% Crashes on bad filenames. -20% Doesnt handle full path specs (i.e. relative path names, absolute path names, programs found on PATH). -20% File paths are hardcoded. -20% 16. Runtime/Execution 17. This section lists the penalties relating to the execution of the program. Issue Penalty Output Console output doesnt fit into a standard 80-column console. -10% 18. Files/Deployment 19. This section lists the penalties relating to the organization of your project, its packaging, and deployment. Issue Penalty Build environment Visual Studio Include Directory paths are not Solution/Project relative -20% Header or source files grouped under incorrect filter -10% BOOST directories set in project properties, not system properties -30% Project doesnt compile7 -100% No solution or project files submitted, just source code. -30% 5 A variable whose sole purpose is to make code more readable (but at the expense of introducing a variable). Readability should be achieved with functions (particularly inline functions in C++). 6 If memory leaks are not checked for, the penalty will apply in full. 7 A project without source files by definition will not compile. Warnings generated by level 3 compile -30% File Names Default names (e.g. Source.cpp, Header.h) -5% C header files not named with .h extension -5% C++ header files named with .h and not .hpp extension -5% Source file names dont indicate what is contained in the file. -10% Headers and supporting .cpp files have wildly differing names -10% Executable file name is meaningless or cryptic (e.g Proj4.exe, myawesomecode.exe) -42% Code Deployment Header contains non-templatedon-inlinedon-constexpron-trivial functions, operators, or methods. -50% Header class declaration contains non-trivial, non-templated, non-inlined, non-constexpr member function/operator implementation. -20% Header contains variable definition or static member variable definition -50% Header files dont have header guard -20% Reusable elements not contained in their own header/library files. -10% Submission Late submission 5 days -10%/day -100% Project not cleaned.8 -20% vsclean.exe or any other non-solution program submitted with project. -25% Posted my project on GitHub or any other code sharing site. Academic Offense 20. 8 A cleaned project has its build files and folders removed. image text in transcribed

image text in transcribed

image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Databases And Python Programming MySQL MongoDB OOP And Tkinter

Authors: R. PANNEERSELVAM

1st Edition

9357011331, 978-9357011334

Students also viewed these Databases questions

Question

Find the real solutions of each equation. 4 - 5x = X

Answered: 1 week ago

Question

8. Measure the effectiveness of the succession planning process.

Answered: 1 week ago

Question

7. Determine what feedback is provided to employees.

Answered: 1 week ago