Jump to content

Welcome to Geeks to Go - Register now for FREE

Need help with your computer or device? Want to learn new tech skills? You're in the right place!
Geeks to Go is a friendly community of tech experts who can solve any problem you have. Just create a free account and post your question. Our volunteers will reply quickly and guide you through the steps. Don't let tech troubles stop you. Join Geeks to Go now and get the support you need!

How it Works Create Account
Photo

Problem sorting object array


  • Please log in to reply

#1
gamelord12

gamelord12

    Member

  • Member
  • PipPip
  • 33 posts
In bold is my program.

using System;
using System.Collections.Generic;
using System.Text;

namespace FriendList.cs
{
class MainClass
{
public static void Main()
{
int counter = 0; // Counter for the array
Friend[] friendArray = new Friend[8]; // Single array for all eight friends
string sequence; // Variable to help tell the user which friend they are entering data for

while (counter < 8) // Loop that stops after the eighth entry
{
friendArray[counter] = new Friend();

// If statements that aid in displaying the sequence of friends
if (counter == 0)
sequence = "st";
else if (counter == 1)
sequence = "nd";
else if (counter == 2)
sequence = "rd";
else
sequence = "th";

// The lines below accept user input into the array
Console.WriteLine("What is your {0}{1} friend's first name?", counter + 1, sequence);
friendArray[counter].name = Console.ReadLine();
Console.WriteLine();
Console.WriteLine("What is your friend's phone number? Ex: 5551234567");
friendArray[counter].phoneNumber = Console.ReadLine();
Console.WriteLine();
Console.WriteLine("What month was your friend born in?");
friendArray[counter].birthMonth = Console.ReadLine();
Console.WriteLine();
Console.WriteLine("What date of that month was your friend born on?");
friendArray[counter].birthDay = Console.ReadLine();
Console.WriteLine();
Console.WriteLine("What year was your friend born in?");
friendArray[counter].birthYear = Console.ReadLine();
Console.WriteLine();

counter++; // Adds 1 to the counter so that it accurately tells what friend is currently shown
}

/*for (counter = 0; counter < 7; counter++)
{
int swapVariable = 0;
swapVariable = String.Compare(Friend.name[counter], Friend.name[counter + 1]);
if (swapVariable == 1)
Friend.Swap(Friend.name[counter], Friend.name[counter + 1]);
}*/


for(counter = 0; counter < 8; counter++)
{
Console.WriteLine("{0}'s phone number is {1}, and {0}'s birthday is {2} {3}, {4}.", friendArray[counter].name, friendArray[counter].phoneNumber, friendArray[counter].birthMonth, friendArray[counter].birthDay, friendArray[counter].birthYear);
}
}
}
class Friend : IComparable
{
public string name; // String that contains the name of the friend in each spot of the array
public string phoneNumber; // String that contains the phone number of the friends in the array
public string birthMonth; // String that contains the birth month of the friends in the array
public string birthDay; // String that contains the birthday of the friends in the array
public string birthYear; // String that contains the birth year of the friends in the array

// Functions set up to take in different categories of info for friends
public string GetName()
{
return name;
}
public string GetPhoneNumber()
{
return phoneNumber;
}
public string GetBirthMonth()
{
return birthMonth;
}
public string GetBirthDay()
{
return birthDay;
}
public string GetBirthYear()
{
return birthYear;
}

int IComparable.CompareTo(Object o)
{
int returnVal;
Friend temp = (Friend)o;
returnVal = String.Compare(this.name, temp.name);

return returnVal;
}
}
}


I italicized a part of the program I started but I'm unsure as to whether I need it or not, so I commented it out. I need to alphabetize the array by the names of the Friend object array. Based on examples in my book, I wrote the IComparable function, but I can't figure out what I have to do with the value it returns. I probably need a loop and an if statement, right? But if so, where do I put them?
  • 0

Advertisements







Similar Topics

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

As Featured On:

Microsoft Yahoo BBC MSN PC Magazine Washington Post HP