Бухгалтерия / Говнокод #8247 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
case 2: //редактирование таблицы
			do
			{
				for (i = 0; i < size; i++) //вывод таблицы, чтобы видно было, что нужно изменять
				{
					for (j = 0; j < 4; j++)
					{
						for (k = 0; k < 4; k++)
						{
							adres[k] = ((maska << (24 - 8 * k)) & bin_adres[i][j]) >> (24 - 8 * k);
						}
						cout << adres [0] << "." << adres [1] << "." << adres [2] << "." << adres [3] << "\t";
					}
					cout << endl;
				}
				cto ("Наберите необходимый адрес назначения" , s);
				cout << s << endl;
				for (j = 0; j < 4; j++)
				{
					cin >> adres [j];
					if (adres[j] < 0 || adres[i] > 255) //проверка каждой введенной цифры на соответствие интервалу
					{
						cto ("Вы ввели неверное число. Введите число в диапазонe 0-255" , s);
						cout << s << endl;
						j--;
					}
					else
						crv = (adres[0] << 24) + (adres[1] << 16) + (adres[2] << 8) + adres[3]; 
				}
				for (i = 0; i < size; i++) //перебор по строкам всего массива
				{
					if (crv == bin_adres[i][0]) //сравниваем первый элемент каждой строки, с введенным значением
					{
						temp = i; //получаем номер строки, которую необходимо редактировать
						break;
					}
				}
				cto ("Что необходимо изменить?\n Адрес назначения (нажмите 1)\n Адрес источника (нажмите 2)\n Шлюз(Нажмите 3)\n Маску(нажмите 4)\n", s);
				cout << s << endl;
				number = 0;
				cin >> number; //получаем номер столбца для изменения
				number--; //для правильного определения индекса элемента в массиве
				cto ("Введите элемент", s);
				cout << s << endl;
				for (i = 0; i < 4; i++)
				{
					cin >> adres[i];
					if (adres[i] < 0 || adres[i] > 255)
					{
						cto ("Вы выпали из диапазона 0-255. Введите нормальное число", s);
						cout << s << endl;
						i--;
					}
				}
				bin_adres[temp][number] = (adres[0] << 24) + (adres[1] << 16) + (adres[2] << 8) + adres[3]; //записываем данный элемент в заданную строку
				cto ("Для выхода из редактирования нажмите 1 (продолжить - любая цифра)", s);
				cout << s << endl;
				cin >> number;
			}
			while (number != 1);
			system("cls"); //очиста окна командной строки
			break;

Команда стажеров писала маршрутизатор на базе 1С предприятия и вот что получилось.

Запостил: alexoy alexoy, (Updated )

Комментарии (3) RSS

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8