我是编程的初学者,这是我第一次来到这里。我需要你的帮助来解决这个问题。正确的方式来传递C中的结构
现在,我想要解决的是写一个代码,打印出团队中的足球运动员的信息和属性。这里有一个例子..
这是梅西的著名足球运动员..你可以在右下角有他的属性看,每一个球员都有3个类别的属性..技术属性,心理属性和身体素质。每个属性的最大等级是20。
现在我在2种方式编码这一点,我不知道哪一个是正确的方式,或者两种方式是错误的,不好的编程..
第一种方式:
#include <stdio.h>
#include <string.h>
void Messi();
int main()
{
Messi();
return 0;
}
void Messi()
{
struct player10
{
char technical[150];
char mental[150];
char physical[150];
};
struct player10 messi;
strcpy(messi.technical, "Corners: 14\nCrossing: 15\nDribbling: 20\nFinishing: 20\nFirst Touch: 20\nFree Kick: 15\nHeading: 12\nLong shots: 17\nPassing: 19\nPenalty Taking: 18\nTechnique: 20\n");
strcpy(messi.mental, "Agression: 7\nAnticipation: 19\nBravery: 7\nComposure: 19\nConsentration: 14\nDecisions: 19\nDetermination: 20\nFlair: 20\nLeadership: 14\nOff The Ball: 18\nTeamWork: 13\nVision: 20\nWork Rate: 7\n");
printf("Messi Technical:\n%s \t Messi Mental:\n%s",messi.technical,messi.mental);
return;
}
第二种方式: -
#include <stdio.h>
#include <string.h>
struct player10
{
char technical[150];
char mental[150];
char physical[150];
};
int main()
{
struct player10 messi;
printf("Messi Attributes: \n");
Messi_attr(messi);
return 0;
}
int Messi_attr (struct player10 messi)
{
strcpy(messi.technical,"Corners: 14\nCrossing: 15\nDribbling: 20\nFinishing: 20\nFirst Touch: 20\nFree Kick: 15\nHeading: 12\nLong shots: 17\nPassing: 19\nPenalty Taking: 18\nTechnique: 20\n");
printf("\nTechnical Attributes:\n\n%s", messi.technical);
strcpy(messi.mental,"Agression: 7\nAnticipation: 19\nBravery: 7\nComposure: 19\nConsentration: 14\nDecisions: 19\nDetermination: 20\nFlair: 20\nLeadership: 14\nOff The Ball: 18\nTeamWork: 13\nVision: 20\nWork Rate: 7\n");
printf("\nMental Attributes:\n\n%s", messi.mental);
strcpy(messi.physical,"Acceleration: 18\nAgility: 20\nBalance: 17\nJumping Reach: 6\nNatural Fitness: 14\nPace: 15\nStamina: 13\nStrength: 8\n");
printf("\nPhysical Attributes:\n\n%s", messi.physical);
return 0;
}
我在做对吧?或者有一种更简单的方法来对传递结构进行编码? 任何帮助,将不胜感激..
就像现在一样,最简单的编码方式是printf( “\ n技术属性:\ n \ n角色:14 \ n交叉:15 \ n' ...依此类推 – immibis
#1毫无意义#2更好但仍然错误 – John3136
写一个函数来创建一个player10 struct和一个来打印它,把它们混合起来没有任何意义,也可以使用struct作为类型,'typedef struct {...} player10;'在一个haeder文件中或者在代码的开始处会很好。 – kaetzacoatl