Создать консольное приложение, которое записывает в лог-файл три введенных пользователем параметра - C#
Формулировка задачи:
Здравствуйте.Есть задание - "Создать консольное приложение, которое записывает в лог-файл три введенных пользователем параметра (одно число, одну строку и одно значение bool). При запуске приложение загружает содержимое файла и отображает пользователю значения сохраненных ранее параметров. Если файла нет, то вывести соответствующее сообщение. Пользователь вводит значения параметров в произвольном порядке, для чего организовать меню. Данные сохраняются в файл в текстовом виде
по одному параметру на строку ("лишних" строк быть не должно) в том порядке, в котором пользователь вводил их в консоль."
Вот сам код,который получился:
В итоге не могу сделать так,чтоб не появлялось лишних строк.Т.е. если я ввел имя первый раз,то при вводе его второй раз оно должно заменятся на введенное второй раз.И так со всеми тремя пунтками.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int chel;
do
{
if (File.Exists(@"C:\1\simple1.txt"))
{
StreamReader file = File.OpenText(@"C:\1\simple1.txt");
string read;
read = null;
while ((read = file.ReadLine()) != null)
{
Console.WriteLine(read);
Console.WriteLine();
}
file.Close();
}
else
{
Console.WriteLine("Faila net, ");
}
Console.WriteLine("Выерите пункт меню.");
Console.WriteLine("1.Ваше имя");
Console.WriteLine("2.Ваш возраст");
Console.WriteLine("3.Ваше значение");
Console.WriteLine("4.Выход");
chel = int.Parse(Console.ReadLine());
switch (chel)
{
case 1:
Console.Write("Введите ваше имя: ");
string userName = Console.ReadLine();
Console.Clear();
Console.WriteLine("Ваше имя записано!");
StreamWriter record1 = new StreamWriter(@"C:\1\simple1.txt", true);
{
record1.WriteLine("Ваше имя: {0}", userName);
}
record1.Close();
break;
case 2:
Console.Write("Введите ваш возраст: ");
string userAge = Console.ReadLine();
byte userAge2;
userAge2 = byte.Parse(userAge);
Console.Clear();
Console.WriteLine("Ваш возраст записан!");
StreamWriter record2 = new StreamWriter(@"C:\1\simple1.txt", true);
{
record2.WriteLine("Ваш возраст: {0}", userAge);
}
record2.Close();
break;
case 3:
Console.Write("Pass? ");
string userPass = Console.ReadLine();
bool userPassParse;
userPassParse = bool.Parse(userPass);
Console.Clear();
Console.WriteLine("Ваше значение записано!");
StreamWriter record3 = new StreamWriter(@"C:\1\simple1.txt", true);
{
record3.WriteLine("Ваше значение: {0}", userPass);
}
record3.Close();
break;
case 4:
Console.WriteLine("Пока");
Console.ReadKey();
break;
case 5:
default:
Console.WriteLine("Вы что-то другое нажали");
Console.ReadLine();
Console.Clear();
break;
}
}
while (chel != 4);
}
}
}Решение задачи: «Создать консольное приложение, которое записывает в лог-файл три введенных пользователем параметра»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
if (File.Exists(@"C:\123.txt"))
{
string name = null;
string age = null;
string sex = null;
FileStream fs = new FileStream(@"C:\123.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.Default);
while (sr.Peek() != -1)
{
name = sr.ReadLine();
age = sr.ReadLine();
sex = sr.ReadLine();
}
sr.Close();
fs.Close();
Console.WriteLine("Имя: {0}, возраст: {1}, мужчина: {2}",
name, age, sex);
Console.Read();
}
else
{
string name = null;
string age = null;
string sex = null;
Console.WriteLine("Введите имя: ");
name = Console.ReadLine();
Console.WriteLine("Введите возраст: ");
age = Console.ReadLine();
Console.WriteLine("Введите пол (true-мужчина, false-женщина): ");
sex = Console.ReadLine();
FileStream fs = new FileStream(@"C:\123.txt", FileMode.Create);
StreamWriter sw = new StreamWriter(fs);
sw.Write(name+ "\n");
sw.Write(age + "\n");
sw.Write(sex + "\n");
sw.Close();
fs.Close();
Console.WriteLine("Данные сохранены в файле");
Console.Read();
}
}
}
}