chapter-5

2932 ワード

C++Primer第五章!
'''
include "stdafx.h"
include
include
include
include
include
using namespace std;
int main(){//空文;//いくつかの文法には文が必要ですが、論理的に必要でない場合は空文が必要です.空文を使用する場合は注釈を付けて理解しやすいようにしてください.
//    ,     。          。         !
{
    ;
}
//    
const vector scores = { "F","D","C","B","A","A++" };
double grade = 70;
if (grade < 60)
    cout << scores[0] << endl;
else
{
    cout << scores[(grade - 50) / 10];
}                                           //if           

map cnt = { {'a',0},{ 'e',0 } ,{ 'i',0 } ,{ 'o',0 } ,{ 'u',0 } };
char ch;
int numbers_cnt = 0;
while (++numbers_cnt <= 6 && cin>>ch)
{
    switch (ch)
    {
    case 'a':               //case            
        ++cnt.at(ch);
        break;              //break      ,     break,                
    case 'e':
        ++cnt.at(ch);
        break;
    case 'i':
        ++cnt.at(ch);
        break;
    case 'o':
        ++cnt.at(ch);
        break;
    case 'u':
        ++cnt.at(ch);
        break;
    default:                //        case       ,      default  。
        break;
    }
}
auto map_cnt = cnt.cbegin();
while (map_cnt != cnt.cend())       //       map  
{
    cout << map_cnt->first << ":" << map_cnt->second << endl;
    ++map_cnt;
}

int i_swich = 2;
switch (i_swich)                    // switch     ,                  !
{
case 1:
    //string  file_name;                ,       file_name        
    //int ival = 0;                     ,       ival        
    int jval;                       //  ,   ,    !
    break;
case 2:
    jval = 0;
    //cout << file_name.empty();
default:
    break;
}

//    ,                
//while(cin>>i)                       ,      
//for(decltype(i) j=0;j<5;++j)  for   
//for(auto i:cnt)               for  ,     、   
vector v = { 1,2,3,4,5 };
for (auto &i : v)
{
    i = i * 2;
}
for (auto beg = v.begin(); beg != v.end(); ++beg)
{
    auto &r = *beg;
    r = r * 2;
}
auto beg = v.cbegin();
while (beg != v.cend())
{
    cout << *beg << "-";
    ++beg;
}
cout << endl;

//    , break/continue/goto/return
//break,       ;continue,  for、while           ;goto,        ,     !

//try        
//throw   ,      ;try   ,      

try {
    throw runtime_error("Error!");          //    ,     。  ,  ,  !
}
catch (runtime_error err)                   //runtime_error        ,    const char*     。
{
    cout << err.what() << endl;             //        try         ,     terminate            。
}
cin.ignore();
return 0;

}''//本章では、C++でよく見られる文構造について説明し、C++が異常処理を行う方法について説明します.