Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- #include <string.h>
- struct student
- { int grup;
- char secondName[20];
- char firstName[20];
- float mathAnalysis;
- float algebra;
- float programming;
- } roll[20], roll2[20], buffer;
- void write(FILE *file);
- void printer(FILE *file);
- void result(FILE *file, FILE *file2);
- void print_result(FILE *file);
- void write(FILE *file)
- { int n, i;
- printf("Введіть кількість студентів: ");
- scanf("%d", &n);
- for(i=0; i<n; i++)
- {
- printf("%d Група: ", i+1);
- scanf("%d", &(roll[i].grup));
- printf(" Прізвище: ");
- scanf("%s", (roll[i].secondName));
- printf(" Iм'я: ");
- scanf("%s", (roll[i].firstName));
- printf(" Бали:\n");
- printf(" Математичний аналіз - ");
- scanf("%f", &(roll[i].mathAnalysis));
- printf(" Алгебра - ");
- scanf("%f", &(roll[i].algebra));
- printf(" Програмування - ");
- scanf("%f", &(roll[i].programming));
- fwrite(&(roll[i]), sizeof(struct student), 1, file);
- }
- }
- void printer(FILE *file)
- {
- int i=0;
- while(fread(&roll[i], sizeof(struct student), 1, file))
- {
- printf("\n%d Група: ", i+1);
- printf("%d", (roll[i].grup));
- printf("\n Прізвище: ");
- printf(roll[i].secondName);
- printf("\n Iм'я: ");
- printf(roll[i].firstName);
- printf("\n Бали:");
- printf("\n Математичний аналіз - ");
- printf("%f", roll[i].mathAnalysis);
- printf("\n Алгебра - ");
- printf("%f", roll[i].algebra);
- printf("\n Програмування - ");
- printf("%f", roll[i].programming);
- i++;
- }
- }
- void result(FILE *file, FILE *file2)
- {
- int i=0, n, j;
- while( fread(&roll[i], sizeof(struct student), 1, file))
- {
- roll2[i]=roll[i];
- i++;
- }
- n=i;
- for(i=0;i<n;i++)
- for(j=0;j<n-1;j++)
- {
- if((roll2[j].mathAnalysis+roll2[j].algebra+roll2[j].programming)<(roll2[j+1].mathAnalysis+roll2[j+1].algebra+roll2[j+1].programming))
- buffer=roll2[j];
- roll2[j]=roll2[j+1];
- roll2[j+1]=buffer;
- }
- for(i=0; i<n; i++)
- {
- fwrite(&roll2[i], sizeof(struct student), 1, file2);
- }
- fclose(file2);
- }
- void print_result(FILE *file)
- {
- int i=0;
- while( fread(&roll2[i], sizeof(struct student), 1, file))
- {
- printf("\nПрізвище : %s", roll2[i].secondName);
- printf("\n Середній бал: %0.2f", (roll2[i].mathAnalysis+roll2[i].algebra+roll2[i].programming)/3 );
- i++;
- }
- }
- int main()
- {
- FILE *file, *file2;
- int point=1, i;
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- while(point)
- { system("cls");
- printf("Для вибору дії натисніть: \n");
- printf("1-Створити 2-Відкрити 3-Закрити 4-Переглянути 5-Додати 6-Результат 7-Вихід\n");
- scanf("%d", &i);
- if(i==1)
- {
- file=fopen("BF_12.dat", "wb");
- write(file);
- fclose(file);
- system("cls");
- }
- if(i==2)
- {
- file=fopen("BF_12.dat", "rb");
- }
- if(i==3)
- {
- fclose(file);
- }
- if(i==4)
- {
- file=fopen("BF_12.dat", "rb");
- printer(file);
- fclose(file);
- getch();
- }
- if(i==5)
- {
- file = fopen("BF_12.dat", "ab");
- write(file);
- fclose(file);
- }
- if(i==6)
- {
- file=fopen("BF_12.dat", "rb");
- file2 =fopen("BF_12_2.dat", "wb");
- result(file, file2);
- fclose(file2);
- file2 =fopen("BF_12_2.dat", "rb");
- print_result(file2);
- fclose(file);
- fclose(file2);
- getch();
- }
- if(i==7)
- {
- point=0;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement