Задать вопрос

Проблемы в конвертировании int в string и наоборот.И вызов метода. С#

static void marked(string[] args)
{
string mark;

do
{

if (mark > 100 && mark < 0) Console.WriteLine("Введена неверная оценка.Максимальная оценка 100");
Console.Write("Введите оценку студента:");
mark = Console.ReadLine();
File.AppendAllText("C:\\text.txt", mark);
File.AppendAllText("C:\\text.txt", ";");
} while (mark > 100);
Console.Clear();
return;

Подскажите пожалуйста,как лучше реализовать данный кусок.Нужно ввести число от 0 до 100, с проверкой если она больше 100, то опять ввод.При данном куске FIle.Append ... ,mark); ругается на то что переменная не принимает ни одного аргумента.И как сделать вызов метода matked?при вызове marked(); или же "переменная" = marked(); ошибка " marked не 1 аргумента"
  • Вопрос задан
  • 2636 просмотров
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
Что-то странное вы делаете. Мало того, что пытаетесь обратиться к переменной mark до ее инициализации, так еще и сравниваете строку с числом.
Вас не смущает, что сообщение "Введена неверная оценка" появляется до ввода самой оценки?
Ответ написан
Мой вариант:
while(true)
{
    Console.Write("Введите оценку студента:");
    var mark = Console.ReadLine();
    int mint;
    if(int.TryParse(mark,out  mint) && mint >= 0 && mint <= 100)
    {
        File.AppendAllText("C:\\text.txt", mark+";");     
        Console.Clear();
        return; // или break;
    }
    else
    {
        Console.WriteLine("Введена неверная оценка.Максимальная оценка 100");
    }
}
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Xpath: *[text()[normalize-space()]]
По идее так
Ответ написан
Комментировать
@blzt Автор вопроса
а при чем здесь normalize-space?
Ответ написан
vipuhoff
@vipuhoff
Я бы сделал проще
string mark="start";
            int mint = 0;
            do
            {
                if (mark!="start")
                {
                    Console.WriteLine("Введена неверная оценка.Максимальная оценка 100");
                }
                Console.Write("Введите оценку студента:");
                mark = Console.ReadLine();
                int.TryParse(mark,out  mint);
            } while (!((mint < 100) & (mint > 0)));

                File.AppendAllText("C:\\text.txt", mark);
                File.AppendAllText("C:\\text.txt", ";");            
            Console.Clear();
            return;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы