【发布时间】:2021-04-30 12:32:52
【问题描述】:
我正在尝试以下代码。它给了我一个警告“使用未分配的局部变量'hak'”。我想我在这里遗漏了一些东西。
我希望它在局部变量“hak”等于“0”时显示“3 defa yanlış giriş yaptınız. Müşteri hizmetleri temsilcisiyle görüşünüz. İyi günler dileriz.”。但它总是显示“Hatalı Giriş Yaptınız.Lütfen tekrar deneyiniz.2 hakkınız kalmıştır.”
Console.Write("Seçmek istediğiniz 'Kullanıcı Adı'nı belirtiniz: ");
string kullanici_adi = Console.ReadLine();
FARKLISIFRE:
Console.Write("Lütfen Şifrenizi giriniz: ");
string sifre = Console.ReadLine();
Console.Write("Girmiş olduğunuz şifreyi tekrar giriniz: ");
string sifre2 = Console.ReadLine();
int karsilastirma = String.Compare(sifre, sifre2);
if (karsilastirma==0)
{
Console.WriteLine("Tebrikler! Kaydınız başarılı bir şekilde oluşturulmuştur.");
}
else
{
Console.WriteLine("Girmiş olduğunuz şifreler birbirinden farklıdır. Lütfen tekrar deneyiniz.");
goto FARKLISIFRE;
}
Console.Write("Giriş yapmak için lütfen '1' seçeneğini giriniz: ");
char komut = Convert.ToChar(Console.ReadLine());
Console.Clear();
if (komut=='1')
{
goto GIRIS;
}
else
{
Console.Write("Çıkış yaptınız. İyi günler dileriz.");
goto END;
}
int hak = 3;
GIRIS:
Console.Write("Lütfen Kullanıcı Adınızı Giriniz: ");
string kullanici_adi_giris = Console.ReadLine();
Console.Write("Lütfen belirlemiş olduğunuz Şifrenizi giriniz: ");
string sifre_giris = Console.ReadLine();
int karsilastirma_k_adi = String.Compare(kullanici_adi, kullanici_adi_giris);
int karsilastirma_sifre = String.Compare(sifre, sifre_giris);
if (karsilastirma_k_adi == 0 && karsilastirma_sifre == 0)
{
Console.Write("Başarıyla Giriş Yaptınız. Hoşgeldiniz.");
}
else if (hak == 0)
{
Console.Write("3 defa yanlış giriş yaptınız. Müşteri hizmetleri temsilcisiyle görüşünüz. İyi günler dileriz.");
}
else
{
hak--;
Console.WriteLine("Hatalı Giriş Yaptınız. Lütfen tekrar deneyiniz. {0} hakkınız kalmıştır.", hak);
goto GIRIS;
}
END:
Console.ReadKey();
}
【问题讨论】:
-
CS0165 是错误代码。
-
我认为问题不是从这里开始的。
hak使用从这里开始的赋值进行初始化。我认为您有另一段代码导致此警告。 -
我发布了完整的代码。
-
我希望它显示“3 defa yanlış giriş yaptınız. Müşteri hizmetleri temsilcisiyle görüşünüz. İyi günler dileriz。”当局部变量“hak”等于“0”时。但它总是显示“Hatalı Giriş Yaptınız. Lütfen tekrar deneyiniz. 2 hakkınız kalmıştır.”
-
"else if (hak == 0)" 行导致错误代码。
标签: c# compilation variable-assignment goto unassigned-variable