abubaca

Untitled

Feb 23rd, 2019
587
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.61 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5.  
  6. int GetSecretNumber(int n)
  7. {
  8.     FILE *numbers;
  9.     numbers = fopen("numbers.txt", "r");
  10.     int temp;
  11.     for (int i = 0; i < n; i++)
  12.         fscanf(numbers, "%i", &temp);
  13.     fclose(numbers);
  14.     return temp;
  15. }
  16.  
  17. void PrintTop()
  18. {
  19.     FILE *achievements;
  20.     achievements = fopen("achievements.txt", "r");
  21.     if (achievements)
  22.     {
  23.         int count;
  24.         fscanf(achievements, "%i", &count);
  25.         int score, SecretNubmer;
  26.         char name[40];
  27.         printf("%s\t%s\t\t%s\n", "Score", "Player", "Secret Nubmer");
  28.         for (int i = 0; i < count; i++)
  29.         {
  30.             fscanf(achievements, "%i%i%s", &score, &SecretNubmer, name);
  31.             printf("%d\t%s\t\t%d\n", score, name, SecretNubmer);
  32.         }
  33.         fclose(achievements);
  34.     }
  35. }
  36.  
  37. void AddResults(int score, int secretNubmer, const char name[40])
  38. {
  39.     FILE *achievements;
  40.     achievements = fopen("achievements.txt", "r");
  41.     if (achievements)
  42.     {
  43.         FILE *file;
  44.         file = fopen("temp.txt","w");
  45.         int count, last=0, Score, SecretNubmer;
  46.         char Name[40];
  47.         fscanf(achievements, "%i", &count);
  48.         fprintf(file, "%i\n", count + 1);
  49.         bool printed = false;
  50.         for (int i = 0; i < count; i++)
  51.         {
  52.             fscanf(achievements, "%i%i%s", &Score, &SecretNubmer, Name);
  53.             if (last <= score && Score >= score)
  54.             {
  55.                 fprintf(file, "%i %i %s\n", score, secretNubmer, name);
  56.                 fprintf(file, "%i %i %s\n", Score, SecretNubmer, Name);
  57.                 printed = true;
  58.                 break;
  59.             }
  60.             else
  61.             {
  62.                 fprintf(file, "%i %i %s\n", Score, SecretNubmer, Name);
  63.                 last = Score;
  64.             }
  65.         }
  66.         if (!printed)
  67.             fprintf(file, "%i %i %s\n", score, secretNubmer, name);
  68.         while (fscanf(achievements, "%i%i%s", &Score, &SecretNubmer, Name) != EOF)
  69.             fprintf(file, "%i %i %s\n", Score, SecretNubmer, Name);
  70.         fclose(achievements);
  71.         fclose(file);
  72.         remove("achievements.txt");
  73.         rename("temp.txt", "achievements.txt");
  74.     }
  75.     else
  76.     {
  77.         achievements = fopen("achievements.txt", "w");
  78.         fprintf(achievements, "%i\n", 1);
  79.         fprintf(achievements, "%i %i %s\n", score, secretNubmer, name);
  80.         fclose(achievements);
  81.     }
  82. }
  83.  
  84. int main()
  85. {
  86.     int mode = 0;
  87.     while (mode != 3)
  88.     {
  89.         int Nomber = 0;
  90.         int SeekingNomber, CurrentNomber = 0, SupposeCount = 0;
  91.         switch (mode)
  92.         {
  93.         case 0:
  94.             do {
  95.                 printf("%s\n%s\n%s\n%s\n", "Please choose from options", "1 Start new game", "2 Show results", "3 Exit");
  96.                 scanf("%i", &mode);
  97.             } while (!(mode >= 1 && mode <= 3));
  98.             break;
  99.         case 1:
  100.             while (!(Nomber >= 1 && Nomber <= 55))
  101.             {
  102.                 printf("%s", "Please enter secret nomber:");
  103.                 scanf("%i", &Nomber);
  104.             }
  105.             SeekingNomber = GetSecretNumber(Nomber);
  106.             while (CurrentNomber != SeekingNomber)
  107.             {
  108.                 SupposeCount++;
  109.                 printf("%s", "Please suppose the nomber:");
  110.                 scanf("%i", &CurrentNomber);
  111.                 if (SeekingNomber > CurrentNomber)
  112.                     printf("%s\n", "Guess is lower than the secret number");
  113.                 if (SeekingNomber < CurrentNomber)
  114.                     printf("%s\n", "Guess is higher than the secret number");
  115.             }
  116.             switch (SupposeCount)
  117.             {
  118.             case 1:
  119.                 printf("%s\n", "You are too lucky!!!");
  120.                 break;
  121.             case 2:
  122.                 printf("%s\n", "Excellent!!");
  123.                 break;
  124.             case 3:
  125.                 printf("%s\n", "Excellent!!");
  126.                 break;
  127.             case 4:
  128.                 printf("%s\n", "Good!");
  129.                 break;
  130.             case 5:
  131.                 printf("%s\n", "Good!");
  132.                 break;
  133.             default:
  134.                 printf("%s\n", "Ok");
  135.                 break;
  136.             }
  137.             char name[40];
  138.             printf("%s", "Please enter your name:");
  139.             scanf("%s", name);
  140.             AddResults(SupposeCount, Nomber, name);
  141.             mode=0;
  142.             break;
  143.         case 2:
  144.             PrintTop();
  145.             printf("%s", "Press any key to continue");
  146.             mode = 0;
  147.             getchar();
  148.             getchar();
  149.             break;
  150.         }
  151.     }
  152.     return 0;
  153. }
Advertisement
Add Comment
Please, Sign In to add comment