Программа по типу простейшего личного кабинета - C#
Формулировка задачи:
Всем привет! Недавно зарегистрировался на форуме, и задал позавчера вопрос в теме. Так мне в ближайшие 10-30 минут сразу 2 ответа пришли. Я очень рад. Хорошие на форуме люди сидят. А сейчас у меня вот такая проблема. Попробую объяснить. У меня есть файл (буду называть его Home.cs). Вот его содержимое:
Я думаю вы по содержимому уже поняли что я хочу создать. Хочу создать простейший клиент - по типу базы данных. Тоесть при нажатии "2" гость, пишет свою Фамилию Имя Инициалы, год рождения и другую информацию какую хочет. И эта информация должна быть записана. Чтобы при следующем заходе в программу и нажатии "1" он смог зайти в свой аккаунт. Как мне реализовать эту программу. Книги по С# купил. И целых две. Полный справочник и краткий курс С#. Помогите помочь с проблемой.
/*
* Created by SharpDevelop.
* User: Andrey
* Date: 25.01.2015
* Time: 17:30
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace Test_C__dlia_nachin
{
class Program
{
static void Main()
{
Console.WriteLine("Добро Пожаловать в мою систему данных");
Console.WriteLine("Чем я могу вам помочь?");
Console.WriteLine("1-Войти 2-Создать аккаунт 3-Выйти");
string myLanguage = Console.ReadLine();
sw1(myLanguage);
Console.ReadLine();
}
static void sw1(string s)
{
switch (s)
{
case "1":
Console.WriteLine("Поздравляю, вы вошли в свою учетную запись успешно");
break;
case "2":
Console.WriteLine("Новая учетная запись создана успешно");
break;
case "3":
Console.WriteLine("Досвидания!");
break;
default:
Console.WriteLine("Вы допустили ошибку! Попробуйте еще раз");
break;
}
}
}
}Решение задачи: «Программа по типу простейшего личного кабинета»
textual
Листинг программы
class Program
{
static void Main()
{
Console.WriteLine("Добро Пожаловать в мою систему данных");
Console.WriteLine("Чем я могу вам помочь?");
Console.WriteLine("1-Войти 2-Создать аккаунт 3-Выйти");
string myLanguage = Console.ReadLine();
sw1(myLanguage);
Console.ReadLine();
}
static void sw1(string s)
{
string path = @"data.xml";
switch (s)
{
case "1":
{
Console.WriteLine("Введите свой id");
string id = Console.ReadLine();
if (File.Exists("data.xml"))
{
XDocument xd = XDocument.Load(path);
var pep = xd.Root.Elements("People").Where(x => x.Attribute("id").Value == id)
.Select(x => new
{
name = x.Attribute("name").Value,
lastname = x.Attribute("lastname").Value,
birthday = x.Attribute("birthday").Value
}).FirstOrDefault();
if (pep != null)
Console.WriteLine("{0} {1} дата рождения: {2}\n\nПоздравляю, вы вошли в свою учетную запись успешно", pep.name, pep.lastname, pep.birthday);
else Console.WriteLine("В данный момент данных нет, попробуйте зарегистрироваться");
}
else Console.WriteLine("В данный момент данных нет, попробуйте зарегистрироваться");
}
break;
case "2":
{
string name, lastname;
DateTime birth;
People pepl;
Console.WriteLine("Введите имя:");
name = Console.ReadLine();
Console.WriteLine("Введите Фамилию:");
lastname = Console.ReadLine();
Console.WriteLine("Введитедату рождения в Формате YYYY MM DD:");
birth = DateTime.Parse(Console.ReadLine());
pepl = new People(name, lastname, birth);
pepl.add_new();
Console.WriteLine("Новая учетная запись создана успешно");
}
break;
case "3":
Console.WriteLine("Досвидания!");
break;
default:
Console.WriteLine("Вы допустили ошибку! Попробуйте еще раз");
break;
}
}
}
class People
{
public int Id { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
public DateTime Birthday { get; set; }
public People(string name, string lastname, DateTime birthday)
{
this.Name = name;
this.LastName = lastname;
this.Birthday = birthday;
}
public void add_new()
{
XDocument xdoc;
string path = @"data.xml";
if (File.Exists(path)) xdoc = XDocument.Load(path);
else
{
xdoc = new XDocument();
xdoc.Add(new XElement("Root"));
}
int id;
if (xdoc.Root.Elements("People").Count() == 0) id = 0;
else
id = xdoc.Root.Elements("People").Select(x => Convert.ToInt32(x.Attribute("id").Value)).Last();
xdoc.Root.Add(new XElement("People",
new XAttribute("id", ++id),
new XAttribute("name", this.Name),
new XAttribute("lastname", this.LastName),
new XAttribute("birthday", this.Birthday.ToShortDateString())));
xdoc.Save(path);
}
}