codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
/*想定しているdata.dat 001,ODA,NOBUNAGA,800 002,SHIBATA,KATSUIE,680 003,NIWA,NAGAHIDE,900 004,AKECHI,MITSUHIDE,900 005,MURAI,SADAKATSU,709 (要空行) */ #include<stdio.h> #include<stdlib.h> #include<string.h> #define M_LENGTH 255 #define St_MAX 100 int main( int argc, char *argv[] ){ FILE *fp; double res,ave=0; int i,j=0,len,size; char str[M_LENGTH]; char *word[M_LENGTH],*cp,ch; const char *split = ","; struct GDATA { int bango; char sei[11],mei[11]; int tokuten; } data[St_MAX]; if(argc == 1){ printf("引数が無いか、多すぎます。ファイル名を入力してください。\n"); getchar(); exit(1); } if((fp = fopen(argv[1],"r")) == NULL){ printf("%c ",argv[1]); printf("OPEN ERROR!\n"); getchar(); exit(1); } do{ fgets(str,50,fp); if(!feof(fp)){ cp = str; for (len = 0; len < M_LENGTH; len++) { if ((word[len] = strtok(cp, split)) == NULL) break; cp = NULL; } data[j].bango = atoi(word[0]); size = strlen(word[1]); for(i=0;i <= size;i++){ data[j].sei[i] = word[1][i]; } size = strlen(word[2]); for(i=0;i <= size;i++){ data[j].mei[i] = word[2][i]; } data[j].tokuten = atoi(word[3]); ave += atoi(word[3]); j++; } }while(!feof(fp)); fclose(fp); printf(" _____________________________________________________\n"); printf("|___________________学生レコード______________________|\n"); printf("%s \t %-10s \t %-10s \t %s\n","学籍番号","名字","名前","得点"); for(i=0; i!=j; i++) printf("%d \t %-10s \t %-10s \t %d\n",data[i].bango,data[i].sei,data[i].mei,data[i].tokuten); res = ave/j; printf("AVERAGE:%.1f\n",res); getchar(); return 0; }
Private
[
?
]
Run code
Submit