C/C++ Programmierung

Aufgabe 43

Das Programm erfragt den Namen einer Datei vom Benutzer. Der Benutzer gibt den Namen einer Datei ein, die ein C++ Quellprogramm enthählt. Danach öffnet das Programm die Datei und ermittelt die Anzahl der öffnenden und der schließdenen geschweiften Klammern. Die Anzahl muß ja in einem korrekten C++ Programm gleich sein.
     Bitte Namen der Datei eingeben: programm.cpp
     Öffnende Klammern: 6
     Schließende Klammern: 6

Alle unterstrichenen Stellen bei der Aufgabe sind Eingaben, die der Benutzer durchführen soll.

Lösung für die Aufgabe

#include <fstream.h>

// Start des Hauptprogrammes
main()
{
  // Variable für den Dateizugriff definieren
  ifstream infile;
  char     dateiname[100];
  int      klammer_oeffnend = 0;    // Zählvariable für öffnende Klammern
  int      klammer_schliessend = 0; // Zählvariable für schließende Klammern

  // Dateinamen eingeben
  cout << "Bitte Namen der Datei eingeben: ";
  cin.getline(dateiname, 100);

  // Datei öffnen
  infile.open(dateiname);
  if (!infile)
    cout << "Datei konnte nicht geöffnet werden." << endl;
  else
  {
    // Daten aus der Datei lesen und Klammern zählen
    char zeichen;
    while ((zeichen = infile.get()) != EOF)
    {
      if (zeichen == '{')
        klammer_oeffnend++;
      else if (zeichen == '}')
        klammer_schliessend++;
    }

    // Datei schließen
    infile.close();

    // Ergebnis ausgeben
    cout << "Öffnende Klammern:    " << klammer_oeffnend << endl;
    cout << "Schließende Klammern: " << klammer_schliessend << endl;
  }
}


Zurück zur Übersicht