Skip to content

Instantly share code, notes, and snippets.

@keita03301995
Created July 11, 2015 10:12
Show Gist options
  • Save keita03301995/2e04b86011198208bcc5 to your computer and use it in GitHub Desktop.
Save keita03301995/2e04b86011198208bcc5 to your computer and use it in GitHub Desktop.
#include <stdio.h>
#define NUM 100
void read(FILE *fp);
int main(void)
{
FILE *fp;
fp = fopen("C:\\Users\\啓汰\\Downloads\\BC PAD\\課題12DataFile\\kadai12h.txt","r");
if ( fp == NULL )
{
printf("エラー\n");
return 1;
}
read(fp);
fclose(fp);
return 0;
}
void read(FILE *fp)
{
int sub1,sub2,all,sub1all,sub2all,party,flag,i;
double avg,sub1avg,sub2avg,allall1,allall2,allavg1,allavg2;
char gakuseki[NUM],name[NUM];
printf(" 学籍番号 氏名 科目1 科目2 平均\n");
sub1all = 0;
sub2all = 0;
i = 0;
flag = 1;
allall1 = 0;
allall2 = 0;
while ( fscanf(fp,"%d %s %s %d %d",&party,gakuseki,name,&sub1,&sub2) != EOF )
{
if ( party != flag )
{
sub1avg = (double) sub1all / i;
sub2avg = (double) sub2all / i;
printf("\n %d組平均 %.1f %.1f\n\n",flag,sub1avg,sub2avg);
sub1all = 0;
sub2all = 0;
i = 0;
allall1 += sub1avg;
allall2 += sub2avg;
}
all = sub1 + sub2;
avg = all / 2;
printf(" %s %s %3d %3d %.0f\n",gakuseki,name,sub1,sub2,avg);
sub1all += sub1;
sub2all += sub2;
flag = party;
i++;
}
sub1avg = (double) sub1all / i;
sub2avg = (double) sub2all / i;
printf("\n %d組平均 %.1f %.1f\n",flag,sub1avg,sub2avg);
allall1 += sub1avg;
allall2 += sub2avg;
allavg1 = (double) allall1 / flag;
allavg2 = (double) allall2 / flag;
printf("\n 全体平均 %.1f %.1f\n",allavg1,allavg2);
}
@shivase
Copy link

shivase commented Jul 11, 2015

define NUM 100

なんのNUM!?
このNUMは何を示す値?

○○_NUM
NUM_○○

などで意味ある名前を!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment