Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

OPIM3220_HW3 OPIM XXXXXXXXXXHomework 3 The final homework for OPIM 3220 is more open ended than the previous assignments. For this homework, I'm asking you use what we've learned (plus any additional...

1 answer below »
OPIM3220_HW3
OPIM XXXXXXXXXXHomework 3
The final homework for OPIM 3220 is more open ended than the previous assignments. For this
homework, I'm asking you use what we've learned (plus any additional concepts you're comfortable
with) to build an application that meets the following requirements.
You may use either a Mac or PC to write this program.
Requirements - Your First Program
For the final assignment, you may do one of the following:
Automate a task you or someone you know does frequently.
Create a game, or recreate an existing game, that can be played without much instruction.
Anything else, so long as it meets the below requirements (you can run it by me via email if
you want).
Requirements
Most (more than likely, all) of the major topics we learned in class are used.
Including: Variables, A
ays/Lists, Conditional logic, Loops
The program uses at least 1 custom Class (in addition to the standard Program class).
This class should contain at least one property or method (preferably more).
A short summary is provided based on what the program is supposed to do, and if
necessary, how to use it.
This can be a simple text file or Word doc added inside the program's directory, o
submitted with the assignment.
The program should be easy to read, and free of any code smells.
The program runs properly.
If you're feeling ambitious, you can write a different kind of application (WinForms,
WPF, ASP.NET). But, I must be able to run it on a Mac or a PC. If it is not cross platform,
please tell me what type of application it is in the submission form.
Getting Started
Think about something you do often (or maybe would do often if it was easier).
Think about a relatively simple game you could replicate in a Console Application.
Outline the process, step by step, and begin to replicate it in code.
Be careful to not try to do too much at once, and add features one by one.

Inspiration
af:
n0
af:
n4
af:
n40
Inspiration
Your programs can do anything! You can write a program that can calculate grades, simplify
your ho
ies, or automate your responsibilities. You can use them to keep track of things, or do
things!
Games come in all different types. You can recreate or simulate card games, quiz games, o
trivia games! Just keep in mind the complexity of the game so you don't get confused.
Grading
80% - The program meets the requirements above.
10% - The program builds properly based on directions you tell me (or is a .NET Core Console
Application)
10% - The program is easy to use.
Submitting your Assignment
Submit your homework as a ZIP file including all of your code. Mac users can right click on
a folder, and click "Compress " and Windows users can right click on a
folder and say "Send to...Compressed (zipped) folder."
If your zip file only extracts to a single file, and not a folder filled with files, it is not made
co
ectly.
If you were to submit the "AdmissionDecider" project below, you should zip the folde
circled in red and submit the result.
af:
n51
af:
n57
af:
n65
Answered Same Day Apr 20, 2021

Solution

