استخدام qsort و strcmp قبل دخول sctrucs إلى ملفات txt

0

يسحب الكود الخاص بي البيانات من ملف نصي واحد ثم يقوم بتجميع النقاط وإدخالها في ملف نصي منفصل ، لذلك أود أن يقوم البرنامج بتنظيم الفرق والنتائج حسب إجمالي النقاط قبل frpintf في الملف النصي. حتى الآن يقوم البرنامج بسحب البيانات وتشغيلها وإجماليها و fprintf على ما يرام ، هل ينبغي علي استخدام qsort للفرز والطباعة في الملف النصي ، وأين أضعه في الكود الخاص بي. هذا هو النص الذي يقرأه.

الهنود 54 45 5

التوائم 45 53 7

النمور 43 59 8

White_Sox 35 64 9

العائلة المالكة 30 69 3

كما أعلم أنه لا توجد روابط في MLB lol فقط رمي متغير إضافي.

شكر.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main(void)

{
struct records {
     char filename;
     char team[50];
     int wins;
     int tie;
     int loss;
     int points;
};
struct records roster;
     FILE *ifp = NULL;
     FILE  *afd = NULL;
     const int argv;
     char filename2[64] = {0};
     char filename[64] = {0};
     int points;
     int points2;
     int total;


printf("\nPlease enter the the .txt file you would like to open: ");
scanf("%63s", filename);
printf("Opened file name %s",filename);
ifp = fopen(filename,"r");


 if (ifp == NULL)
{
  printf("Could not open");
  printf("\nPlease enter the the .txt file you would like to open:");
  scanf("%63s", filename);
  printf("Opened file name %s",filename);
  ifp = fopen(filename,"r");
}

printf("\nReading the file %s \n", filename);
while(fscanf(ifp, "%s %d %d%d" , roster.team, &roster.wins, &roster.loss, 
 &roster.tie) != EOF)
printf("%s Wins:%d Losses:%d ties:%d\n", roster.team, roster.wins, 
 roster.loss, roster.tie);
printf("\nWins are worth 2 points ties are worth 1 point and losses are 
 worth \nzero in overall league standings.");
printf("\nHere are the overall ALCentral Standings!\n");

ifp = fopen(filename, "r");
fopen(filename, "r"); while(fscanf(ifp, "%s %d %d %d", roster.team, 
 &roster.wins, &roster.loss, &roster.tie) != EOF)
printf("%s Wins:%d Losses:%d ties:%d Total league points:%d\n", 
 roster.team, roster.wins, roster.loss, roster.tie, (roster.wins * 2 + 
 roster.tie * 1), total);


     printf("closing %s", filename);
     fclose(ifp);

printf("\nPlease enter the the .txt file you would like to write to: ");
scanf("%63s", filename2);
printf("Opened file name %s", filename2);
afd = fopen(filename2, "a+");

if (afd == NULL)
{
 printf("Could not open"); printf("\nPlease enter the the .txt file you 
 would like to open: ");
 scanf("%63s", filename2);
 printf("Opened file name %s", filename2);
 afd = fopen(filename2,"a+");
}

ifp = fopen(filename,"r");
fopen(filename, "r");  
points = roster.wins * 2;
points2 = roster.tie * 1; 
total = points + points2;
while(fscanf(ifp, "%s %d %d %d", roster.team, &roster.wins, &roster.loss, 
 &roster.tie) != EOF)



fprintf(afd, "%s Wins:%d Losses:%d ties:%d total league points:%d\n", 
roster.team, roster.wins, roster.loss, roster.tie, (roster.wins *2 + 
 roster.tie *1 ), total, filename2);
printf("\nYour stats have been recorded to the selected 
file!\nClosing all open files! \nThanks for using the STAT-Master! 
Have a great day!


fclose(afd);
fclose(ifp);



return 0;
}

1 إجابة

فوق
قائمة طعام