Find Jobs
Hire Freelancers

build C# console application

$10-30 AUD

Concluído
Publicado há quase 8 anos

$10-30 AUD

Pago na entrega
I have a application development assignment for a second year university subject due Sunday 29/05/2016 11:59 UTC+10:00 (Sydney Australia time). The assignment specifications are below to give you an idea of the requirements, but the format of some of the information is not correct. I am able to send through a pdf copy of the assignment specification if required. This assignment is due Friday 27th May. I prefer e-mail submission and you should submit your source code (C#) for all parts of the assignment via e-mail. Note that marks will be deducted for poorly structured or uncommented code. All source code files submitted must include title comments that at least identify the author and the assignment part. The separate parts of the assignment must be submitted in separate subdirectories (e.g. Part1, Part2 etc.) – submissions that ignore this instruction and leave all assignment files in one directory will be penalised. Please note that this assignment is due some weeks after the suggested study timetable has covered the last of required materials. Do not to leave this assignment to the last minute. Unless an extension is approved there is a penalty (see Unit Information Guide). Part 1 – Interfaces and Abstract classes (7 marks) This part of the assignment allows you to test your understanding of interfaces and their associated polymorphism. A retail outlet has a large number of products on display that are barcoded with unique codes. The barcodes are read by the staff and customers to allow various stock taking, order processing and customer usages. To allow all processing by a C# program, each object representing a stocked item needs to implement an interface with the following member functions: int ProductType(); // the unique product code string ProductDescription(); // return description of product Write and test the following: a. (1 marks) Write an interface called IProduct to allow common (polymorphic) processing of all classes that implement this interface. b. (2 mark) Implement at least two types of product objects (two classes) that implement the IProduct interface. For example, one may be ProductStock class which contains additional information such as number of items in stock. Another may be ProductComparison, which contains the product’s retail price and the best price from another source (buyer’s website for example). Don’t make these too complicated. Just one or two attributes for each class is fine. c. Implement and test a class called ProductDisplay which has the following four methods, each of which takes one or two parameter object of a class implementing the IProduct interface:  (1 marks) Two separate methods for printing each of the product type and product description.  (1 marks) A method for returning both values of a given object in a formatted string.  (1 marks) A Boolean method with two parameters that checks if a two separate objects given as parameters have the same product type AND the same description. d. Implement and test an abstract class called Product that has the same abstract methods as the IProduct interface but contains attributes for the product type and description. Also implement a constructor to initialize both of these attributes. Test the abstract class by implementing and testing a derived class called StockItem that contains an additional attribute string called supplier. Implement a constructor for this class and a method for retrieving the supplier information. (1 mark) Part 2 – Collections and LINQ (9 marks) This part of the assignment allows you to practice C# collections and the LINQ interface. It uses a simple object type whose class (called Student) is attached to this assignment. Note that this class has intentionally been made very simple and a useful implementation would check attribute values for reasonable values. You must use the from-select statements covered in the study guide. Lambda expressions like those you will find on the Internet are not permitted! a. Implement a Dictionary collection of Student objects whose key will be the ID attribute. Initialise the Dictionary with at least 10 students. (You can create new student objects in your program or you may find it easier to implement code to read data from a file). (2 marks) b. Implement a method to printout the details of all of the students in the collection (in the order they are stored). (1 marks) c. Implement a method to prompt the program user for a student identifier and delete it from the collection if it exists. Your method should print a message as to whether the record was successfully deleted or not (due to incorrect student identifier). (1 marks) d. Implement a method that prompts the user for a student identifier and displays all the student details for that student (or an error message if the student is not in the collection). (1 mark) e. Implement a method to print the list of students in ascending identifier order. (1 mark) f. Implement a method to list all student details in ascending family name order. (1 mark) g. Implement a method to list all students whose family name starts with ‘m’ through ‘s’ (inclusive) (1 mark). Make sure your data has some of these. h. Implement a method that lists all student ID and e-mail in the order of descending family names (do not display the family name field). (1 mark) For this part of the assignment you must use LINQ to search the collection for the resultant data. Note that a Dictionary<> object has member functions for extracting the keys and data values as a separate collections so you do not have to program this yourself. Part 3 – Operator overloading (4 marks) This part of the assignment allows you to practice C# operator overloading. Implement a class called Grade for representing university student grades. Grades permitted are Incomplete, Fail, Pass, Credit, Distinction and High Distinction. A grade object should be immutable, that is you cannot change the value associated with the grade object after it is created. We would also like to be able to convert a grade to a string so we can display it on the screen or printed reports and also use it in grade-point calculations. You can do this by implementing string member functions ShortDisplay(), LongDisplay() and an integer method GetPoints(). These should return the following set of values: ShortDisplay() LongDisplay() GetPoints() “X” “Incomplete” 0.0 “F” “Fail” 0.0 “P” “Pass” 4.0 “CR” “CR” 5.0 “D” “Distinction” 6.0 “HD” “High Distinction” 7.0 We can create grade variables with your class with a coded constructor: Grade stud1Grade = new Grade(“HD”); // create using short form Grade stdu2Grade = new Grade(”Pass”); // create using long form a. Implement the above class (1 mark). Note that the short and long name constructor should be implemented but you do not need to implement the numeric constructor (grade point). Throw an Exception or some other notification if illegal strings are used in the constructor. You should also implement an overridden ToString() method for easy debugging. b. Overload the ‘==’ and ‘!=’ operators to allow two different grade objects to be compared. Demonstrate both with simple examples (1 marks). c. Overload the ‘<’ and ‘<=’ operators to allow two different grades to be compared. Note that C# will also require you to overload the ‘>’ and ‘>=’ operators (1 mark). d. Overload the ‘++’ and ‘- -' operators for adjusting grade up and down. When an HD grade is incremented ignore it and similarly ignore a Fail decrement operation. (1 mark). Note that there are many ways to implement a type for representing grades. We are doing it this way to practice operator overloading. // a simple class to represent Student data for Part B of Assignment 2 class Student { private int studentID; private string familyName; private string otherNames; private string email; public Student(int id, string fn, string on, string em) { studentID = id; familyName = fn; otherNames = on; if (em == null) email = ""; // use empty string instead of null values else email = em; } public int ID // ID is immutable { get { return studentID; } } public string FamilyName { get { return familyName; } set { familyName = value; } } public string OtherName { get { return otherNames; } set { otherNames = value; } } public string EMail { get { return email; } set { if (value == null) email = ""; else email = value; } } public override string ToString() { return [login to view URL]("{0}: {1}, {2}, {3}", ID, FamilyName, otherNames, EMail); ; } }
ID do Projeto: 10588270

Sobre o projeto

6 propostas
Projeto remoto
Ativo há 8 anos

Quer ganhar algum dinheiro?

Benefícios de ofertar no Freelancer

Defina seu orçamento e seu prazo
Seja pago pelo seu trabalho
Descreva sua proposta
É grátis para se inscrever e fazer ofertas em trabalhos
Concedido a:
Avatar do Usuário
Hello, I have 10+ years of experience writing code using C# and I can write the code for you in 1 day. Thanks Vikas
$30 AUD em 1 dia
5,0 (1 avaliação)
1,1
1,1
6 freelancers estão ofertando em média $34 AUD for esse trabalho
Avatar do Usuário
Hi, I’ve had a good look at your project description and I’m very interested in providing a solution. I have 4+ hands on experience on developing quality web solutions as well as desktop standalone solutions. I used to develop systems using latest adaptive technology such as 1. .NET/ASP.NET - MVC4,MVC5 - Entity Framework - SQL - C# (for .NET solutions) 2. JQuery/Javascript/HTML5 - Angular.js/Bootstrap etc (for designing and front end implementations) I want to start work immediately and awaiting for your positive response on skp id "agilepksolutions" so I can show you some of my Quality Development Work as well as we can discuss project in details. Thank you.
$24 AUD em 1 dia
5,0 (46 avaliações)
6,9
6,9
Avatar do Usuário
Hi, I have 11 years of experience and read and understood your requirement. I am committed to your deadline also. Thanks, Anurag
$55 AUD em 1 dia
4,9 (5 avaliações)
3,6
3,6
Avatar do Usuário
hi, i can do this project for you, i will write the comments on the code. i am located in canberra now, so we will have the same timezone. regards.
$30 AUD em 2 dias
4,9 (6 avaliações)
3,6
3,6
Avatar do Usuário
Dear Sir, we are pleased to inform you that we have studied all the requirements and can deliver the same to u .we already have similar work experience and have worked on similar projects in the past and can deliver u as u have specified in your requirements we have similar work experience and can handle this quite well We are one of the leading service providers in the field of Website Designing, Application Software Development, System Software Development, E-commerce Development, CRM, MLM, Corporate Presentations and Customize Web Solutions. As a trusted web development and internet marketing company, we offer our clients strategic web solutions geared for taking the competition head on. Our aim is to provide current and up to date information technology solutions; solutions, which enhance the work environment and make work simpler and more efficient. Also the solution must provide for the considerable saving of times and human resources, which can be utilized for other purpose. In effect, a good software solution can improve the productivity of the company. . plz add me to discus plz let us know your skype or e-mail so that we can discuss further
$25 AUD em 1 dia
0,0 (0 avaliações)
0,0
0,0
Avatar do Usuário
I having 6+ years of experience delicately in Website Development AND ERP System. I think that I am the right person for the job. I will provide the best services. Highlights of my qualifications include - ASP.NET,C#,WCF,MVC,Angular.Js,Web API,WPF,SILVERLIGHT,AJAX,JQUERY,BOOTSTRAP,SQL SERVER,google API, bing Map API - Front-end & Back-end Website Development (Responsive website). I am looking forward to discussing with you about this job post. I am always ready for you and your job and I am always available on Skype. I shall do my best for your job success.
$30 AUD em 3 dias
0,0 (0 avaliações)
0,0
0,0

Sobre o cliente

Bandeira do(a) AUSTRALIA
Sydney, Australia
5,0
1
Método de pagamento verificado
Membro desde mai. 24, 2016

Verificação do Cliente

Obrigado! Te enviamos um link por e-mail para que você possa reivindicar seu crédito gratuito.
Algo deu errado ao enviar seu e-mail. Por favor, tente novamente.
Usuários Registrados Total de Trabalhos Publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Carregando pré-visualização
Permissão concedida para Geolocalização.
Sua sessão expirou e você foi desconectado. Por favor, faça login novamente.