掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.24611

構造体 読み込み ソート
投稿者---ヘルプミー(2005/12/08 13:42:41)


ソートを使わずに並べ替えをするにはどうしたら??
ソースをのせるんで誰か教えてください(>_<)
お願いします!背の高い順に並べ替えたいのです!

#include
#include
#include
#include
#define KEISEN "=========================================\n"

void read(void);
void disp(void);
void end(void);

struct sintai{
char name[100];
float se;
float taiju;
int nenrei;
};
struct sintai sintai1[10];
int n, i;

main()
{
int k;
do{
clrscr();
gotoxy(26,3); printf("************身体測定************\n");
gotoxy(25,5); printf("データファイルの読み込み・・・【1】");
gotoxy(25,7); printf("身体測定表・・・・・・・・・・【2】");
gotoxy(25,9); printf("身長の高い順に並べる・・・・・【3】");
gotoxy(25,15); printf("終わり・・・・・・・・・・・ 【4】");
gotoxy(25,17); printf("処理番号を入力してください");
gotoxy(50,18); scanf("%d", &k);

switch(k){
case 1:read(); break;
case 2:disp(); break;
case 3:tall(); break;
case 4:end() ; break;
default: ; break;
}
}while(k<4);
return 0;
}
void read(void)
{
char f_name[30];
FILE *fp;
char a[100];
float s, t;
int o;
clrscr();
gotoxy(20,7); printf("データファイル名を入力してください!");
scanf("%s", f_name);
fp = fopen(f_name, "r");
if(fp==NULL){
printf("ファイルがオープンできません!\n");
getch();
exit(0);
}
n=0;
while((fscanf(fp, "%s%f%f%d", &a, &s, &t, &o)) !=EOF){
strcpy(sintai1[n].name,a);
sintai1[n].se =s;
sintai1[n].taiju =t;
sintai1[n].nenrei =o;
n++;
}

gotoxy(20,9); printf("データファイルを読みました.\n");
gotoxy(20,11); printf("どれかのキーを押してください.");
getch();
fclose(fp);
}
void disp(void)
{
clrscr();
gotoxy(5,2);
printf("**********身体測定表*********\n");
printf(KEISEN);
printf("名前 身長 体重 年齢\n");
for(i = 0; i < n; i++){
printf("%-10s%6.1f %6.1f %5d\n", sintai1[i].name, sintai1[i].se, sintai1[i].taiju, sintai1[i].nenrei);
}
printf(KEISEN);
getch();
}
void end(void)
{
clrscr();
gotoxy(20,9); printf("身体情報を終了します。\n");
gotoxy(20,11); printf("GOOD LUCK");
getch();
exit(0);
}
void tall(void)
{
clrscr();
gotoxy(5,2);
printf("**********身体測定表・背の高い順*********\n");
printf(KEISEN);
printf("名前 身長 体重 年齢\n");
for(i=0; i<10; i++){
for(n=1; n<10; n++){
if(sintai1[i].se < sintai[n].se){
sintai


これであってますかね??教えてください!


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:構造体 読み込み ソート 24612 Blue 2005/12/08 13:52:58
<子記事> ★★★ソースの添付は字下げしてくださるようにお願いします 24617 管理人 2005/12/08 17:45:14
<子記事> Re:構造体 読み込み ソート 24623 wiz 2005/12/08 22:33:09


No.24612

Re:構造体 読み込み ソート
投稿者---Blue(2005/12/08 13:52:58)


> これであってますかね??教えてください!
まず、ソース以外に間違っていることばかりです。

掲示板規則はお読みになりましたか?
字下げされていない(HTML変換ツールを使っていない)ソースはよんでくれる人はほとんどいません。
再度、掲示板規則をお読みになって、何が守られていないのか(間違っているのか)確認したうえで、
再度投稿しなおしてください。


この投稿にコメントする

削除パスワード

No.24613

Re:構造体 読み込み ソート
投稿者---RAPT(2005/12/08 14:12:51)


それと、
> ソートを使わずに並べ替えをするには
並べ替えをすることをソートすると言うのですが・・・。
もしかして、標準関数の qsort() 関数を使わずに・・・ということ?



この投稿にコメントする

削除パスワード

No.24617

★★★ソースの添付は字下げしてくださるようにお願いします
投稿者---管理人(2005/12/08 17:45:14)


投稿上の注意をお読みの上、字下げをしたプログラムを再投稿してくださるようお願いいたします。



この投稿にコメントする

削除パスワード

No.24623

Re:構造体 読み込み ソート
投稿者---wiz(2005/12/08 22:33:09)


>課題の丸投げはしません。
>ソースの添付はHTML変換ツールで字下げします。
>環境(OSとコンパイラ)は具体的に。

少なくとも自分でやってみてコンパイルくらいは通してから
聞いたほうがいいですよ。。。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