unsigned int count = 0;
std::cin >> count;
int TextFeld ** array = new TextFeld*[count];
if(array == nullptr) return -1;
for(size_t i = 0; i < count; ++i)
{
array = new TextFeld();
char* tmp = nullptr;
scanf("%ms[^\n]", &tmp);
array->text = tmp;
array->len = strlen(tmp);
}
for(size_t i = 0; i < count; ++i)
{
std::cout << std::setw(5) << array->len << ": " << array->text << std::endl;
}
for(size_t i = 0; i < count; ++i) delete array;
delete[] array;
}
struct TextFeldMod : public TextFeld {
TextFeldMod() { text = nullptr; len = 0; }
~TextFeldMod() { free(text); }
};
Das Programm läuft nicht. Ich bin mir nicht sicher wie ich die Variablen richtig deklariere. z.b. TextFeld Ich bin mit meinem Wissem am Ende angelangt.
Bin für jeden Lösungsvorschlag oder Hilfe sehr Dankbar!
Frage
asdf234
Liebes Forum,
Das Programm soll eine ganze Zahl n einlesen, und anschließend n Text in einer Strucktur speichern und ausgeben. In der Form:
struct TextBlock
{
char * Text;
size_t Laenge;
};
Ich habe bisher:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iomanip>
using namespace std;
int main(int argc, char* argv[])
{
unsigned int count = 0;
std::cin >> count;
int TextFeld ** array = new TextFeld*[count];
if(array == nullptr) return -1;
for(size_t i = 0; i < count; ++i)
{
array = new TextFeld();
char* tmp = nullptr;
scanf("%ms[^\n]", &tmp);
array->text = tmp;
array->len = strlen(tmp);
}
for(size_t i = 0; i < count; ++i)
{
std::cout << std::setw(5) << array->len << ": " << array->text << std::endl;
}
for(size_t i = 0; i < count; ++i) delete array;
delete[] array;
}
struct TextFeldMod : public TextFeld {
TextFeldMod() { text = nullptr; len = 0; }
~TextFeldMod() { free(text); }
};
Das Programm läuft nicht. Ich bin mir nicht sicher wie ich die Variablen richtig deklariere. z.b. TextFeld Ich bin mit meinem Wissem am Ende angelangt.
Bin für jeden Lösungsvorschlag oder Hilfe sehr Dankbar!
Link zu diesem Kommentar
Auf anderen Seiten teilen
5 Antworten auf diese Frage
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.