C# programozás házimat szeretném megoldani, ami fájlkezeléses! Addot 4 darab név és hozzátartozó adatok (ott van a kiegészítésben). Hogy folytatni tudjam ki kell számolnom az emberek életkorát a mostani időponthoz képest. Hogy tudnám ezt megoldani?
példa:
név : nem-szül.év-hónap-nap-azonosítószám
Kovács Pista 1 88 01 23 1981
Az életkornál én csak az évet írom ki, nem írtad hogy pontosan mi is kéne oda.
Én így írtam meg, persze hibakezelés nincs benne, arra már nincs időm.
Ha valami nem világos kérdezz nyugodtan, akár privátban is.
static void Main(string[] args)
{
string file = System.IO.File.ReadAllText(@"C:\teszt.txt");
string[] rows = file.Split(new string[] {"\r\n"}, StringSplitOptions.RemoveEmptyEntries);
List<Person> people = new List<Person>();
foreach (string row in rows)
{
Person p = new Person();
int indexOfGender = row.IndexOfAny(new char[] { '0', '1' });
p.Name = row.Substring(0, indexOfGender - 1).Trim();
p.Gender = row[indexOfGender] == '1';
string[] data = row.Substring(indexOfGender+1).Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
p.DateOfBirth = DateTime.Parse(string.Format("19{0}.{1}.{2}.", data[0], data[1], data[2]));
p.Id = data[data.Length - 1];
people.Add(p);
}
foreach (Person p in people)
{
Console.WriteLine(string.Format("{0} {1}éves.", p.Name, p.GetAge()));
}
string s;
}
public class Person
{
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
public bool Gender { get; set; }
public string Id { get; set; }
public int GetAge()
{
DateTime now = DateTime.Today;
int age = now.Year - DateOfBirth.Year;
if (now < DateOfBirth.AddYears(age))
age--;
return age;
}
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!