Маленькая программа с сравнение имен
using System;
using System.Linq;
namespace ConsoleApp96
{
class Program
{
static void Main(string[] args)
{
string name1 = InputName();
int years1 = InputYears();
string name2 = InputName();
int years2 = InputYears();
PrintNameAndYears(name1, years1, 1);
PrintNameAndYears(name2, years2, 2);
string nameOld = "";
if (years1 > years2)
nameOld = name1;
else if (years1 < years2)
nameOld = name2;
else
nameOld = "нет";
string name = "";
while (name.Trim().Length == 0)
{
Console.Write("Введите имя старшего по возрасту, если старшего нет, введите - нет: ");
name = Console.ReadLine();
}
if (name == nameOld)
Console.WriteLine("Ответ правильный.");
else
Console.WriteLine("Ответ неправильный.");
Console.Write("Старше {0}, разница в возрасте = {1} лет", nameOld, Math.Abs(years1 - years2));
Console.Read();
}
static string InputName()
{
string s = "0123456789";
string name = "";
while (name.Trim().Length == 0 || name.ToCharArray().Intersect(s.ToCharArray()).Count() > 0 || name.Length < 3 || name.Length > 20)
{
Console.Write("Введите правильно имя: ");
name = Console.ReadLine();
}
Console.WriteLine("Добро пожаловать, " + name + "!");
return name;
}
static int InputYears()
{
while (true)
{
Console.WriteLine("Введите возраст 1-го пользователя");
bool check = Int32.TryParse(Console.ReadLine(), out int a);
if (check == false)
Console.WriteLine("Возраст не должен содержать буквы ");
else if (a < 1 || a > 150)
Console.WriteLine("Вводите реальный возраст 1-150");
else
return a;
}
}
static void PrintNameAndYears(string name, int years, int count)
{
Console.WriteLine("Имя {0}-го человека - {1}", count, name);
Console.WriteLine("Возраст {0}-го человека - {1}", count, years);
}
}
}
Как можно в этот метод записать где код сравнивает имена? Например: Я ввел имя Воля и Павел и их возрасты, а в конце программа спрашивает кто старше, и я ввожу 3 и имя Тима, и он должен говорить что "не правильно, введите имя которое вы ввели выше"
Ответы (1 шт):
Автор решения: Riangry
→ Ссылка
Пропиши условие
While (name != name1 || name != name2) {
Console.WriteLine("Введите одно из имен ,которые указали выше");
name = Console.ReadLine();
}
Upd:используй цикл в таком случае , подправил код