发布日期:2016-01-05 16:52 来源: 标签: 编程语言 开发语言 C++入门教程 C++大小写转换
本章主要学习使用string来实现小写字符串转换为大写字符串程序,下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。

下面是运行截图:

   

    下面是案例代码:

#include <iostream>
#include <cctype>//for toupper()
#include <string>//for string class to use
using namespace std;
void convert(string & ps);
int main()
{
    string str;
    cout<<"请输入一串字符(q表示退出): ";
    cin>>str;
    while("q"!=str)
    {   
        convert(str);
        cout<<"请输入一串字符(q表示退出): ";
        cin>>str;
    }
    cout<<endl;
    system("pause");//使程序结束时暂停画面
    return 0;
}
void convert(string & str)
{
    
    //string对象只能用成员函数size()来获取string对象的字符数,不能用strlen()(头文件为cstring.h)。strlen()是统计字符数组的字符数用的
    unsigned int i=0;
    char ch;
    cout<<"输入了"<<str.size()<<"个字符.";
    cout<<"\n转换成大写字母:";
    while(i<str.size())//并不是以空字符来表示字符串的结尾,因此不能用末尾是否是空字符来判定字符串结尾
    {
        //字符串对象可以像数组一样使用
        ch = toupper(str[i]);
        cout<<ch;
        i++;
    }
    cout<<endl;
    return;
}

    代码很简单,只是给不熟悉C++的一个小程序代码参考而已,勿喷。

    程序功能逻辑:

    在main函数中循环检测string变量的值是否为单个的字母q,以确定是否要结束程序。如果不为q,则不断的循环程序,可以实现多次转换。然后就将输入所得的string变量的值传入自己写的函数,在main函数的while循环中,控制程序的整体的流程,而准换流程则放在convert函数中执行和输出,这样避开逻辑混乱。

    在convert中,用变量i对string变量中的每一个字母进行遍历递增索引,与字符串的长度对比,以确定字符串遍历结束。这里可以看出可以将string当做字符数组一样使用,很方便。因为string重载了操作符[],所以可以这么使用。每遍历一个字母,都调用toupper函数将字母转换为大写字母。这里就是程序的核心了。

    你可以扩展下,就可以有神奇的效果。比如,在这里你可以对字母运算,按照一定的规则,比如对字符编码+1或者通过一个公式计算,得到一个新的编码,则输出的就是编码后的字母,这个就是加密的原理了。然后通过公式的逆计算,就是解密过程了。至于还有什么神奇的用途,自己去扩展吧。

    convert里的while循环,用于将字符串中的每一个字母转换为大写的。


相关评论

专题信息
    Visual C++是一个功能强大的可视化软件开发工具,是高等院校计算机及相关专业主要核心课程。 本教程对Visual C++ 的应用与开发进行了详细系统的介绍,内容主要包括:Visual C++程序的建立,菜单、工具栏和状态栏的创建,对话框和常用控件,窗口、文档与视图,图形绘制,数据库应用,多媒体技术等。 本教程以案例教学为主,各章节都附有大量的实例,并且操作步骤详细,有利于引导读者更好的消化、理解和实际应用本章节所学的知识内容,希望大家能多多支持中国站长网络学院!