Shivani answered on Apr 24 2021
149 Votes
Application_Cu
encyConverte
Cu
encyConverte
.vs/Cu
encyConverte
DesignTimeBuild/.dtbcache.v2
Application_Cu
encyConverte
Cu
encyConverte
.vs/Cu
encyConverte
v16/.suo
Application_Cu
encyConverte
Cu
encyConverte
Cu
encyConverter.sln
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30011.22
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cu
encyConverter", "Cu
encyConverter\Cu
encyConverter.csproj", "{8BBCAC68-F6F2-4A5B-A510-C5FE9D02D50C}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
        Debug|Any CPU = Debug|Any CPU
        Release|Any CPU = Release|Any CPU
    EndGlobalSection
    GlobalSection(ProjectConfigurationPlatforms) = postSolution
        {8BBCAC68-F6F2-4A5B-A510-C5FE9D02D50C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
        {8BBCAC68-F6F2-4A5B-A510-C5FE9D02D50C}.Debug|Any CPU.Build.0 = Debug|Any CPU
        {8BBCAC68-F6F2-4A5B-A510-C5FE9D02D50C}.Release|Any CPU.ActiveCfg = Release|Any CPU
        {8BBCAC68-F6F2-4A5B-A510-C5FE9D02D50C}.Release|Any CPU.Build.0 = Release|Any CPU
    EndGlobalSection
    GlobalSection(SolutionProperties) = preSolution
        HideSolutionNode = FALSE
    EndGlobalSection
    GlobalSection(ExtensibilityGlobals) = postSolution
        SolutionGuid = {D846EF1A-8B3E-48DF-B048-3943B623F4AE}
    EndGlobalSection
EndGlobal
Application_Cu
encyConverte
Cu
encyConverte
Cu
encyConverte
in/Debug/netcoreapp3.1/Cu
encyConverter.deps.json
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v3.1",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v3.1": {
"Cu
encyConverte
1.0.0": {
"runtime": {
"Cu
encyConverter.dll": {}
}
}
}
},
"li
aries": {
"Cu
encyConverte
1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}
Application_Cu
encyConverte
Cu
encyConverte
Cu
encyConverte
in/Debug/netcoreapp3.1/Cu
encyConverter.dll
Application_Cu
encyConverte
Cu
encyConverte
Cu
encyConverte
in/Debug/netcoreapp3.1/Cu
encyConverter.exe
Application_Cu
encyConverte
Cu
encyConverte
Cu
encyConverte
in/Debug/netcoreapp3.1/Cu
encyConverter.pd
Application_Cu
encyConverte
Cu
encyConverte
Cu
encyConverte
in/Debug/netcoreapp3.1/Cu
encyConverter.runtimeconfig.dev.json
{
"runtimeOptions": {
"additionalProbingPaths": [
"C:\\Users\\Shivani\\.dotnet\\store\\|arch|\\|tfm|",
"C:\\Users\\Shivani\\.nuget\\packages"
]
}
}
Application_Cu
encyConverte
Cu
encyConverte
Cu
encyConverte
in/Debug/netcoreapp3.1/Cu
encyConverter.runtimeconfig.json
{
"runtimeOptions": {
"tfm": "netcoreapp3.1",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "3.1.0"
}
}
}
Application_Cu
encyConverte
Cu
encyConverte
Cu
encyConverte
Cu
encyConverter.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;
namespace Cu
encyConverte
{
class Cu
encyConverte
{
public static string[] GetCu
encyShortCodes()
{

The XML contains these cu
ency tags and the program shall parse through these tags
return new string[] {"eur", "usd", "jpy", "bgn", "czk", "dkk", "gbp", "huf", "ltl", "lvl"
, "pln", "ron", "sek", "chf", "nok", "hrk", "rub", "try", "aud", "
l", "cad", "cny", "hkd", "idr", "ils"
, "inr", "krw", "mxn", "myr", "nzd", "php", "sgd", "zar"};
}

Get cu
ency exchange rate in euro's
public static float GetCu
encyRateInEuro(string cu
ency)
{
if (cu
ency.ToLower() == "")
throw new ArgumentException("Invalid Argument! cu
ency parameter cannot be empty!");
if (cu
ency.ToLower() == "eur")
throw new ArgumentException("Invalid Argument! Cannot get exchange rate from EURO to EURO");
try
{

Create with cu
ency parameter, a valid RSS url to ECB euro exchange rate feed
string rssUrl = string.Concat("http:
www.ecb.int
ss/fxref-", cu
ency.ToLower() + ".html");

Create & Load New Xml Document
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(rssUrl);

Create XmlNamespaceManager for handling XML namespaces.
System.Xml.XmlNamespaceManager nsmgr = new System.Xml.XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("rdf", "http:
purl.org
ss/1.0/");
nsmgr.AddNamespace("cb", "http:
www.cbwiki.net/wiki/index.php/Specification_1.1");

Get list of daily cu
ency exchange rate between selected "cu
ency" and the EURO
System.Xml.XmlNodeList nodeList = doc.SelectNodes("
df:item", nsmgr);

Loop Through all XMLNODES with daily exchange rates
foreach (System.Xml.XmlNode node in nodeList)
{

Create a CultureInfo, this is because EU and USA use different sepperators in float (, or .)
CultureInfo ci = (CultureInfo)CultureInfo.Cu
entCulture.Clone();
ci.NumberFormat.Cu
encyDecimalSeparator = ".";
try
{

Get cu
ency exchange rate with EURO from XMLNODE
float exchangeRate = float.Parse(
...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here