|
@@ -87,7 +87,7 @@ namespace kursach3
|
|
|
{
|
|
|
String s = Convert.ToString(lblFirst.Text);
|
|
|
string[] arr = s.Split('.');
|
|
|
- if (proverkaSimv8(Convert.ToString(lblFirst.Text)))
|
|
|
+ if (proverkaSimv4(Convert.ToString(lblFirst.Text)))
|
|
|
{
|
|
|
|
|
|
char[] arr2 = arr[3].ToCharArray();
|
|
@@ -161,7 +161,7 @@ namespace kursach3
|
|
|
int vosmerich;
|
|
|
int b;
|
|
|
int c;
|
|
|
- if (proverkaSimv4(Convert.ToString(lblSecond.Text)))
|
|
|
+ if (proverkaSimv8(Convert.ToString(lblSecond.Text)))
|
|
|
{
|
|
|
b = int.Parse(Convert.ToString(arr[2]));
|
|
|
c = int.Parse(Convert.ToString(arr[1]));
|
|
@@ -192,7 +192,7 @@ namespace kursach3
|
|
|
string first;
|
|
|
string second;
|
|
|
string operation = Convert.ToString(lblAction.Text);
|
|
|
- if (proverkaSimv8(Convert.ToString(lblSecond.Text)))
|
|
|
+ if (proverkaSimv108(Convert.ToString(lblFirst.Text), Convert.ToString(lblSecond.Text)))
|
|
|
{
|
|
|
|
|
|
char[] arr2 = arr[3].ToCharArray();
|
|
@@ -240,12 +240,11 @@ namespace kursach3
|
|
|
}
|
|
|
private void btnAnswer8642_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- String s = Convert.ToString(lblSecond.Text);
|
|
|
- string ss = Convert.ToString(lblFirst.Text);
|
|
|
- string[] arr = s.Split('.');
|
|
|
- string[] arr6 = ss.Split('.');
|
|
|
- string first;
|
|
|
- string second;
|
|
|
+ //Объявление переменных, массивов
|
|
|
+ String s;
|
|
|
+ string ss;
|
|
|
+ string[] arr;
|
|
|
+ string[] arr6;
|
|
|
string answer;
|
|
|
String sss;
|
|
|
string[] arr7;
|
|
@@ -253,10 +252,16 @@ namespace kursach3
|
|
|
int vosmerich;
|
|
|
int b;
|
|
|
int c;
|
|
|
- string operation = Convert.ToString(lblAction.Text);
|
|
|
- if (proverkaSimv8(Convert.ToString(lblSecond.Text)))
|
|
|
+ string operation;
|
|
|
+ if (proverkaSimv108(Convert.ToString(lblFirst.Text), Convert.ToString(lblSecond.Text)))//Проверка на символы
|
|
|
{
|
|
|
+ s = Convert.ToString(lblSecond.Text);
|
|
|
+ ss = Convert.ToString(lblFirst.Text);
|
|
|
+ arr = s.Split('.');
|
|
|
+ arr6 = ss.Split('.');
|
|
|
+ operation = Convert.ToString(lblAction.Text);
|
|
|
|
|
|
+ //Перевод второго числа в десятичную систему
|
|
|
char[] arr2 = arr[3].ToCharArray();
|
|
|
int res = 0;
|
|
|
for (int i = 0; i < arr2.Length; i++)
|
|
@@ -281,44 +286,50 @@ namespace kursach3
|
|
|
{
|
|
|
res4 += Convert.ToInt32(Convert.ToInt32(Convert.ToString(arr5[i])) * Math.Pow(8, arr5.Length - i - 1));
|
|
|
}
|
|
|
- second = string.Concat(res4, res3, res2, res);
|
|
|
- first = string.Concat(arr6[0], arr6[1], arr6[2], arr6[3]);
|
|
|
- answer = string.Concat(res4 + arr6[0], '.', res3 + arr6[1], '.', res2 + arr6[2], '.', res + arr6[3]);
|
|
|
+
|
|
|
+
|
|
|
switch (operation)
|
|
|
{
|
|
|
case "+":
|
|
|
- answer = string.Concat(res4 + Convert.ToInt32(arr6[0]), '.', res3 + Convert.ToInt32(arr6[1]), '.', res2 + Convert.ToInt32(arr6[2]), '.', res + Convert.ToInt32(arr6[3]));
|
|
|
+ lblResult.Text = string.Concat(res4 + Convert.ToInt32(arr6[0]), '.', res3 + Convert.ToInt32(arr6[1]), '.', res2 + Convert.ToInt32(arr6[2]), '.', res + Convert.ToInt32(arr6[3]));
|
|
|
break;
|
|
|
case "-":
|
|
|
- answer = string.Concat(res4 - Convert.ToInt32(arr6[0]), '.', res3 - Convert.ToInt32(arr6[1]), '.', res2 - Convert.ToInt32(arr6[2]), '.', res - Convert.ToInt32(arr6[3]));
|
|
|
-
|
|
|
+ lblResult.Text = string.Concat(res4 - Convert.ToInt32(arr6[0]), '.', res3 - Convert.ToInt32(arr6[1]), '.', res2 - Convert.ToInt32(arr6[2]), '.', res - Convert.ToInt32(arr6[3]));
|
|
|
break;
|
|
|
case "*":
|
|
|
- answer = string.Concat(res4 * Convert.ToInt32(arr6[0]), '.', res3 * Convert.ToInt32(arr6[1]), '.', res2 * Convert.ToInt32(arr6[2]), '.', res * Convert.ToInt32(arr6[3]));
|
|
|
+ lblResult.Text = string.Concat(res4 * Convert.ToInt32(arr6[0]), '.', res3 * Convert.ToInt32(arr6[1]), '.', res2 * Convert.ToInt32(arr6[2]), '.', res * Convert.ToInt32(arr6[3]));
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
- sss = answer;
|
|
|
- arr7 = sss.Split('.');
|
|
|
- if (proverkaSimv4(Convert.ToString(answer)))
|
|
|
- {
|
|
|
- b = int.Parse(Convert.ToString(arr7[2]));
|
|
|
- c = int.Parse(Convert.ToString(arr7[1]));
|
|
|
- string chetverich = "";
|
|
|
- do
|
|
|
- {
|
|
|
- chetverich = string.Concat(Convert.ToInt32(b % 4), chetverich);
|
|
|
- b /= 4;
|
|
|
- } while (b > 0);
|
|
|
- string shesterich = "";
|
|
|
- do
|
|
|
+
|
|
|
+ if(lblResult.Text.Length == 7)
|
|
|
+ {
|
|
|
+ sss = lblResult.Text;
|
|
|
+ arr7 = sss.Split('.');
|
|
|
+ if (proverkaSimv4(Convert.ToString(sss)))
|
|
|
{
|
|
|
- shesterich = string.Concat(Convert.ToInt32(c % 6), shesterich);
|
|
|
- c /= 6;
|
|
|
- } while (c > 0);
|
|
|
- dvoich = int.Parse(Convert.ToString(arr7[3]));
|
|
|
- vosmerich = int.Parse(Convert.ToString(arr7[0]));
|
|
|
- lblResult.Text = string.Concat(Convert.ToString(vosmerich, 8), shesterich, chetverich, Convert.ToString(dvoich, 2));
|
|
|
+ b = int.Parse(Convert.ToString(arr7[2]));
|
|
|
+ c = int.Parse(Convert.ToString(arr7[1]));
|
|
|
+ string chetverich = "";
|
|
|
+ do
|
|
|
+ {
|
|
|
+ chetverich = string.Concat(Convert.ToInt32(b % 4), chetverich);
|
|
|
+ b /= 4;
|
|
|
+ } while (b > 0);
|
|
|
+ string shesterich = "";
|
|
|
+ do
|
|
|
+ {
|
|
|
+ shesterich = string.Concat(Convert.ToInt32(c % 6), shesterich);
|
|
|
+ c /= 6;
|
|
|
+ } while (c > 0);
|
|
|
+ dvoich = int.Parse(Convert.ToString(arr7[3]));
|
|
|
+ vosmerich = int.Parse(Convert.ToString(arr7[0]));
|
|
|
+ lblResult.Text = string.Concat(Convert.ToString(vosmerich, 8), shesterich, chetverich, Convert.ToString(dvoich, 2));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ MessageBox.Show("Число не 4-х значное. Перевод в систему невозможен");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -332,7 +343,7 @@ namespace kursach3
|
|
|
MessageBox.Show("Неверный формат");
|
|
|
return false;
|
|
|
}
|
|
|
- else
|
|
|
+ else if(proverkasimv.Contains("1")|| proverkasimv.Contains("2")||proverkasimv.Contains("3")|| proverkasimv.Contains("4")|| proverkasimv.Contains("5")|| proverkasimv.Contains("6")|| proverkasimv.Contains("7")|| proverkasimv.Contains("8")|| proverkasimv.Contains("9")|| proverkasimv.Contains("0")|| proverkasimv.Contains("."))
|
|
|
{
|
|
|
if (proverkasimv.Length == 7)
|
|
|
{
|
|
@@ -347,6 +358,10 @@ namespace kursach3
|
|
|
MessageBox.Show("Можно использовать только 4-х значные числа");
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ MessageBox.Show("Неверный формат");
|
|
|
+ }
|
|
|
return false;
|
|
|
|
|
|
//11 13 21 1001
|
|
@@ -360,7 +375,7 @@ namespace kursach3
|
|
|
MessageBox.Show("Неверный формат");
|
|
|
return false;
|
|
|
}
|
|
|
- else
|
|
|
+ else if (proverkasimv.Contains("1") || proverkasimv.Contains("2") || proverkasimv.Contains("3") || proverkasimv.Contains("4") || proverkasimv.Contains("5") || proverkasimv.Contains("6") || proverkasimv.Contains("7") || proverkasimv.Contains("8") || proverkasimv.Contains("9") || proverkasimv.Contains("0") || proverkasimv.Contains("."))
|
|
|
{
|
|
|
if (proverkasimv.Length <= 14 && proverkasimv.Length >= 7)
|
|
|
{
|
|
@@ -375,6 +390,10 @@ namespace kursach3
|
|
|
MessageBox.Show("Можно использовать только 4-х значные числа");
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ MessageBox.Show("Неверный формат");
|
|
|
+ }
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -387,7 +406,7 @@ namespace kursach3
|
|
|
MessageBox.Show("Неверный формат");
|
|
|
return false;
|
|
|
}
|
|
|
- else
|
|
|
+ else if (proverkasimv.Contains("1") || proverkasimv.Contains("2") || proverkasimv.Contains("3") || proverkasimv.Contains("4") || proverkasimv.Contains("5") || proverkasimv.Contains("6") || proverkasimv.Contains("7") || proverkasimv.Contains("8") || proverkasimv.Contains("9") || proverkasimv.Contains("0") || proverkasimv.Contains("."))
|
|
|
{
|
|
|
if (proverkasimv.Length <= 14 && proverkasimv.Length >= 7 && proverkasimv2.Length <=14 && proverkasimv2.Length >= 7 || proverkasimv.Length == 7 && proverkasimv2.Length == 7)
|
|
|
{
|
|
@@ -397,15 +416,19 @@ namespace kursach3
|
|
|
{
|
|
|
MessageBox.Show("Первое число не указано");
|
|
|
}
|
|
|
- else if (lb_str.Contains(""))
|
|
|
+ else if (proverkasimv.Contains(""))
|
|
|
{
|
|
|
MessageBox.Show("Второе число не указано");
|
|
|
}
|
|
|
- else if (lb_str.Length > 14 || lb_str.Length < 8)
|
|
|
+ else if (proverkasimv.Length > 14 || proverkasimv.Length < 6 && proverkasimv2.Length > 14 || proverkasimv2.Length < 6)
|
|
|
{
|
|
|
MessageBox.Show("Можно использовать только 4-х значные числа");
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ MessageBox.Show("Неверный формат");
|
|
|
+ }
|
|
|
return false;
|
|
|
}
|
|
|
|