实验1的运行过程及心得体会

       本次实验是从学习c++开始的第一次实验,实验内容比较简单也比较基础,通过对书本自学以及自己的摸索基本可以完成此次实验。这次实验主要的目的是让我们熟悉c++的编程环境,体验c++下程序的运行,总体来说难度不大。

       本次实验总共有两个编程练习,首先第一个练习是通过输入1到7之间的整数,输出不同的结果,简单来说就是对输入内容进行判断,并进行不同输出。老师推荐的是switch结构,于是我首先用switch结构进行了编程,代码及结果如下

#include<iostream>
using namespace std;
int main()
{
    int day;
    cout<<"Please input a number from 1 to 7"<<endl;
    cin>>day;
    switch(day)
    {
        case 1:
            cout<<"workday. Let’s work hard"<<endl;
        break;
        case 2:
            cout<<"workday. Let’s work hard"<<endl;
        break;
        case 3:
            cout<<"workday. Let’s work hard"<<endl;
        break;
        case 4:
            cout<<"workday. Let’s work hard"<<endl;
        break;
        case 5:
            cout<<"workday. Let’s work hard"<<endl;
        break;
        case 6:
            cout<<"weekend. Let’s have a rest." <<endl;
        break;
        case 7:
            cout<<"weekend. Let’s have a rest." <<endl;
        break;
        default:
            cout<<"Day out of range Sunday...Saturday"<<endl;
            break; 
    }
    return 0;
}

可以看出,通过switch结构,可以对不同的输入精确判断,从而达到不同的输出目的;但我个人觉得switch结构略显繁琐,当输入种类多时代码量很大,不便于操作。于是我又尝试了if...else的结构,代码及结果如下

#include<iostream>
using namespace std;
int main()
{
    int day;
    cout<<"Please input a number from 1 to 7"<<endl;
    cin>>day;
    if (1<=day<=5)
    cout<<"workday. Let’s work hard"<<endl;
    else if(6<=day<=7)
    cout<<"weekend. Let’s have a rest."<<endl;
    else
    cout<< "Day out of range Sunday...Saturday"<<endl;

    return 0;
}

 

不难看出,else...if结构相对于switch结构代码量小很多,但与此同时这个结构也存在缺点,就是对输入内容的判断不如switch结构来的精确到位;两种结构各有优缺点,需要针对具体情况来选择。

       第二个实验是将输入的整数进行倒置,书上提供的方法是将整数循环用10取余,直到结束,并输出每一次的结果,代码及结果如下

#include<iostream>
using namespace std;
int main()
{
    int num,p;
    cout<<"Enter the number:";
    cin>>num;
    cout<<"The number in reverse order is";
    do{
        p=num%10;
        cout<<p;
        num/=10;
    }
    while(num!=0);
    cout<<endl;
    return 0;
}

通过这种方法可以很轻松的实现目标,但是作业中的要求是将结果以一个整数的形式输出,因此我便考虑在原代码的基础上加上调用函数以实现这一目的,改进后的代码如下

#include<iostream>
using namespace std;
int fun(int x);
int main()
{
    int num1,num2;
    cout<<"Enter the number:";
    cin>>num1;
    num2=fun(num1);
    cout<<"The number in reverse order is:"<<num2;
    return 0;
}
int fun(int x)
{
    int p,q=0;
    while(x)
    {
        p=x%10;
        x/=10;
        q*=10;
        q+=p;
    }
    return q;
}

总结与体会:

本次实验总体来说难度较低,可以比较轻松的完成,在实验过程中我初步体会到了c++的编程环境,对c++有了一定的了解。此外,我了解到了对同一个目标可以通过多种不同的方法来实现,各种方法都有各自的优缺点,需要通过具体情况来判断选择哪一种方法。同时,有些代码是可以化繁为简的,如何将复杂的代码简单化是我必须要学习的;最后,c++的学习是一个不断攻克error和warning的过程,需要大量的实践,单纯的看书是没有用处的,必须将学和做结合在一起,才能达到最好的学习效果。

 

posted on 2018-03-12 21:14 邪王真眼 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/z3djoker/p/8552008.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值