Ожидается ‘,’ или ‘;’ перед знаком ‘{’ {(C ++)

Таким образом, я получаю эту ошибку, когда я компилирую свой код (ожидается ‘,’ или ‘;’ перед ‘{‘ token {). Я знаю, что может быть много таких ошибок в stackoverflow, но, похоже, не могу найти решение:

Я новичок в C ++. Вот код: я должен прочитать данные из текстового файла (data.txt) и отобразить его:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main(){

FILE *fptr;
char country[5][20];
int population[5];
int landMass[5];
int option;
int i;
int countryOption;
int gdp[5];
int populationDensity[5];
int gdpHead[5];

//open file for reading
fptr = fopen("data.txt", "r");

//Error checking
if (fptr == NULL) {
printf("Unable to open data.txt");
return(1);
}

//input from user
printf("Hi welome to the country database!");
getchar();
system("cls");
printf("Select a country for information:\n");
printf("1)Canada\n");
printf("2)Italy\n");
printf("3)China\n");
printf("4)USA\n");
printf("5)Russia\n");
printf("6)All\n");
printf("Type in the option you want:");
scanf("%d", &option);
system("cls");

//reads data from data.txt and assigns to variables
for (i = 1; i <= 5; i++) {
fscanf(fptr, "%s %d %d %d", country[i], &population[i], &landMass[i], &gdp[i]);
populationDensity[i] = (population[i]/landMass[i]);
gdpHead[i] = ((gdp[i]*1000000)/population[i]);

if (option == 6) {
printf("Here is info on all the countries in our database:\n");
printf("Country: %s\n", country[i]);
printf("Population: %d\n", population[i]);
printf("LandMass: %d\n", landMass[i]);
printf("GDP: %d\n", gdp[i]);
printf("Population density: %d\n", populationDensity[i]);
printf("Population density: %d\n\n\n", gdpHead[i]);
}
}

void countrySelection(int countryOption)
{
printf("Here is some info on the country you chose:\n");
printf("Country: %s\n", country[countryOption]);
printf("Population: %d\n", population[countryOption]);
printf("LandMass: %d\n", landMass[countryOption]);
printf("GDP: %d\n", gdp[countryOption]);
printf("Population density: %d\n", populationDensity[countryOption]);
printf("Population density: %d\n\n", gdpHead[countryOption]);
}

//function that prints the info
if (option < 6) {
countrySelection(option);
}

fclose(fptr);
system("pause");
return(0);

}

Data.txt выглядит так:

Canada
42000000
9984670
1821000
Italy
60920000
301230
2013000
China
1351000000
9706961
8227000
USA
313900000
9826675
15680000
Russia
143000000
17098246
2015000

У любого есть подсказка относительно того, в чем проблема ???

0

Решение

Вы определяете void countrySelection(int countryOption) внутри основной функции, которая не разрешена в c ++.

Переместите функцию выше основной функции, и она должна скомпилироваться.
Также вы должны определить переменные, используемые в countrySelection как глобальные переменные, в противном случае функция не имеет к ним доступа.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]