technik c++ frage?

... komplette Frage anzeigen

3 Antworten

Wie jemand anderes schon gesagt hat, ist dein Quelltext reines C und kein C++. :)

(Nur, dass man auch in C++ z. B. printf() benutzen kann, heißt noch lange nicht, dass das dann eine C++ Funktion ist: Man programmiert einfach C innerhalb von C++! Und das ist eines der schlimmsten Dinge, die man als C++ler tun kann. ^^)

Ein möglicher "echter" C++ Ansatz sähe vielleicht so aus:

#include <algorithm> // copy_n
#include <iostream> // cin, cout
#include <iterator> // ostream_iterator

#include <cstddef> // size_t

int main(void) {
using namespace std;

cout << "Dimensions: ";

size_t wdt = 0, hgt = 0;
cin >> wdt >> hgt;

ostream_iterator<string> it(cout, "\\n");
string row(wdt, '#');

fill_n(it, hgt, row);
}

Das Programm hat dann z. B. folgenden Ablauf:

Dimensions: 5 3
#####
#####
#####

Wie du siehst, ein formschönes Rechteck. ;)

Die 5 steht für die Breite, und die 3 für die Höhe. Der Übersichtlichkeit halber habe ich jetzt auf jegliche Fehlerprüfung verzichtet, was man natürlich nicht tun sollte, aber das ist ja hier sowieso nur eine Übung. :)

Naja, viel Spaß noch! :)

Antwort bewerten Vielen Dank für Deine Bewertung

Zunächst einmal ist deine Syntax für das scanf nicht korrekt. In welche Variable soll denn das Integer geschrieben werden? Davon ist im deinem scanf nichts zu sehen. Wenn du dann die eingelesenen Werte hast, benötigst du in jedem Fall ein Schleifenkonstrukt in welcher du Zeile und Spalte deiner Ausgabe konstruierst.

Antwort bewerten Vielen Dank für Deine Bewertung

Ich verstehe deinen Code nicht. Du arbeitest mit Variablen, denen nie einen Wert zugewiesen werden.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?