抱歉,伙计们预先警告我编码很烂,但是有一个大项目需要帮助!
输入:一个完整的句子。
输出:句子的排序顺序(ASCii Chart Order)(忽略大小写。)
输出以下类别的直方图:
1)元音
2)辅音
3)标点符号
4)大写字母
5)小写字母
我不知道该做什么
由于您对自己的问题含糊不清,因此我建议您执行以下过程:
始终审查要求(作业)。如果有些项目您不理解或与您的客户(讲师)有相同的理解,请与您的客户讨论。
main
程序。写一个简单的main
或“Hello World!” 程序来验证您的 IDE 和其他工具。在继续之前让它工作。把事情简单化。
这是一个例子:
#include <iostream>
#include <cstdlib> // Maybe necessary for EXIT_SUCCESS.
int main()
{
std::cout << "Hello World!\n";
return EXIT_SUCCESS;
}
添加代码以执行输入、验证输入并回显到控制台。
#include <iostream>
#include <cstdlib> // Maybe necessary for EXIT_SUCCESS.
#include <string>
int main()
{
std::string sentence;
do
{
std::cout << "Enter a sentence: ";
std::getline(cin, sentence);
if (sentence.empty())
{
std::cout << "\nEmpty sentence, try again.\n\n"
}
} while (sentence.empty());
std::cout << "\nYou entered: " << sentence << "\n";
// Keep the console window open until Enter key is pressed.
std::cout << "\n\nPaused. Press Enter to finish.\n";
std::cin.ignore(100000, '\n');
return EXIT_SUCCESS;
}
为一个简单的需求添加代码,编译和测试。
运行后,进行备份。
重复直到所有要求都得到实施。
要对字符串进行排序,您可以使用标准的 c qsort 函数。要计算元音、辅音、标点符号……你需要一个简单的 for 循环。
这是一个工作示例:
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
int cmp(const void* pc1, const void* pc2)
{
if(*(char*)pc1 < *(char*)pc2) return -1;
if(*(char*)pc1 > *(char*)pc2) return 1;
return 0;
}
void main(int argc, char* argv[])
{
char pczInput[2000] = "A complete sentence.";
cout << endl << "Input: '" << pczInput << "'";
qsort(pczInput, strlen(pczInput), sizeof(char), cmp);
cout << endl << "Result: '" << pczInput << "'";
int iCapital = 0;
int iLowerCase = 0;
int iPunctuation = 0;
int iVowels = 0;
int iConsonants = 0;
for(unsigned int ui = 0; ui < strlen(pczInput); ++ui)
{
if(isupper(pczInput[ui])) ++iCapital;
if(islower(pczInput[ui])) ++iLowerCase;
if(ispunct(pczInput[ui])) ++iPunctuation;
if(strchr("aeiouAEIOU", pczInput[ui]) != NULL) ++iVowels;
if(strchr("bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ", pczInput[ui]) != NULL) ++iConsonants;
}
cout << endl << "Capital chars: " << iCapital;
cout << endl << "Lower case chars: " << iLowerCase;
cout << endl << "Punctuation chars: " << iPunctuation;
cout << endl << "Vowels chars: " << iVowels;
cout << endl << "Consonants chars: " << iConsonants;
cout << endl;
}
请注意,我使用 C 标准函数来计算大写、小写和标点符号,并且我必须使用 strchr 函数来计算元音和辅音,因为标准 C 库中缺少这些函数。
程序的输出是:
Input: 'A complete sentence.'
Result: ' .Acceeeeelmnnopstt'
Capital chars: 1
Lower case chars: 16
Punctuation chars: 1
Vowels chars: 7
Consonants chars: 10