gpt4 book ai didi

c - 错误: expected ';' before '{' token

转载 作者:行者123 更新时间:2023-11-30 19:15:04 26 4
gpt4 key购买 nike

我最近正在编写一个简短的小型辐射避难所生存游戏,我遇到了错误“预期';'”在“{”标记之前”。错误发生在第 28 行第 23 字符附近:

#include <stdio.h>

int main(int argc, char *argv[])
{//setup changing variables
int X = 0;
int money = 300;
int resources[10];
resources[0] = 100;
resources[1] = 200;
printf("Welcome!\nFirst we will choose the extra supplies for your shelter!");
while(X < 1)
{
//Setup the input
char input[15];
//Introduction:
printf("You have $%d dollars\n1: Cards ($4)\n2: Ounce of Gold ($20)\n3: 10 Pounds of Spare Parts($20)\n4: Ham Radio ($75)\n5: Calendar ($5)\n6: Book of Blueprints ($10)\n7: (2 Gallons) Extra Water Storage ($6)\n8: (1 gallon) Fuel ($10)\n9: Check Current Supplies\n10:Start\n", money);
//Have player buy Items
if(input == 1){
if(money > 3){
money = money - 4;
resources[2] = resources[2] + 1;
printf("You have purchased a deck of cards...\n");
}
else{
printf("You can not afford this item\n");
}
}
elif(input == 2)
{
if(money > 19)
{
money = money - 20;
resources[3] = resources[3] + 1;
printf("You have purchased an Ounce of Gold...\n");
}
else
{
printf("You do not have enough money\n");
}
}
elif(input == 3){
if(money > 19){
money = money - 20;
resources[4] = resources[4] + 10;
printf("You have purchased 10 pounds of Scrap Parts...\n");
}
else{
printf("You do not have enough money\n");
}
}
elif(input == 4){
if(money > 74){
money = money - 75;
resources[5] = resources[5] + 1;
printf("You have purchased 1 Ham Radio...\n");
}
else{
printf("You do not have enough money.\n");
}
}
elif(input == 5)
{
if(money > 4)
{
money = money - 5;
recources[6] = resources[6] + 1;
printf("You have just purchased a calendar...\n");
}
else
{
printf("You can not afford the calendar.\n");
}
}
elif(input == 6)
{
if(money > 9){
money = money - 10;
resources[7] = resources[7] + 1;
printf("You have just purchased a Book filled with Blueprints...\n");
}
else{
printf("You can not afford the Book of Blueprints.\n");
}
}
elif(input == 7){
if(money > 5){
int money = money - 6;
int resources[8] = resources[8] + 2;
printf("You have purchased 2 extra gallons of water storage...");
}
else{
printf("You do not have enough money...");
}
}
elif(input == 8){
if(money > 9){
money = money - 10;
resources[9] = resources[9] + 1;
printf("You have purchased one gallon of fuel...");
}
else{
printf("You can not afford the fuel...");
}
}
elif(input == 9){
printf("You currently have: \n%s Pounds of Food\n%s Gallons of Water\n%s Decks of Cards\n%s Ounces of Gold\n%s Pounds of Spare Parts\n%s Ham Radios\n%s Calendars\n%s Books of Blueprints\n%s Gallons of Fuel", resources[0], resources[8] + resources[1], resources[2], resources[3], resources[4], resources[5], resources[6], resources[7], resources[9]);
fgets(input, sizeof(input), stdin);
}
elif(input == 10){
break;
}
else
{
printf("Input Invalid");
fgets(input, sizeof(input), stdin);
}
}
int h = 100;
while(int h > 0)
{
printf("%d", h);
h = h - 1;
}
}

最佳答案

  • 您不能在 C 中使用 elif。您应该使用 else if
  • printf 中,%s 不用于打印整数。您应该使用 %d 来代替。
  • 对于 char input[15];,像 input == 1 这样的比较没有任何意义。您可以使用int char;
  • input 未初始化。您应该阅读一些数据。
  • resources 未定义。应该是resources拼写错误。
  • 我将 input 的类型更改为 int 并将 scanf 放在分支之前,因此删除 fgets(input, sizeof(输入),标准输入);
  • 删除 int Money = Money - 6;int resources[8] = resources[8] + 2; 中多余的 intwhile(int h > 0)
  • 未使用参数,因此将 int main(int argc, char *argv[]) 更改为 int main(void)。 (可选以避免警告)

好的,现在编译错误消失了。

#include <stdio.h>

int main(void)
{//setup changing variables
int X = 0;
int money = 300;
int resources[10];
resources[0] = 100;
resources[1] = 200;
printf("Welcome!\nFirst we will choose the extra supplies for your shelter!");
while(X < 1)
{
//Setup the input
int input;
//Introduction:
printf("You have $%d dollars\n1: Cards ($4)\n2: Ounce of Gold ($20)\n3: 10 Pounds of Spare Parts($20)\n4: Ham Radio ($75)\n5: Calendar ($5)\n6: Book of Blueprints ($10)\n7: (2 Gallons) Extra Water Storage ($6)\n8: (1 gallon) Fuel ($10)\n9: Check Current Supplies\n10:Start\n", money);
//Have player buy Items
if(scanf("%d", &input) != 1) return 1;
if(input == 1){
if(money > 3){
money = money - 4;
resources[2] = resources[2] + 1;
printf("You have purchased a deck of cards...\n");
}
else{
printf("You can not afford this item\n");
}
}
else if(input == 2)
{
if(money > 19)
{
money = money - 20;
resources[3] = resources[3] + 1;
printf("You have purchased an Ounce of Gold...\n");
}
else
{
printf("You do not have enough money\n");
}
}
else if(input == 3){
if(money > 19){
money = money - 20;
resources[4] = resources[4] + 10;
printf("You have purchased 10 pounds of Scrap Parts...\n");
}
else{
printf("You do not have enough money\n");
}
}
else if(input == 4){
if(money > 74){
money = money - 75;
resources[5] = resources[5] + 1;
printf("You have purchased 1 Ham Radio...\n");
}
else{
printf("You do not have enough money.\n");
}
}
else if(input == 5)
{
if(money > 4)
{
money = money - 5;
resources[6] = resources[6] + 1;
printf("You have just purchased a calendar...\n");
}
else
{
printf("You can not afford the calendar.\n");
}
}
else if(input == 6)
{
if(money > 9){
money = money - 10;
resources[7] = resources[7] + 1;
printf("You have just purchased a Book filled with Blueprints...\n");
}
else{
printf("You can not afford the Book of Blueprints.\n");
}
}
else if(input == 7){
if(money > 5){
money = money - 6;
resources[8] = resources[8] + 2;
printf("You have purchased 2 extra gallons of water storage...");
}
else{
printf("You do not have enough money...");
}
}
else if(input == 8){
if(money > 9){
money = money - 10;
resources[9] = resources[9] + 1;
printf("You have purchased one gallon of fuel...");
}
else{
printf("You can not afford the fuel...");
}
}
else if(input == 9){
printf("You currently have: \n%d Pounds of Food\n%d Gallons of Water\n%d Decks of Cards\n%d Ounces of Gold\n%d Pounds of Spare Parts\n%d Ham Radios\n%d Calendars\n%d Books of Blueprints\n%d Gallons of Fuel", resources[0], resources[8] + resources[1], resources[2], resources[3], resources[4], resources[5], resources[6], resources[7], resources[9]);
}
else if(input == 10){
break;
}
else
{
printf("Input Invalid");
}
}
int h = 100;
while(h > 0)
{
printf("%d", h);
h = h - 1;
}
}
<小时/>

Enjoy!

抱歉,我不喜欢,但很生气。

关于c - 错误: expected ';' before '{' token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33181984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com