Advertisement
strCarne

Untitled

Apr 11th, 2023
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.37 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. struct student
  6. {
  7.   char name[100];
  8.   int id;
  9.   int grades;
  10. };
  11.  
  12. student* get_mem(int size) {
  13. return(student*)malloc(size * sizeof(student));
  14. }
  15.  
  16. void input(student studentArr[], int len) {
  17.     register int i;
  18.     bool exit_cycle_check;
  19.     int ascii_symbol;
  20.  
  21.     for (i = 0; i < len; i++) {
  22.         printf("Person %d:\n", i + 1);
  23.  
  24.         const int ucll = 65; // Upper Case low limit ("A" имеет номер ASCII, равный 65)
  25.         const int uchl = 90; // Upper Case high limit ("Z" имеет номер ASCII, равный 90)
  26.         const int lcll = 97; // Lower Case low limit ("a" имеет номер ASCII, равный 97)
  27.         const int lchl = 122; // Lower Case high limit ("z" имеет номер ASCII, равный 122)
  28.  
  29.         while (true) {
  30.             exit_cycle_check = true;
  31.  
  32.             printf("Enter name = ");
  33.             scanf("%s",&studentArr[i].name);
  34.  
  35.             for (register int j = 0; j < 100; j++) {
  36.                 ascii_symbol = studentArr[i].name[j];
  37.                
  38.                 if (((ascii_symbol <= uchl) && (ascii_symbol >= ucll)) || ((ascii_symbol <= lchl) && (ascii_symbol >= lcll)) || (ascii_symbol == 0))
  39.                     continue;
  40.                 else
  41.                     exit_cycle_check = false;
  42.                 break;
  43.             }
  44.  
  45.             if (exit_cycle_check)
  46.                 break;
  47.             else
  48.                 printf("Incorrect input. Only letters are suitable\n");
  49.         }
  50.  
  51.         while (true) {
  52.             printf("Enter grades = ");
  53.             scanf("%d",&studentArr[i].grades);
  54.  
  55.             if (studentArr[i].grades >= 0 && studentArr[i].grades <= 10)
  56.                 break;
  57.             else
  58.                 printf("Incorrect input. Grade must be in range from 0 to 10\n");
  59.         }
  60.  
  61.         printf("Enter id = ");
  62.         scanf("%d",&studentArr[i].id);
  63.         printf("\n");
  64.     }
  65. }
  66.  
  67. int main() {
  68.     student* studentArr = get_mem(5);
  69.     input(studentArr, 5);
  70.     printf("------------------------\n\n");
  71.     for (int i = 0; i < 5; i++) {
  72.         printf("Person %d:\n", i + 1);
  73.         printf("Name = %s\n", &studentArr[i].name);
  74.         printf("ID = %d\n", studentArr[i].id);
  75.         printf("Grades = %d\n\n", studentArr[i].grades);
  76.     }
  77.  
  78.     delete []studentArr;
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement