Объявите структуру, которая описывает отдельную видеоигру. В видеоиграх есть название, жанр, платформа, разработчик, год выпуска, более низкий возрастной предел, цена и независимо от того, поддерживают ли они покупки в приложении. Вам нужно будет выбрать подходящие типы данных для каждой информации , которая будет храниться в структуре.Использование функций для печати структур
- Назовите структуру: Video_Game.
- Объявите три переменных структуры видеоигры локально в основной функции, называемой game1, game2 и game3.
- Присвойте членам игры 1 подробную информацию о примере Candy Crush Saga (King, 2012) выше.
- Присвойте членам игры 2 информацию о примере вышеприведенного примера Halo 4 (343 Industries, 2014).
- Присвоить членам игры 3 информацию о вашей любимой игре ... если вы не играете в игры, проверьте свой смартфон ... конечно, вы играете что-то там ... если нет, проверьте соответствующий магазин приложений лучшие графики и найти игру, которая может стать вашим новым фаворитом!
- Затем объявите функцию, называемую print_video_game_details(), которая принимает параметр , который является указателем на ранее описанную структуру видеоигр. В этой функции распечатайте детали игры , переданной функции, в стиле, показанном выше для примеров Candy Crush Saga и Halo .
- Затем вызовите функцию print_video_game_details три раза с главной, передав в адрес адрес игры1, game2 и game3 после того, как все участники были установлены.
Мой код до сих пор:
#include <stdio.h>
#include <string.h>
struct video_game
{
char* title;
char* genre;
char* developer;
int year;
char* platform;
int lower_age;
float price;
char* inapp_purchase;
}game1, game2;
void print_video_game_details()
{
for(int i =1; i<=3; i++)
{
printf("Title: %s", game[i].title); // game[i] is showing an error "undeclared"
printf("Genre: %s", game[i].genre);
printf("Developer: %s", game[i].developer);
printf("year of release: %d", game[i].year);
printf("platform: %s", game[i].platform);
printf("lower age: %d", game[i].lower age);
printf("price: %f", game[i].price); //is showing an error "incompatible"
printf("inapp_purchase: %s", game[i].inapp_purchase);
}
}
int main(void)
{
game1.title = "Candy crush saga";
game1.genre = "Match-Three Puzzle";
game1.developer = "King";
game1.year = "2012";
game1.platform = "Android, ios, Windows Phone";
game1.lower_age = "7";
game1.price = "$0.00";
game1.inapp_purchase = "yes";
print_video_game_details();
}
Я не могу распечатать структуру, поскольку он не будет компилироваться.
ОШИБКИ:
prog.c: In function 'print_video_game_details':
prog.c:27:33: error: 'struct video_game' has no member named 'lower'
printf("lower age: %d", game[i].lower age);
^
prog.c:27:40: error: expected ')' before 'age'
printf("lower age: %d", game[i].lower age);
^
prog.c: In function 'main':
prog.c:39:15: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
game[0].year = "2012";
^
prog.c:41:20: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
game[0].lower_age = "7";
^
prog.c:42:16: error: incompatible types when assigning to type 'float' from type 'char *'
game[0].price = "$0.00";
^
Вам не хватает закрывающего кронштейна (}) в конце основного. И если он не будет компилироваться, вы должны отправить сообщение об ошибке, которое дает вам компилятор. – fefe
Убедитесь, что вы фактически вызываете свой метод 'print_video_game_details' в конце основного, перед закрывающей скобкой. – AlexPogue
@fefe Спасибо. Я отредактировал этот фрагмент. не могли бы вы взглянуть на него сейчас? – memg