diff --git a/Garage/Garage.csproj b/Garage/Garage.csproj new file mode 100644 index 00000000..23df6047 --- /dev/null +++ b/Garage/Garage.csproj @@ -0,0 +1,8 @@ + + + + Exe + netcoreapp2.1 + + + diff --git a/Garage/Program.cs b/Garage/Program.cs new file mode 100644 index 00000000..75859827 --- /dev/null +++ b/Garage/Program.cs @@ -0,0 +1,106 @@ +using System; + + +public class Program +{ + + public static void Main() + { + // instantiating a new instance of person, and passing names to the constructor; + Person Jill = new Person("Jill"); + Person Chris = new Person("Chris"); + Person Rebecca = new Person("Rebecca"); + Person Barry = new Person("Barry"); + + // instantiating a new instance of car, and passing colors to the constructor; + Car blueCar = new Car("blue"); + Car redCar = new Car("red"); + Car greenCar = new Car("green"); + Car whiteCar = new Car("white"); + + //Assigning Persons names to cars + blueCar.Name = Jill.Name; + redCar.Name = Barry.Name; + greenCar.Name = Chris.Name; + whiteCar.Name = Rebecca.Name; + + // instantiating a new instance of Garage class, and passing in a size of 4 to the constructor; + Garage smallGarage = new Garage(4); + + // calling a method Parkcar of the smallGarage instance, with inputs of car color and parking space + smallGarage.ParkCar(blueCar, 0); + smallGarage.ParkCar(redCar, 1); + smallGarage.ParkCar(greenCar, 2); + smallGarage.ParkCar(whiteCar, 3); + + // printint out the cars attribute of the small garage + Console.WriteLine(smallGarage.Cars); + } +} + +class Car +{ + // once the color is set i cant change it, outisde of this class + public string Color {get; private set;} + + // Name can be set outside of class + public string Name{get; set;} + + // Car constructor + public Car(String color) + { + this.Color = color; + } +} + +class Person +{ + //attribute for persons name + public string Name { get; private set;} + + //Person constructor + public Person(string name){ + this.Name = name; + } +} + +class Garage +{ + // creates array of cars so they can be parked in the for loop down below + public Car[] cars; + + // constructor , int of initial size + public Garage(int initialSize) + { + // setting the size of this garage + Size = initialSize; + // instantiating an array of Cars, of size initialsize + this.cars = new Car[initialSize]; + } + + //attribute , private for number of slots in the garage. + public int Size { get; private set; } + + // a method that adds a car to the spot in the cars array + public void ParkCar (Car car, int spot) + { + // what if there is a car already in the spot? + // what if the spot passed in is outside the array? + cars[spot] = car; + } + public string Cars { + get { + String carsString = ""; + //parks cars in spot + for (int i = 0; i < cars.Length; i++) + { + if (cars[i] != null) { + carsString += String.Format("{2}'s {0} car is in spot {1}.", cars[i].Color, i, cars[i].Name); + carsString += "\n"; + } + } + return carsString; + } + } +} + diff --git a/Gradebook/Gradebook.csproj b/Gradebook/Gradebook.csproj new file mode 100644 index 00000000..23df6047 --- /dev/null +++ b/Gradebook/Gradebook.csproj @@ -0,0 +1,8 @@ + + + + Exe + netcoreapp2.1 + + + diff --git a/Gradebook/Program.cs b/Gradebook/Program.cs new file mode 100644 index 00000000..e99c9c1d --- /dev/null +++ b/Gradebook/Program.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace Gradebook +{ + class Program + { + public static void Main() + { + Gradebook book = new Gradebook(); + book.run(); + } + } + + //Creates dictionary with name as key and a list of grades as values. + class book{ + Dictionary grades = new Dictionary(); + } + + class Gradebook + { + + public void run(){ + Gradebook.getUserInput(new Dictionary>()); + } + + public static void getUserInput(Dictionary> grades){ + string status = "y"; + + //promts user to add name that is added as key in dictionary. Then + while (status != "n" && status != "no") + { + //prompts user to add name + Console.WriteLine("Please enter student name:"); + string name = Console.ReadLine(); + //runs loop to ask user for grades + List gradeList = Value.Add(); + //adds name and list of grades to dictionary + grades.Add(name,gradeList); + //asks user if they want to add another student thus repeating this while loop. + Console.WriteLine("Would you like to enter a new student?(Y/N)"); + status = Console.ReadLine().ToLower(); + } + //Writes each sudents Name, grade average, max grade, and min grade. + foreach (var key in grades.Keys) + { + Console.WriteLine("Name: " + key); + Console.WriteLine("Average: " +grades[key].Average()); + Console.WriteLine("Max: " + grades[key].Max()); + Console.WriteLine("Minimum: " + grades[key].Min()); + } + } + } + class Value + { + //promts user to add grade and if they want to keep adding grades. Then returns the grades. + public static List Add() + { + var grades = new List(); + string keepAdding = "y"; + while (keepAdding != "n"&&keepAdding != "no") + { + //prompts user for grade then adds input to list + Console.WriteLine("Please enter a grade:"); + grades.Add(Convert.ToInt16(Console.ReadLine())); + //asks user if they want to keep adding grades + Console.WriteLine("Keep adding grades?(Y/N)"); + keepAdding = Console.ReadLine().ToLower(); + } + return grades; + } + } +}