6 svar
238 visningar
Alan123 behöver inte mer hjälp
Alan123 278 – Fd. Medlem
Postad: 23 apr 2017 17:46

Struct

Hej uppgiften lyder:  7A) "Skapa en struct, monster, som innehåller:

name(textsträng- OBS, fler än ett tecken!)

health(heltal)

lösning:

struct monster {

char name[];

int heltal;

}

b) Skriv kod som skapar en variabel av typen monster. Monstret skall ha namnet Donald och födelseår 1946.

Jag tänker så här: 

struct monster {

char name[];

int heltal;

int year;

}

 

monster;

strcpy(monster.name,"Donald");

monster.year = 1946;

Stämmer detta?

c) Skriv ut värdena hos monster variabelns i (B) med hjälp av t.ex printf.

printf(" Name = %s   year = %d", monster.name, monster.year);

Jag är osäker. Är detta rätt skrivet?

 

                                           

Affe Jkpg 6630
Postad: 23 apr 2017 19:20 Redigerad: 23 apr 2017 19:23

Jag tror du ska skriva t.ex.

struct monster my_monster;

åsså då

printf(.....,my_monster.name, my_monster.year);

åsså justerar du de andra raderna på motsvarande sätt :-)

Har du ingen kompilator eller liknande där du kan prova syntaxen hos din kod?

Bubo 7322
Postad: 23 apr 2017 19:27

Du har ändrat från ett heltal till två heltal i structen.

Yngve 40141 – Livehjälpare
Postad: 23 apr 2017 19:50 Redigerad: 23 apr 2017 19:56

EDIT - Det var så länge sen jag höll på med C så jag ska nog inte lägga mig i här.

Alan123 278 – Fd. Medlem
Postad: 23 apr 2017 20:14

Affe menar du på b?

Affe Jkpg 6630
Postad: 23 apr 2017 21:21

a)

struct monster {
char *name;  /* eller om du vill: char name[] */
int     year;
};

b)
struct monster affe;

affe.name=...;
affe.year= ...;

c)

printf(.....,affe.name, affe.year);

Alan123 278 – Fd. Medlem
Postad: 23 apr 2017 21:22

Nice tack mannen! :D

Svara
Close