C言語 「構造体のソートと結果のファイル出力」 緊急です。助けてください。
授業で課題が出され内容は以下となってます。
1.歴代アメリカ大統領の情報を構造体とする.
2.ソートを昇順で行うこと
3.結果を出力すること〔参考:http://www-it.sci.waseda.ac.jp/CPR1/class08/kekka.log)
以下が自分で作ってみたものですが、多数のエラーが出てしまいどうしたらいいのか分かりません。。。抜本的な変更でもかまいませんので、分かる方助けてください。
-----作成分------
#include <stdio.h>
#include <string.h>
struct president {
int no, age;
char name1[20], name2[20]; /* 氏名 */
};
int main(void)
{
int i;
struct president pre1[44] = {
{1,57,"George","Washington"},
{2,61,"John","Adams"},
{3,57,"Thomas","Jefferson"},
//リストが長いので省略//
{44,47,"Barack","Obama"},
};
struct president *pres;
pres = pre1; //ポインタ//
sort(pres, 44, sizeof(struct president), president_cmp);//ソート構文 エラーがでます。。。//
printf("---------sortted list by age------- \n # age first last \n");}
for (i = 0; i < 44; i++){printf("------------------------------------ \n")
printf("%d %d %s %s \n, pres[i]->no, pres[i]->name, pres[i]->name1, pres[i]->name2);}
for(i = 0; i < 44; i++) {
if (i==0){printf("---------list of presidents---------- \n");//RAW DATAの表示を行ない。ここは問題ないみたいです//
printf(" age first last \n");};
printf("%d %d %s %s \n",
pres->no, pres->age, pres->name1, pres->name2);
++pres;
}
return 0;
}
int president_cmp(const void*p1, const void*p2){ //比較関数//
struct president *cmp1 = (struct president*)p1;
struct president *cmp2 = (struct president*)p2;
return strcmp(cmp1->age, cmp2->age);
}
ここにファイル出力の分をたしたいのですが、どこにどうすればいいのでしょう。
大変申し訳ありませんが、緊急です!!お願いします。
お礼
やはりそうでしたか。 ありがとうございました。