>>258 C言語&scanfのエラー処理無し
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define RECORD_NUM 10
typedef struct tag_record_t{
char name[101];
int result;
}record_t;
int record_compare(const void *va, const void *vb){
const record_t *a, *b;
a=va;b=vb;
if(a->result==b->result) return strcmp(a->name, b->name);
return b->result-a->result;
}
void record_display(const record_t *record){
int i;
printf("%8s [%3d]", record->name, record->result);
for(i=0;i<50 && i<record->result/5;i++) printf("*");
printf("\n");
}
int main(void){
record_t record[RECORD_NUM];
int i;
printf("氏名、売上台数を入力して下さい\nex. YamadaTarou 23\n");
for(i=0;i<RECORD_NUM;i++) scanf("%s %d", record[i].name, &(record[i].result));
for(i=0;i<RECORD_NUM;i++) record_display(&record[i]);
qsort(record, RECORD_NUM, sizeof(record[0]), record_compare);
printf("------------------------------------------------------------\n");
for(i=0;i<RECORD_NUM;i++) record_display(&record[i]);
return 0;
}