教えてください

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

教えてください

#1

投稿記事 by c言語 » 4年前

ソースコード
#include<stdio.h>
#define PLAYER_MAX (2)

typedef struct {

char name[21];

} PLAYER;


int main(void) {
PLAYER player_data[PLAYER_MAX];


int i;
int player_suu;

printf("%dプレーヤー数を入力してください。\n", PLAYER_MAX);
scanf("%d", &player_suu);
PLAYER* pt_player_data;

while (player_suu > PLAYER_MAX || player_suu <= 0)
{
rewind(stdin);
printf("もう一度入力してください。\n");
scanf("%d", &player_suu);
rewind(stdin);
}
void input_player(PLAYER*);
pt_player_data = &player_data[0];
for (i = 0; i < player_suu; i++)
{
printf("%d人目\n", i + 1);
input_player(pt_player_data);
pt_player_data++;
return 0;

}

void input_player(PLAYER*pt_data);



printf("名前入力==>");
scanf("%s", pt_data->name);


void output_player(PLAYER*pt_data);

printf("%s", pt_data->name);


rewind(stdin);
getchar();


修正してくださいお願いします

Rittai_3D
記事: 525
登録日時: 7年前

Re: 教えてください

#2

投稿記事 by Rittai_3D » 4年前

c言語 さんが書きました:ソースコード

コード:

#include<stdio.h>
#define	PLAYER_MAX (2)

typedef struct  {

	char name[21];

} PLAYER;


int main(void) {
	PLAYER player_data[PLAYER_MAX];


	int i;
	int player_suu;

	printf("%dプレーヤー数を入力してください。\n", PLAYER_MAX);
	scanf("%d", &player_suu);
	PLAYER* pt_player_data;

	while (player_suu > PLAYER_MAX || player_suu <= 0)
	{
		rewind(stdin);
		printf("もう一度入力してください。\n");
		scanf("%d", &player_suu);
		rewind(stdin);
	}
	void input_player(PLAYER*);
	pt_player_data = &player_data[0];
	for (i = 0; i < player_suu; i++)
	{
		printf("%d人目\n", i + 1);
		input_player(pt_player_data);
		pt_player_data++;
		return 0;

	}

	void input_player(PLAYER*pt_data);
		
	

		printf("名前入力==>");
		scanf("%s", pt_data->name);

	
	void output_player(PLAYER*pt_data);
		
		printf("%s", pt_data->name);
	

	rewind(stdin);
	getchar();

}
修正してくださいお願いします
codeタグを使用してください。

・void input_player(PLAYER*pt_data); と void output_player(PLAYER*pt_data);を外部で宣言
・一番最後の"}"が全角文字

ぱっと見だとこのへんでしょうか。
エラーが出たのならエラーを載せてください。また、どういう挙動が正しいのかも書いてください。
初心者です

c言語

Re: 教えてください

#3

投稿記事 by c言語 » 4年前

error2065 'pt_data' : 定義されていない識別子です
error2227 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません 型は 'unknown-type' です。

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 9年前
住所: 北海道札幌市
連絡を取る:

Re: 教えてください

#4

投稿記事 by Dixq (管理人) » 4年前

あれこれおかしいです。
input_playerやoutput_playerは関数かのように書かれていますが、セミコロンで閉じています。

> error2065 'pt_data' : 定義されていない識別子です

のエラーメッセージから何が悪いかわかりませんか?
pt_dataと書かれている部分がありますが、この変数はどこにも定義がありません。

void input_player(PLAYER*);

は関数を呼び出したいのでしょうか?
それならvoidはいらないし、引数がおかしいです。

引数になるべき変数も実態がありません。

閉鎖

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