課題がわかりません。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
hanako

課題がわかりません。

#1

投稿記事 by hanako » 14年前

下記のプログラムを参考に背番号と選手名から検索できるプログラムを
作りたいのですがエラーが出ます。

#include <stdio.h>

struct player{
int no;
char *name;
};

char*linear_search(struct player data[], int n, int key);

int main()
{
int n=10;
struct player data[]={
{28,"大隣憲司"},
{49,"オーティズ"},
{52,"川崎宗則"},
{9,"小久保裕紀"},
{47,"杉内俊哉"},
{50,"摂津正"},
{54,"ホールトン"},
{46,"本多雄一"},
{3,"松中信彦"},
{14,"馬原孝浩"}};

int key;
char *result;

printf("背番号を入力してください。\n");
scanf("%d",&key);

result = linear_search(data,n,key);

if (result !=NULL){
printf("背番号%d番は%s選手です。\n",key,result);
}else{
printf("背番号%d番の選手はいません。\n",key);
}
return 0;
}

char*linear_search(struct player data[],int n,int key)
{
int i;

for(i=0;i<n;i++){
if (data.no==key){
return data.name;
}
}
return NULL;
}




作成したプログラムは下記にあるのでどなたか訂正をお願いします。

#include <stdio.h>
#include <string.h>

struct player{
int no;
char name[40];
float average;
};

char*linear_search(struct player data[],int no,int name,float average);
struct player* search_by_name(struct player *data, char *name);
struct player* search_by_no(struct player *data, int no);


int main()
{
int n;
float f;
struct player data[]={
{52,"川崎宗則",0.267},
{46,"本多雄一",0.305},
{5,"松田宣浩",0.282},
{24,"内川聖一",0.338},
{30,"長谷川勇也",0.293},
{9,"小久保裕紀",0.269},
{6,"多村仁志",0.241},
{42,"カブレラ",0.225},
{3,"松中信彦",0.308},
{27,"細川亨",0.201}};

int key;
char *name;
float result;

printf("背番号を入力してください。\n");
scanf("%d",&key);

result = linear_search_by_no(data,n,f);

if(result!=NULL){
printf("背番号%d番は%s選手で打率は%fです。\n",n,key,result);
}else{
printf("背番号%d番の選手はいません。\n",key);
}

printf("名前を入力してください。\n");
scanf("%d",&key);

result = linear_search_by_name(data,key,f);

if(result!=NULL){
printf("%s選手の背番号は%d番で打率は%fです。\n",n,key,result);
}else{
printf("%s選手はいません。\n",key);
}
return 0;
}


char*linear_search(struct player data[],int n,int key,float f)
{
int i;

for(i=0;i<n;i++){
if (data.no == n){
return data.name;
}
}
return NULL;
}

non
記事: 1097
登録日時: 15年前

Re: 課題がわかりません。

#2

投稿記事 by non » 14年前

char*linear_search(struct player data[],int no,int name,float average);

このプロトタイプにて、int name や float average は何を関数に渡したいのでしょうか?

[追記]
よく見たら、まったくの未完成なのですね。エラーが出るなんて書いてあるから、ある程度は
作ってあるのかと思ってました。
まずは、どんな関数を作るのか、整理して、何を渡したら何を返すのか決めましょう。
最後に編集したユーザー non on 2011年11月22日(火) 14:55 [ 編集 1 回目 ]
non

beatle
記事: 1281
登録日時: 14年前
住所: 埼玉
連絡を取る:

Re: 課題がわかりません。

#3

投稿記事 by beatle » 14年前

コードを載せる際はcodeタグで囲ってください。
詳しくはフォーラムルールをご覧ください。

僕の投稿を参考にして問題点などを詳しく書くと、良い回答がもらいやすいと思います。

naohiro19
記事: 256
登録日時: 15年前
住所: 愛知県

Re: 課題がわかりません。

#4

投稿記事 by naohiro19 » 14年前

この掲示板では丸投げ禁止になっていますのでフォーラムルールをご覧ください。

閉鎖

“C言語何でも質問掲示板” へ戻る