0

I have wrote a Game of Life simulation in C and now want to compile it. I have tried it with Notepad++ using NppExec. I have entered this into the Execute Command:

 npp_save cd $(CURRENT_DIRECTORY) C:\MinGW\bin\mingw32-gcc.exe -g
 "$(FILE_NAME)" -o "$(FILE_NAME)".exe -L C:\MinGW\bin\

This is my main function:

int main() {
    const int n = ED; const int m = ZD;  //1.Dim/2.Dim
    char matr[ED][ZD]; 
    char lager[ED][ZD];
    int alz; //Anzahl lebender Zellen

        switch (Menu("\n1 - Erstelle Zufallsmatrix\n2 - Lade Matrix 1\n3 - Lade Matrix 2\n4 - Lade Matrix 3\n\n0 - Beenden", 5, "\n >>>> ")) {
        case 0: exit(0); break;
        case 1: 
            int prozent = Einlesen("Prozentsatz der Lebenden Zellen? Wertebereich: 0 bis 100\nEingabe:", 0, 100, 5);
            create_matr(matr, n, m, &alz, prozent); 
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz); break;
        case 2: 
            load_matr(matr, n, m, 1,&alz);
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz); break;
        case 3: 
            load_matr(matr, n, m, 2,&alz);
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz); break;
        case 4: 
            load_matr(matr, n, m, 3, &alz);
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz);
            break;
        }
     return 0;

This is the error I get now:

error: a label can only be part of a statement and a declaration is not a statement int prozent = Einlesen("Prozentsatz der Lebenden Zellen? Wertebereich: 0 bis 100\nEingabe:", 0, 100, 5); ^~~

Ignore the german words, what do I change to make it work?

Thanks in advance.

R.RiKo
  • 49
  • 3

1 Answers1

1

In this case, the error is to do with declaring a variable inside a switch case. See Why can't variables be declared in a switch statement?

In order to resolve this you can either do this:

switch (Menu("\n1 - Erstelle Zufallsmatrix\n2 - Lade Matrix 1\n3 - Lade Matrix 2\n4 - Lade Matrix 3\n\n0 - Beenden", 5, "\n >>>> ")) {
        case 0: exit(0); break;
        case 1: {
            int prozent = Einlesen("Prozentsatz der Lebenden Zellen? Wertebereich: 0 bis 100\nEingabe:", 0, 100, 5);
            create_matr(matr, n, m, &alz, prozent); 
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz);
            } break;
        case 2: 
            load_matr(matr, n, m, 1,&alz);
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz); break;
        case 3: 
            load_matr(matr, n, m, 2,&alz);
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz); break;
        case 4: 
            load_matr(matr, n, m, 3, &alz);
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz);
            break;
        }
     return 0;

Or this:

int prozent;
switch (Menu("\n1 - Erstelle Zufallsmatrix\n2 - Lade Matrix 1\n3 - Lade Matrix 2\n4 - Lade Matrix 3\n\n0 - Beenden", 5, "\n >>>> ")) {
        case 0: exit(0); break;
        case 1:
            prozent = Einlesen("Prozentsatz der Lebenden Zellen? Wertebereich: 0 bis 100\nEingabe:", 0, 100, 5);
            create_matr(matr, n, m, &alz, prozent); 
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz);
            break;
        case 2: 
            load_matr(matr, n, m, 1,&alz);
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz); break;
        case 3: 
            load_matr(matr, n, m, 2,&alz);
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz); break;
        case 4: 
            load_matr(matr, n, m, 3, &alz);
            print_matr(matr, n, m);
            ausfuehren(matr, n, m, lager, &alz);
            break;
        }
     return 0;
geeks_kick
  • 151
  • 7