Mein C++ Qt creator Programm stürzt bei eingaben von umlauten in ein Textfeld ab wie kann ich das verhindern?

Hallo in meinem Programm soll man wenn man einen text eingibt bestimmte dinge analysieren können(Zahl der Buchstaben, Zahl der Vokal ,...) ? allerdings stürzt das Programm ab, sobald man Umlaute eingibt

Mein bisheriger code aus mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->pushButton->hide();
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_btnBuchstaben_clicked()
{
    DeleteLetter();
    CountLetter();
    ShowLetter();

}

void MainWindow::DeleteLetter()
{
    for (int i=0;i<256;i++)
        Buchstaben[i]=0;
}

void MainWindow::ShowLetter()
{
    QString work="";
    QString einzel;
    QString zahl;
    ui->AnalyseWidget->clear();
    ui->AnalyseWidget->addItem("Auswertung");
    for (int i=0;i<256;i++){
        einzel ="  _____ ";
        if (i>=32)
            einzel[0]=char(i);
        else {
            if (i<10){
                einzel[0]='0';
                einzel[1]='0'+i;
            }
            else if (i< 20) {
                einzel[0]='1';
                einzel[1]='0'+i-10;
            }
            else if (i<30) {
                einzel[0]='2';
                einzel[1]='0'+i-20;

            }
            else {
                einzel[0]='3';
                einzel[1]='0'+i-30;
            }
        }
        zahl = QString::number(Buchstaben[i]);
        for (int j = zahl.length()-1;j>=0;j--)
            einzel[7-zahl.length()+j]=zahl[j];
        work = work + einzel;
        if ((i+1)%8==0)
        {
            ui->AnalyseWidget->addItem(work);
            work="";
        }
    }

}

void MainWindow::CountLetter()
{
    QString Area = ui -> EingabeEdit -> toPlainText();
    for(int i = 0; i < Area.length();i++)
        Buchstaben[Area[i].toLatin1()]++;
}

void MainWindow::on_btnWoerter_clicked()
{
    CountWords();
}

void MainWindow::CountWords()
{
    QString Area;
    Area = ui -> EingabeEdit -> toPlainText();
    int i = 0, w = 0;
    bool Word = false;
    while (i < Area.length())
    {
        if (Area[i] == ' ' && Word)
        {
            Word = false;
            w++;
        }
        if (Area[i] == ' ' && !Word)
        {

        }
        if (Area[i] != ' ' && Word)
        {

        }
        if (Area[i] != ' ' && !Word)
        {
            Word = true;
        }
        i++;
    }
    if (Word == true)
    {
        w++;
    }
    QString o = QString::number(w);
    QString output = "Der Text hat " + o + " Wörter";
    ui -> AnalyseWidget -> clear();
    ui -> AnalyseWidget -> addItem(output);

}

//Vokale - aus vorhandenem Array rausholen
//Zahlen nachschauen und ausgeben



Computer, Technik, programmieren, Cplusplus, Qt Creator

Meistgelesene Fragen zum Thema Qt Creator