CPP – die besten Beiträge

Fehler bei einem Quellcode(c++) -------------------------- expected unqualified-id before ‘{’ token?

Grüßt euch,

ich versuche seit einigen Minuten einen Quellcode zu schreiben. Irgendwie bekomme ich immer diese Fehlermeldung: "expected unqualified-id before ‘{’ token" in Zeile 10.

Ich finde da aber kein Fehler!!! Kann mir jemand mit ein wenig Erfahrung sagen, was mir der compiler sagen will?

Vielen lieben Dank.

// Matrix.cpp
#include <iostream>
#include <ctime> // random numbers
using namespace std;
const int COLUMN = 5;  // number of columns has to be constant
const int MAXROW = 5;

//------------------- definition of functions -----------------------
void showMat(double a[][COLUMN], int r);  // COLUMN must be given
{
    for  (int i = 0, i < 0, i++)
{
    for (int j = 0, j < COLUMN; j++)
    {
         cout << a[j] [a] <<" ";
    }
cout << endl;
          }
}
//-----------------------------------------main() - function ---------------------------------------

int main()
{
                      srand(time (0));
                       int  r;

                      do
                      {
cout << " Geben Sie die gewünschte Anzahl der Zeilen an maximal 5." << endl;
cin >> r;
} while (r < 1 || r > MAXROW);

double MatrA [COLUMN] [MAXROW] ;
double MatrB [COLUMN] [MAXROW] ;
double MatrS [COLUMN] [MAXROW] ;
double MatrD [COLUMN] [MAXROW] ;

for  (int i = 0; i <  r;  i++)
{
    for  (int j = 0; j < COLUMN; j++)
    {
                    MatrA[j][i]  = rand() % 10;
                    MatrB[j][i]  = rand() % 10;
                   MatrS[j][i]  = MatrA[j][i] +  MatrA[j][i];
                  MatrD[j][i]  = MatrA[j][i]  -  MatrA[j][i];  
              }
}
cout << endl << "Matrix A:" << endl;
showMatr(MatrA, r);
cout << endl << "Matrix B:" << endl;
showMatr(MatrB, r);
cout << endl << " Additionsmatrix:"<< endl;
showMatr(MatrS, r);
cout << endl << " Differentmatrix:" << endl;
showMatr(MatrD, r);
cout << endl;
system ("Pause");
return 0;
}
Computer, Technik, programmieren, compiler, Cplusplus, CPP, Informatik, Quellcode

C++: Kann ich diesen Code irgendwie noch vereinfachen?

Guten Abend,

ich schreibe gerade in C++ an einem kleinen Kniffelspiel. Im Moment bin ich soweit, dass ich mir fünf zufällige Zahlen (Würfel) über die rand()-Funktion erstelle, diese dann in einem Vektor speichere und anschließend über die Funktion auswertung() den höchsten Pasch zurückgebe. Jedoch ist der Code nicht gerade sehr kompakt. Hat jemand Vorschläge für Optimierungen?

Vielen Dank im Voraus!

#include <iostream>
#include <ctime>
#include <vector>
#include <random>

using namespace std;

vector<int> würfe()
{
  vector<int> list; // Ermittelt über die aktuelle Systemzeit 5 Zufallszahlen und übergibt sie dem Vektor list
  srand(time(0));

  for (int i = 0; i < 5; i++) {
    list.push_back(1 + rand() % 6);
    cout << list[i];
  }

  cout << endl;
  return list;
}

int auswertung(vector<int> ergebnis)
{
  int pasch = 0;

  // Verschachtelte for-Schleife iteriert durch Vektor und vergleicht alle Elemente miteinander
  for (vector<int>::iterator it = ergebnis.begin(); it != ergebnis.end(); ++it) {
    for (vector<int>::iterator it1 = ergebnis.begin(); it1 != ergebnis.end(); ++it1) {
      // Nur wenn die Werte gleich sind (Pasch) und nicht auf dasselbe Element zeigen, geht es weiter
      if (*it1 == *it && it != it1) {
        // Nur wenn der gefundene Pasch höher als der Höchste bereits gefundene ist, wird er ausgewertet
        if (*it > pasch) {
          switch (*it) {
            case 1: pasch = 1;
              break;
            case 2:
              pasch = 2;
              break;
            case 3: pasch = 3;
              break;
            case 4: pasch = 4;
              break;
            case 5: pasch = 5;
              break;
            case 6: pasch = 6;
              break;
          }
        }
      }
    }
  }

  return pasch;
}

int main()
{
  int pasch;
  vector<int> random = würfe();
  pasch = auswertung(random);

  cout << "Pasch: " << pasch << endl;
}
Computer, Software, Technik, programmieren, Cplusplus, CC, Code, CPP, Informatik, Softwareentwicklung, Technologie, C (Programmiersprache)

C++: Sonderzeichen lösen Problem aus?

Hallo Leute,

ich habe ein Problem mit Sonderzeichen.

Sonderzeichen wären:

und Zeichen mit Akzent, z.B. ê.

Hier mein Code:

for (auto & p : fs::directory_iterator(VARIABLE)) {
  fs::path pn = p.path();

  if (is_regular_file(pn)) {
    std::string ps = pn.string();
    do_something(ps)
  }
  else {
    give_me_some_error();
  }

Führe ich den Code eingebaut und mit entsprechenden Parametern aus, funktioniert dieser sehr gut und gibt mir auch die richtigen Ergebnisse zurück.

Problem ist, wenn ein oder mehrere (auch andere) Sonderzeichen, wie oben genannt, kommen. Dann wirft er mir bei

std::string ps = pn.string();

einen Fehler (siehe Bild) aus.

Unter Details anzeigen kommt dann:

Unbehandelte Ausnahme bei 0x755135D2 in Test1.exe: Microsoft C++-Ausnahme: std::system_error bei Speicherort 0x0090EF3C.

-

und wenn ich auf Ausnahmeeinstellungen gehe, kommt, dass er von Kernelbase.dll ausgelöst wurde.

Nach langem Suchen via Google habe ich zum einen herausgefunden, ich solle doch statt path() die u8path() nehmen. Das wirft mir jedoch einen Fehler aus (außer ich habe es falsch gemacht, ich bin neu in C++).

Und ich soll in den Einstellungen das Charset auf Unicode umstellen.

Das hat aber alles nichts gebracht.

Infos:

  • Ich nutze die neueste Version von Visual Studio 2019 (heute; 16.12 aktualisiert).
  • Ich habe schon gegoogelt, das hat jedoch nichts gebracht.
  • Die oben gezeigte for-Schleife ist in einer Funktion drinnen, wo die benötigten Parameter übergeben werden.
  • Das Programm funktioniert, solange kein Sonderzeichen kommt.

Ich hoffe, jemand von euch kann mir helfen. Ich bin echt am Verzweifeln.

Weitere Anmerkungen:

Ich habe gerade gesehen, dass mir, wenn ich über den String gehe, zusätzlich noch ausgegeben wird: "Fehler beim Lesen der Zeichenfolge". Ich weiß nicht ob das weiterhilft.

Bild zum Beitrag
Computer, Fehler, programmieren, Sonderzeichen, CPP, Visual Studio, UTF-8

Meistgelesene Beiträge zum Thema CPP