Find Jobs
Hire Freelancers

C++ Project

$30-250 USD

Closed
Posted about 14 years ago

$30-250 USD

Paid on delivery
In this class, in lieu of a final examation, you will do a Final Project. In your Final Project, you will demonstrate your mastery of the fundamental concepts taught in this class by applying them to a real-world situation of your choice. The fundamental concepts are: * variables, * data types, * expressions, * flow of control, * conditional statements, * loops, * functions, and * arrays. Your Final Project counts for 33% of your final course grade, so you should start thinking about it very early in the course, and start seriously working on it no later than half way through the course. This note defines the detailed requirements for your class project. In this project, you will write the requirements for a simple computer program, design the program, implement the program in the C++ language, and test it. You will do the project in two phases. Phase I (17% of your class grade) consists of requirements and design. Phase II (16% of your class grade) consists of implementation and testing. Phase I is due two weeks before the end of the term. (A reminder will be posted in Class Announcements.) However, you should not wait until the due date to submit Phase I, since that will leave insufficient time for you to consider my review of your Phase I work and revise your plan accordingly. Phase 2 is due on the last day of the term. Phase I - the Program Plan Your program will perform a useful computation for some practical situation of your choice. You will need to identify the inputs to the computation, and define what outputs are to be computed and displayed, and how those outputs will be computed from the inputs. Your program will ask the user to enter the values of each of the inputs. It will then perform the computations and display the outputs. In prompting the user for input data, your program must display informative prompts written as complete English sentences. Outputs must be displayed so that the outputs read as complete English sentences. Your Program Plan is to consist of six numbered sections, as follows: 1. Context: The context in which the computation is to be performed: who will use the program, and for what business purpose. 2. Inputs: A list of the inputs and their data types 3. Outputs: A list of the outputs and their data types 4. Requirements: The processing requirements, defining how the outputs are to be derived from the inputs. 5. Design: The program design, expressed in pseudocode. Your pseudocode can be in any style and in any degree of formality, but it needs to show me that you have completely thought through how you are going to write the program. You may use flowcharts to support your pseudocode. 6. Test cases: You must identify several sets of test data that together reasonably exercise the features of the program. For each test case, determine (in advance, by hand computation) what is the required output. There are two special requirements: * Your program must contain an outer loop that allows you to test with several sets of test data, without having to restart the program. You will see an example (TestProgramWithUsefulLoop) of how this is done in a few weeks. Pay careful attention to that example, and model that aspect of your program after it. * When writing pseudocode containing conditional statements and loops, use braces {} to group statements into compound statements, as you will see in our many program examples and even in the sample project below. Do not rely on indentation to communicate statement grouping. Now here is why you should get an early start on your project: You may ask me to review drafts of your project plan before final submittal. When you have completed a draft of your plan, post it in your assignments folder under the FP1 tab, and send me an e-mail telling me that you have posted it. I will not grade your plan at this time, but I will review your plan and provide comments by return e-mail, and return your plan ungraded. You can then revise your plan if you choose. When you post a revision, again send me an e-mail saying so, and I will review the revision and provide further comments. Up to two rounds of review and revision are possible. I'll grade only the final version, that is, whatever version you have in your Assignment Folder as of the due date of Phase I. In grading your Project Plan, I will check for these features: * Are all required parts of your plan present, in the proper order, and properly identified? (Each section will be graded separately, so don't leave any out!) * Are the context and business purpose reasonably well explained? * Are the inputs and outputs adequate, and are their proposed data types appropriate? * Is the general description of the computation clearly written? * Will your program demonstrate you mastery of all basic concepts? * Does the pseudocode appear plausible? (I am not going to check it for complete correctness!) * Are the test cases adequate, and have the required outputs for each set of input test data been determined? * Is the plan neatly presented, and is all English grammar, usage, and spelling correct? Phase II - Implementation In Phase II, you will write and test your program. You will write the program "from scratch" (rather than filling in the blanks in a template, as you will be doing in Assignments 1 through 4), but you will be able to model your program on examples that you have seen in previous weeks. In fact, it is quite acceptable for your to start with an example program that is close to what you plan to do, and modify it as needed. (The sample program TestProgramWithUsefulLoop, mentioned earlier, is a good starting point.) When you have written and tested your program, post the C++ Source Code (.cpp) file for your program in your Assignments Folder under the FP2 tab. This is what I will grade. In grading your program, I will check these items: * Does it compile without errors? * Does it work correctly? * Does it demonstrate mastery of all basic concepts? (Incidentally, if you are working on your program, and it won't compile, and you can't figure out what is wrong, you are welcome to e-mail me your .cpp file and I'll have a look at it, as with any of the other assignments.) A Sample Project Plan The purpose of this example to illustrate appropriate organization of a plan. It is a very basic plan, in that it uses conditional statements effectively but there are no loops (other than the outer loop, which doesn't count), functions, or arrays. If well executed in Phase 2, the project as a whole would rate a grade of C. A higher grade could be obtained with a project that uses loops, or functions, or arrays, or a combination of these. Note that this is an example for format and style only. Your subject matter should be different. It is not acceptable to play back this example plan, even with elaborations. Income Tax Computation for Upper Elbonia 1. Context. The republic of Upper Elbonia has a very regressive tax structure. If you are a landowner, your tax is 10% of income in excess of 1000 zings; but if you are a peasant, your tax is 20% of income in excess of 500 zings. (A zing is the monetary unit of Upper Elbonia.) The program is to be used by professional tax preparers to compute a client's tax. 2. Inputs. There are two inputs: the client's income in zings (float) and the client's filing status (char). Filing status will be either L for landowner or P for peasant. 3. Outputs. There is one output, the tax due (float). 4. Processing Requirements. The cases of landowner and peasant have to be considered separately. A landowner with income under 1000 zings owes no tax; if the landowner's income is over 1000 zings, then one has to subtract 1000 from the income and take 10% of the difference. The treatment of the peasant case is similar, but with different numbers. 5. Program design. Declare the following variables: float income, float tax, and char filingStatus. Declare a boolean variable doItOnceMore and a char variable nextAction initialize doItOnceMore to true while doItOnceMore is true { display the prompt "Enter the client's filing status, either L or P: " input the filing status display the prompt "Enter the client's income in zings: " input the income if (filing status is L) { if (income is less than 1000) { tax is zero} else {tax is 10% of (income - 1000)} Display "The tax is " followed by the tax value, followed by "zings." followed by a newline. } else { if (filing status is P) { if (income is less than 500) { tax is zero } else {tax is 20% of (income - 500) } Display "The tax is " followed by the tax value, followed by "zings." followed by a newline. } else {display "You entered an invalid filing status."} Display the prompt "New client? (Y or N)" input a character to the nextAction variable if (nextAction is an N) set doItOnceMore to false } end of while loop 6. Test cases. * Filing status L, income = 37 zings (tax should be zero) * Filing status L, income = 2000 zings (tax should be 100) * Filing status P, income = 499 zings (tax should be zero) * Filing status P, income = 600 zings (tax should be 20) * Filing status X, income = 600 zings (get error message)
Project ID: 652932

About the project

22 proposals
Remote project
Active 14 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
22 freelancers are bidding on average $112 USD for this job
User Avatar
hi, I can help
$50 USD in 2 days
5.0 (11 reviews)
3.6
3.6
User Avatar
nothing but a peanut
$30 USD in 1 day
4.5 (7 reviews)
2.4
2.4
User Avatar
we completed with in time
$230 USD in 5 days
0.0 (0 reviews)
0.0
0.0
User Avatar
I am confident of doing it.
$150 USD in 5 days
0.0 (0 reviews)
0.0
0.0
User Avatar
dear sir/madam, kindly send me it's detail. thanks
$150 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
I am interested please see the PM
$30 USD in 2 days
0.0 (1 review)
0.0
0.0
User Avatar
Not a big task. Select me and get complete satisfaction.
$30 USD in 3 days
0.0 (0 reviews)
0.0
0.0
User Avatar
I can do this . 100% Quality assured.
$250 USD in 15 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Please check PMB
$30 USD in 2 days
0.0 (1 review)
0.0
0.0
User Avatar
i can do it it will be my first project...
$50 USD in 7 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Hi, I can do this with best quality and I am having 5 years of SW industry experience.
$200 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
I can do the work within 5 days.
$32 USD in 5 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Sir, I can do this for you in minimal time. I am very needy person. please trust in me once, I will show you my productivity. Please consider me for this task. If you want to pay me less, I am agreed but please consider me. This is the promise to you that If you give this assignment to me, you will always consider me for all your works. I am waiting for your positive response
$150 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Hi ! I can complete the project on time.
$100 USD in 3 days
0.0 (0 reviews)
0.0
0.0
User Avatar
I am a Lecturer of a University. I am a course teacher of C/C++ programming. So i think i can do it on Time.
$150 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
hello... I have completed my IT last year.... I know the work very well.... I can do it for u as a student not as a professional so you can have good grades..... if necessary i can provide you some comments so u can understand it and present it....
$30 USD in 2 days
0.0 (0 reviews)
0.0
0.0
User Avatar
want to see my work sample
$100 USD in 20 days
0.0 (0 reviews)
0.0
0.0
User Avatar
I was finishing the project and send to you.
$50 USD in 1 day
0.0 (0 reviews)
0.0
0.0
User Avatar
I can do this program in time.
$170 USD in 15 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Interested in this project.
$160 USD in 7 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of PAKISTAN
Lahore, Pakistan
0.0
0
Member since Apr 1, 2010

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.