C++ 输入带有空格的文本会立即关闭程序

C++ 输入带有空格的文本会立即关闭程序,c++,C++,当输入“School”这样的文本时,它读取并输出文本中有多少元音,但当输入“School-School”时,它会在按enter键时立即关闭。 我上了好几节课都在试图找出这个问题,但似乎找不到。 #布拉格语hdrstop #布拉格语 #include <tchar.h> #include <conio.h> #include <stdio.h> #include <math.h> #include <iostream.h> #includ

当输入“School”这样的文本时,它读取并输出文本中有多少元音,但当输入“School-School”时,它会在按enter键时立即关闭。 我上了好几节课都在试图找出这个问题,但似乎找不到。 #布拉格语hdrstop #布拉格语

#include <tchar.h>
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <iostream.h>
#include <iomanip>

// Autors : Deivids Roberts Saulite
/* Masīvs no N elemmntiem satur anglu alfabēta burtus. Noteikt cik masiva
 ir patskanu, kas atrodas masīva elementos ar para numuriem */
int main() {
    char teikums[150]; // Masiva lielums
    int i, blank, patsk;
    char yesno;
    do {
        system("cls");
        patsk = blank = 0;

        cout << "Ievadi teikumu:";
        cin >> teikums;
        cout << "Izmantotie Patskani:";
        for (i = 0; teikums[i] != '\0'; i++) {
            if (teikums[i] == 'a' || teikums[i] == 'e' || teikums[i] == 'o' ||
                teikums[i] == 'o' || teikums[i] == 'u' || teikums[i] == 'A' ||
                teikums[i] == 'E' || teikums[i] == 'I' || teikums[i] == 'O' ||
                teikums[i] == 'U') {
                ++patsk;
                cout << " " << teikums[i];
            }
        }


        cout << "\nPatskanu Skaits: " << patsk;

        cout << ("\nVai velaties atkartot(Y/cits):");
        // prasa lietotajam vai velas atkartot
        cin >> yesno;
        if (yesno == 'y' || yesno == 'Y') {
        }
        else {
            return 0;
        }
    }
    while (tolower(yesno) != 'n');
    getch();
}
#包括
#包括
#包括
#包括
#包括
#包括
//作者:Deivids Roberts Saulite
/*马斯和没有任何元素的人都会被安格鲁·阿尔法布塔·布尔图斯打败。马西瓦岛
我是帕特斯卡努,我是阿托达斯·马西瓦·帕拉穆里姆元素*/
int main(){
char teikums[150];//马西瓦·利卢姆斯
int i,空白,patsk;
char yesno;
做{
系统(“cls”);
patsk=blank=0;
演讲;

cout第二次读入输入时,检查它是否为“y”,如果不是,则返回子程序。由于它是主程序,因此退出程序。

cin>
使用空格来分隔输入。读取一个字符串,缓冲区中仍有剩余内容,因此等待
是的操作失败。使用
std::getline