Advertisement
Guest User

Untitled

a guest
Jan 4th, 2014
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.95 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. #define MAX_PONTSZAMOK_DB 20
  7. #define MIN_PONTSZAM 0
  8. #define MAX_PONTSZAM 50
  9.  
  10. int getline(char s[], int lim) {
  11.     int i;
  12.     char c;
  13.     for(i=0;i<lim && (c=getchar())!='\n' && c!=EOF;++i)s[i]=c;
  14.     s[i]='\0';
  15.     while(c!='\n'&& c!=EOF)c=getchar();
  16.     return i;
  17. }
  18.  
  19. int egesz(char s[]){
  20.     int i;
  21.     i=(s[0]=='-' || s[0]=='+')?1:0;
  22.     while(s[i]){
  23.         if(!isdigit(s[i]))return 0;
  24.         i++;
  25.     }
  26.     return 1;
  27. }
  28.  
  29. void main(void) {
  30.     int pontszamok[MAX_PONTSZAMOK_DB];
  31.     int vege=0, bekert=0, i, elegtelendb=0, elegsegesdb=0, kozepesdb=0, jodb=0, jelesdb=0;
  32.     char tmp[2+1+1];
  33.  
  34.     printf("********************************************************\n");
  35.     printf("Kerem adja meg a pontszamokat [0, 50] intervallumban!\n");
  36.     printf("A bekeres ures sorig vagy maximum 20 db pontszamig megy.\n");
  37.     printf("********************************************************\n\n");
  38.  
  39.     while (!vege) {
  40.         printf("A(z) %d. pontszam: ", bekert+1);
  41.  
  42.         if (!getline(tmp, 2+1)) {
  43.             printf("\nUres sort utott, vege a bekeresnek.\n");
  44.             vege=1;
  45.         } else if (!egesz(tmp))
  46.             printf("Csak egesz szamot adhat meg.\n");
  47.         else
  48.             pontszamok[bekert] = atoi(tmp);
  49.         if (pontszamok[bekert] < MIN_PONTSZAM)
  50.             printf("A pontszamnak [%d, %d] intervallumban kell elhelyezkednie.\n", MIN_PONTSZAM, MAX_PONTSZAM);
  51.         else if (pontszamok[bekert] > MAX_PONTSZAM)
  52.             printf("A pontszamnak [%d, %d] intervallumban kell elhelyezkednie.\n", MIN_PONTSZAM, MAX_PONTSZAM);
  53.         else {
  54.             bekert++;
  55.  
  56.             if (bekert==MAX_PONTSZAMOK_DB) {
  57.                 printf("\nElerte a %d db-os pontszam mennyiseget. Vege a bekeresnek.\n", MAX_PONTSZAMOK_DB);
  58.                 vege=1;
  59.                 }
  60.             }
  61.     }
  62.  
  63.     printf("\n# | Pontszam | Erdemjegy\n");
  64.     printf("--------------------------\n");
  65.     for(i=0; i<pontszamok[i]; i++)
  66.         if (pontszamok[i] <= 15) {
  67.             elegtelendb++;
  68.             printf("%d | %d       | Elegtelen\n", i+1, pontszamok[i]);
  69.         } else if (pontszamok[i] <= 25) {
  70.             elegsegesdb++;
  71.             printf("%d | %d       | Elegseges\n", i+1, pontszamok[i]);
  72.         } else if (pontszamok[i] <= 35) {
  73.             kozepesdb++;
  74.             printf("%d | %d       | Kozepes\n", i+1, pontszamok[i]);
  75.         } else if (pontszamok[i] <= 45) {
  76.             jodb++;
  77.             printf("%d | %d       | Jo\n", i+1, pontszamok[i]);
  78.         } else {
  79.             jelesdb++;
  80.             printf("%d | %d       | Jeles\n", i+1, pontszamok[i]);
  81.         }
  82.  
  83.     printf("\n*************************\n");
  84.     printf("Elegtelenek szama: %d db\n", elegtelendb);
  85.     printf("Elegseges szama: %d db\n", elegsegesdb);
  86.     printf("Kozepes szama: %d db\n", kozepesdb);
  87.     printf("Jo szama: %d db\n", jodb);
  88.     printf("Jeles szama: %d db\n", jelesdb);
  89.     printf("*************************\n");
  90.  
  91.     printf("\n*************************");
  92.     if (elegtelendb==0)
  93.         printf("\nNem volt elegtelen.\n");
  94.     else if (elegtelendb%2==0)
  95.         printf("\nParos szamu elegtelen volt.\n");
  96.     else
  97.         printf("\nParatlan szamu elegtelen volt.\n");
  98.     printf("*************************\n");
  99.  
  100.     getchar();
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement