Advertisement
Kordan

Kordan

Nov 13th, 2016
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.59 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <locale.h>
  3.  
  4. void main (void){
  5.     start:
  6. printf("\n");
  7. setlocale (LC_ALL, "rus");
  8.  
  9. unsigned int num;  
  10. const unsigned int k = 10;
  11. char str[] = "цифра равна: ";
  12. printf ("----------------------------------------\n\n");
  13. printf ("\tДеление числа на разряды\n\n");
  14. printf ("----------------------------------------\n");
  15. err:
  16. printf ("Введите целое положительное пятизначное число: ");
  17. printf ("\n\n");  
  18. scanf  ("%u", &num );
  19. printf ("\n");
  20.  
  21. if (num < 10000 || num > 99999){
  22.     printf ("Ошибка. Вы ввели не пятизначное число!\n");
  23.     goto err;
  24. }
  25. else{
  26.     printf ("----------------------------------------\n");
  27.     printf ("\nРезультат:\n");
  28.     for (unsigned int i=1;  i<=5;  i++){
  29.         unsigned int j=0;
  30.         switch(i){
  31.             case 1: j= num/10000;   break;
  32.             case 2: j=(num/1000)%k; break;
  33.             case 3: j=(num/100)%k;  break;
  34.             case 4: j=(num/10)%k;   break;
  35.             case 5: j= num%k;       break;
  36.             default: printf ("Ошибка")   ;
  37.         }
  38.     printf ("%d-я %s [%u]\n", i, str, j);
  39.     }
  40. printf ("\n----------------------------------------\n");
  41. }
  42. unsigned short menu;
  43. menu:
  44. printf ("\n1 - Продолжить работу\n0 - Выход из программы\n\nСделайте выбор (1 или 0): ");
  45. scanf ("%hu", &menu );
  46.     switch(menu){
  47.         case 1: goto start; break;
  48.         case 0: return;     break;
  49.         default: {printf ("\nВы ошиблись. Будьте внимательны!\n"); goto menu;}
  50.     }
  51. printf ("\n----------------------------------------\n");
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement