C/C++の宿題を片付けます 116代目at TECH
C/C++の宿題を片付けます 116代目 - 暇つぶし2ch790:デフォルトの名無しさん
08/10/27 01:07:17
[1] 授業単元:構造体
[2] 問題文:1,名簿ファイルを読み込み、生年月日の順に並べる、苗字の順に並べる、名前の順に並べる、mail addressの順に並べるプログラムを作れ。ただし、文字列の大小を比較する関数として、strcmpを用いよ。
#include <string.h>
int strcmp(char str1, char str2);
------------------------
str1>str2 → 0より小さな整数 ,str1==str2 → 0 ,str1<str2 → 0より大きい整数
関数 void SortData1(struct person *person, int *index, int n); /* 生年月日の順番に並べる */
関数 void SortData2(struct person *person, int *index, int n); /* 名の順番に並べる */
関数 void SortData3(struct person *person, int *index, int n); /* 姓の順番に並べる */
関数 void SortData4(struct person *person, int *index, int n); /* mail-addressの順番に並べる */ をそれぞれ作り、 結果を表示せよ。
2,県の郵便番号のリスト(メンバーの数約5000個)を配列の大きさだけを変えて、これを郵便番号順、読み仮名順に並べ替えるプログラムを作れ。
[3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C
[4] 期限:2008年10月27日16:00まで
[5] その他の制限:1の関数の宣言は以下のようにする。
関数 void ReadData(struct person *person, int *index, int *n);
関数 void PrintData(struct person *person, int *index, int n);
関数ReadData、PrintDataでは、
while(scanf(“%d %s %s %s %s”,&person[i].birth, person[i].first_name,
person[i],last_name, person[i].mail_addr, person[i].thema)!=EOF){
index[i]=i;
i++; }
-------------------------------------------------------------
for(i=0;i<n;i++){
printf(“%d %s %s %s %s\n”,person[index[i]].birth, person[index[i]].first_name,
person[index[i]].last_name, person[index[i]].mail_addr,person[index[i]].thema); }
とりあえず、問題1の並び替えがうまく出来ませんorz
お願いします。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch