【ThinkingInC++】21、关于C的习题(3)

/**
*功能:使用while循环从标准输入(cin)中吧单词读入到string中。这是一个“无穷”
*   while循环,可以使用break语句中断(和退出程序)。对于读入的单词用系列if语句吧
*   该单词“映射”为一个整数值,然后用该整数值作为一个switch语句的选择条件
*   的意义。同上判定那个单词是程序的结束标志,用文件输出啦测试程序
*时间:2014年8月15日08:22:17
*作者::cutter_point
*/

#include<iostream>
#include<cstdlib>
#include<vector>
#include<string>
#include<fstream>

using namespace std;

//设计一个类,包括所有功能
class operatorText
{
public:
//    operatorText()=default;
    operatorText(string s=""):s(s){}
    //标准输入(cin)中吧单词读入到string中
    void inWord(istream &is);
    //整数值作为一个switch语句的选择条件的意义
    string theMeanOfInt();
    //读入的单词用系列if语句吧该单词“映射”为一个整数值,只要在类内部行动就可以了
    void wordToInt();

private:
    //存放一个单词
    string s;
    //存放这个单词相应的整数
    int is;
};

//标准输入(cin)中吧单词读入到string中
void operatorText::inWord(istream &is)
{
    //输入一个单词,保存到类中
    cout<<"\n输入单词:";
    string ps;
    is>>ps;
    this->s=ps;
}

/*
读入的单词用系列if语句吧该单词“映射”为一个整数值,
void wordToInt(const string s, int &is);
*/
void operatorText::wordToInt()
{
    if(s=="i" || s=="I")
    {
        is=5;
    }
    else if(s=="love" || s=="Love" || s=="LOVE")
    {
        is=5;
    }
    else if(s=="China")
    {
        is=5;
    }
    else
    {
        is=1;
        cout<<"\n单词"<<s<<"是:"<<is<<endl;
    }
}

/*
整数值作为一个switch语句的选择条件的意义
string theMeanOfInt();
*/
string operatorText::theMeanOfInt()
{
    string ps;
    switch(is)
    {
    case 1:
        ps=s+":这个单词小case.";
        //cout<<s<<":这个单词小case."<<endl;
        break;
    case 5:
        ps=s+":重量级单词小心。";
        //cout<<s<<":重量级单词小心。"<<endl;
        break;
    default:
        ps="这是什么单词?";
        //cout<<"这是什么单词?"<<endl;
    }
    return ps;
}

int main()
{

    cout<<"输入“i”进入程序执行功能。"<<endl;
    cout<<"输入”q“退出程序"<<endl;
    char panDuan;
    cin>>panDuan;
    if(panDuan == 'i')
    {
        while(1)
        {
            //创建一个单词对象
            operatorText ot("haha");
            ot.inWord(cin);    //输入单词
            ot.wordToInt();
            //输入单词的意义
            cout<<ot.theMeanOfInt()<<endl;
            //cout<<"asdasdasda"<<endl;
        }
    }
    else if(panDuan == 'q')
    {
        system("pause");
        return 0;
    }
    else
    {
        cout<<"不好意思,程序其他功能还在开发中"<<endl;
        system("pause");
        return 0;
    }
}

【ThinkingInC++】21、关于C的习题(3)

时间: 2024-08-10 15:09:03

【ThinkingInC++】21、关于C的习题(3)的相关文章

C++程序设计原理与实践 第二十一章部分答案

1 #include <iostream> 2 #include <vector> 3 #include <string> 4 #include <list> 5 #include<fstream> 6 #include<algorithm> 7 #include<stdexcept> 8 using namespace std; 9 10 struct Item 11 { 12 string name; 13 int i

《UNIX环境高级编程(第3版)》

<UNIX环境高级编程(第3版)> 基本信息 原书名:Advanced Programming in the UNIX Environment (3rd Edition) (Addison-Wesley Professional Computing Series) 原出版社: Addison-Wesley Professional 作者: (美)W. Richard Stevens    Stephen A. Rago 译者: 戚正伟 张亚英 尤晋元 出版社:人民邮电出版社 ISBN:9787

2014年至今的博文目录(更新至2017年06月12日)

拓扑学中凝聚点的几个等价定义(2017-06-12 07:51) 江苏省2017年高等数学竞赛本二试题(含解答)(2017-06-10 20:59) 裴礼文数学分析中的典型问题与方法第4章一元函数积分学练习(2017-06-10 11:04) 2017年厦门大学第十四届景润杯数学竞赛试卷(数学类)评分标准(2017-06-05 15:31) 2017年华东师范大学数学竞赛(数学类)试题(2017-06-05 15:28) 裴礼文数学分析中的典型问题与方法第3章一元微分学练习(2017-05-30

练习题讲解

掌握]08-练习题讲解 设计一个”狗“类  1> 属性  * 颜色  * 速度(单位是m/s)  * 性别  * 体重(单位是kg)    2> 行为  * 吃:每吃一次,体重增加0.5kg,输出吃完后的体重  * 吠(叫):输出所有的属性  * 跑:每吃一次,体重减少0.5kg,输出速度和跑完后的体重  * 比较颜色:跟别的狗比较颜色,如果一样,两个值做减法得零,返回NO(零值),不一样,做减法得到非零值,返回YES(1)  * 比较速度:跟别的狗比较速度,返回速度差(自己的速度 - 其他狗

SICP 习题 (2.21)解题总结: map的使用

SICP 习题 2.21 开始引入了map,准确来讲,是这道题目前的文章内容开始引入了map. 为了完成本习题,甚至说为了完成本文以后的阅读,请读者一定要理解清楚map的概念,正如书中所说,"map是一种很重要的结构,不仅因为它代表了一种公共模式,而且因为它建立起了一种处理表的高层抽象". 虽然说得非常高大上,但是map的概念理解起来并不困难,最基本的理解就是给你一组东西,你对这组东西执行map操作的话,就是把这组东西里面的成员逐个拿出来执行对应操作. 比如(map  做朋友  土豪们

【ThinkingInC++】19、关于C的习题(1)

/** *功能:建立一个头文件,声明一组函数,具有可变参数,返回值包括void,char, *int,float.建立一个包含上述头文件的.cpp文件,创建所有这些函数的定义.每个 *定义应该简单地输出函数名,参数列表,并返回类型以便知道它已经被调用. *创建另外一个.cpp文件,它包含头文件且定义int main(),在其中调用已经定义的所有 *函数. *时间:2014年8月15日08:18:02 *作者:cutter_point */ #ifndef TEST1_H_INCLUDED #de

【ThinkingInC++】20、关于C的习题(2)

/** *功能:编写一个程序使用两重for循环和模运算符(%)去寻找和输出质数(只能被1和它本身 *整除的整数). *时间:2014年8月15日08:19:48 *作者:cutter_point */ #include<iostream> #include<cstdlib> using namespace std; //写一个函数输出质数(只能被1和它本身*整除的整数) void printZhiShu(int n) //给出0到多少的数之间的质数 { cout<<1&

习题 2-1 位数 2-2 水仙花数 2-3 韩信点兵 2-4倒三角形 2-6 调和级数 2-7近似计算 2-8 子序列的和

2-1 位数 #include<stdio.h> #include<math.h> int main () { int n; for (n=100; n<=999; n++) { if(n == pow(n/100,3) + pow(n/10%10,3) + pow(n%10,3) ) printf("%d\n",n); } system("PAUSE"); return EXIT_SUCCESS; } 2-2 水仙花数 #includ

算法竞赛入门经典习题2-1 位数

1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) { 4 int m,n=0; 5 while(scanf("%d",&m)!=EOF) 6 { 7 n=0; 8 while(m>0) 9 { 10 m/=10; 11 n++; 12 } 13 printf("%d\n",n); 14 } 15 return 0; 16 }