QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 753|回复: 4

请大家帮下这个C++问题.

[复制链接]
发表于 2004-2-24 10:54:49 | 显示全部楼层 |阅读模式
我需要写一个小程序, 在用户输入一段话(英文)后, 判断这句话里有几个元音字母. 需要用到Class和Array. 请教大家的思路, 如果有代码的话就更好了.  
发表于 2004-2-24 22:45:28 | 显示全部楼层
  
回复

使用道具 举报

发表于 2004-2-25 10:09:00 | 显示全部楼层
元音字母?是指a e i o u (& A E I O U)吗?可以逐个读取字符进行判断,如果是,那么基数变量i就加一,全部扫描完一遍后,输出。
回复

使用道具 举报

发表于 2004-2-25 23:19:21 | 显示全部楼层
用C实现的

int f(char *str) {
int n = 0;

for (; *str; str++) {
if (*str == 'a' || *str == 'e' || *str == 'i' || *str == 'o' || *str == 'u')
n++;
}

return n;

}

没判断大写,自己加吧
回复

使用道具 举报

发表于 2004-3-5 10:17:00 | 显示全部楼层
多谢大家的帮助. 献丑一下, 将最后的代码发上来, 请多指教.



[code:1]//****************************************************************
// SPECIFICATION FILE (prog1.h)
// This file gives the specification of a CharType abstract data
// type and provides I/O port for accessing the class member.
//****************************************************************
                                                                                                                             
#ifndef CHAR_H                                          // Avoid multiple inclusion
#define CHAR_H                                          // of header files
                                                                                                                             
using namespace std;
                                                                                                                             
                                                                                                                             
class VowelType
{
public:
        int countVowels(int count, char str[]); // read from the array
                                                                       
// count the vowel
        void outString(char str[]);      // output the result
                                                                                                                             
private:
        int count;
        char str;
};
                                                                                                                             
#endif
[/code:1]


[code:1]//********************************************

// SPECIFICATION FILE (prog1.cpp)

// This file reads the input from the screen

// and counts how many vowels in that input.

// output the result to the screen

//

// Tues & Thur

//********************************************

#include <iostream>

#include "prog1.h"

using namespace std;

int main()

{

        VowelType Vowel;

        char str[255];

        int i;                                //control the array length

        int count=0;

        int loopCount;

        int loop = 0;






        cout << "How many strings you would want to input-->: ";

        cin >> loopCount;

        cin.get();



        // control how many strings have to do.

        while(loop < loopCount)

        {

                cout << "\nEnter your sentence here--> ";

                fgets(str, 255, stdin);





                i = strlen(str)-1;

                if(str[i]=='\n')

                str[i] = '\0';



                cout << endl << loop+1;

                cout << "\nThe sentence " <<'"'<< str << '"'<< " has " << Vowel.countVowels(count, str) << " vowels."<< endl;

                Vowel.outString(str);

                cout << endl;



                loop++;

        }





        cin.get();cin.get();

        return 0;

}
[/code:1]


[code:1]// Implimentation File

// Define Class function members



#include <iostream>

#include "prog1.h"



using namespace std;



// Read from the array, compare every character with vowel letters one by one.

int VowelType::countVowels(int count, char str[])

{

        int i;

        for (i=0; i < 255; i++)

        {

                if (str[i]=='A' || str[i]=='a' || str[i]=='E' || str[i]=='e'

                                || str[i]=='I' || str[i]=='i' || str[i]=='O'

                                || str[i]=='o' || str[i]=='U' || str[i]=='u' )

                        count++;

        }

        return count;

}



// Output the result

void VowelType::outString(char str[])

{

        int i;



        cout << "The words are:\n";

        for (i=0; i < strlen(str); i++)

        {

                if ((str[i] >= 65 && str[i] <= 90) ||

                        (str[i] >= 97 && str[i] <= 122))

                        cout << str[i];

                else if (str[i]==' ')

                        cout << '\n';

        }

       


}[/code:1]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 20:37 , Processed in 0.043554 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表