Здравствуйте! Такая проблема. Хочу вывести таблицу результатов примитивного вида: Ниже мой недописанный код. Получается, что каждый раз файл перезаписывается, не пойму почему. Только начал изучать файлы, не все методы знаю. Было бы хорошо, если бы вы показали, как такую таблицу получить.
using System;
using System.IO;
namespace GuessNumber
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Как вас зовут? ");
StringReader sr = new StringReader(Console.ReadLine());
StreamWriter sw = new StreamWriter("out.txt");
sw.WriteLine(sr.ReadToEnd());
int min = int.Parse(Console.ReadLine());
int max = int.Parse(Console.ReadLine());
int maxCount = (int)Math.Log(max - min + 1, 2)+1;
int count = 0;
Random rnd = new Random();
int guessNumber = rnd.Next(min, max);
Console.WriteLine("Компьютер загадал число от {0} до {1}. Попробуйте угадать его за {2} попыток", min, max, maxCount);
int n;
do
{
count++;
Console.Write("{0} попытка. Введите число:", count);
n = int.Parse(Console.ReadLine());
if (n > guessNumber) Console.WriteLine("Перелет!");
if (n < guessNumber) Console.WriteLine("Недолет!");
}
while (count < maxCount && n!=guessNumber);
if (n == guessNumber) { Console.WriteLine("Поздравляю! Вы угадали число за {0} попыток", count); }
else { Console.WriteLine("Неудача. Попробуйте еще раз. Это было число: {0}", guessNumber); }
sw.Write("{0", count);
sr.Close();
sw.Close();
Console.ReadKey();
}
}
}
В файл попадает только имя и на следующей строчке количество попыток.
По-умолчанию StreamWriter
переписывает данные в файле. Для того, что бы дописывать в конец файла, нужно выставить флаг append
в конструкторе в true
. Как уже сказали выше:
StreamWriter sw = new StreamWriter("out.txt", append: true);
Для того, что бы у вас получилась форматированная таблица, воспользуйтесь составным форматированием. При запуске приложения проверяйте файл на существование. Если файла нет, то создайте его и допишите в него заголовок, а при сохранении результата дописывайте строку.
В этой строчке код выкинет исключение System.FormatException
так как у вас потерялась }
:
sw.Write("{0", count);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Приветствую! Клепаю 2D игрушку на небезызвестном двигателе Unity3DВозник вопрос сразу же после отрисовки первого уровня
Я пишу на C# программу, которая с помощью библиотеки log4net ведет лог в отдельный файлКогда лог-файл переполняется, он должен быть удален
Мне нужен ComboBox с постоянным элементом "Не выбрано", который означает, что SelectedValue равно null
Есть программа, которая по выполнению должна вернуть 0 или 1 в случае успеха/отказаОперации можно прервать сочетанием клавиш