Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- int GetSecretNumber(int n)
- {
- FILE *numbers;
- numbers = fopen("numbers.txt", "r");
- int temp;
- for (int i = 0; i < n; i++)
- fscanf(numbers, "%i", &temp);
- fclose(numbers);
- return temp;
- }
- void PrintTop()
- {
- FILE *achievements;
- achievements = fopen("achievements.txt", "r");
- if (achievements)
- {
- int count;
- fscanf(achievements, "%i", &count);
- int score, SecretNubmer;
- char name[40];
- printf("%s\t%s\t\t%s\n", "Score", "Player", "Secret Nubmer");
- for (int i = 0; i < count; i++)
- {
- fscanf(achievements, "%i%i%s", &score, &SecretNubmer, name);
- printf("%d\t%s\t\t%d\n", score, name, SecretNubmer);
- }
- fclose(achievements);
- }
- }
- void AddResults(int score, int secretNubmer, const char name[40])
- {
- FILE *achievements;
- achievements = fopen("achievements.txt", "r");
- if (achievements)
- {
- FILE *file;
- file = fopen("temp.txt","w");
- int count, last=0, Score, SecretNubmer;
- char Name[40];
- fscanf(achievements, "%i", &count);
- fprintf(file, "%i\n", count + 1);
- bool printed = false;
- for (int i = 0; i < count; i++)
- {
- fscanf(achievements, "%i%i%s", &Score, &SecretNubmer, Name);
- if (last <= score && Score >= score)
- {
- fprintf(file, "%i %i %s\n", score, secretNubmer, name);
- fprintf(file, "%i %i %s\n", Score, SecretNubmer, Name);
- printed = true;
- break;
- }
- else
- {
- fprintf(file, "%i %i %s\n", Score, SecretNubmer, Name);
- last = Score;
- }
- }
- if (!printed)
- fprintf(file, "%i %i %s\n", score, secretNubmer, name);
- while (fscanf(achievements, "%i%i%s", &Score, &SecretNubmer, Name) != EOF)
- fprintf(file, "%i %i %s\n", Score, SecretNubmer, Name);
- fclose(achievements);
- fclose(file);
- remove("achievements.txt");
- rename("temp.txt", "achievements.txt");
- }
- else
- {
- achievements = fopen("achievements.txt", "w");
- fprintf(achievements, "%i\n", 1);
- fprintf(achievements, "%i %i %s\n", score, secretNubmer, name);
- fclose(achievements);
- }
- }
- int main()
- {
- int mode = 0;
- while (mode != 3)
- {
- int Nomber = 0;
- int SeekingNomber, CurrentNomber = 0, SupposeCount = 0;
- switch (mode)
- {
- case 0:
- do {
- printf("%s\n%s\n%s\n%s\n", "Please choose from options", "1 Start new game", "2 Show results", "3 Exit");
- scanf("%i", &mode);
- } while (!(mode >= 1 && mode <= 3));
- break;
- case 1:
- while (!(Nomber >= 1 && Nomber <= 55))
- {
- printf("%s", "Please enter secret nomber:");
- scanf("%i", &Nomber);
- }
- SeekingNomber = GetSecretNumber(Nomber);
- while (CurrentNomber != SeekingNomber)
- {
- SupposeCount++;
- printf("%s", "Please suppose the nomber:");
- scanf("%i", &CurrentNomber);
- if (SeekingNomber > CurrentNomber)
- printf("%s\n", "Guess is lower than the secret number");
- if (SeekingNomber < CurrentNomber)
- printf("%s\n", "Guess is higher than the secret number");
- }
- switch (SupposeCount)
- {
- case 1:
- printf("%s\n", "You are too lucky!!!");
- break;
- case 2:
- printf("%s\n", "Excellent!!");
- break;
- case 3:
- printf("%s\n", "Excellent!!");
- break;
- case 4:
- printf("%s\n", "Good!");
- break;
- case 5:
- printf("%s\n", "Good!");
- break;
- default:
- printf("%s\n", "Ok");
- break;
- }
- char name[40];
- printf("%s", "Please enter your name:");
- scanf("%s", name);
- AddResults(SupposeCount, Nomber, name);
- mode=0;
- break;
- case 2:
- PrintTop();
- printf("%s", "Press any key to continue");
- mode = 0;
- getchar();
- getchar();
- break;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment