zoukankan      html  css  js  c++  java
  • 面向对象程序设计寒假作业1

    这个作业属于哪个课程 面向对象程序设计2020
    这个作业要求在哪里 面向对象程序设计寒假作业1
    这个作业的目标 1.安装C++开发环境(见附录)。2.完成问答题、实践题及编程题。3.发布博客。
    作业正文 1.问答题 2.实践题 3.编程题
    其他参考文献 正文中将会出现

    (一)问答题:

    回答以下问题:

    1、如果你不了解C++请回答以下问题:你认为C语言有什么缺陷(你觉得哪里用的不顺手)。

    答:有些数组或数字太大会溢出,就需要各种切换类型的操作,这让我感觉有点晕,会记不住。对于现在的我还没有完全地掌握C语言。
    还有一些运算符的优先级比较难以记忆,运用时仍需要翻阅书本查询。

    2、查阅相关资料,简述一下C语言/C++的编译过程。

    (二)实践题:

    自己动手,完成以下任务:

    1、查看自己的C++编译器版本。

    百度+群里讨论,终于勉勉强强把第一小题给完成了。刚开始还不是很懂得这个题目的意思,虽然一句很简单的话,但对我这样的菜鸟感觉文字都不能联系到一起了。好在结果还是好的,出来的页面是这个亚子
    借鉴的链接是这个https://blog.csdn.net/faithzzf/article/details/52328353(虽然查阅了很多资料,但比较看得懂的是这一个)
    一直不知道cl到底是什么意思,因为在层层目录中根本找不到cl,后来百度百科救我于苦海之中。附上链接https://baike.baidu.com/item/CL/7319305?fr=aladdin

    后来还想试试查询dv c++的版本,奈何一直成功不了,还通过命令行直接打开了dv c++,我是通过层层目录来找到它的


    如果输入devcpp.exe就会直接打开那个软件,有疑问的是,在后面的步骤中输入cl我不清楚查询的是vs的版本还是dv c++的版本

    2、使用命令行编译一份C语言/C++代码。


    每次弄到这就进行不下去了,实在不知道什么原因呀

    (三)编程题(请使用C语言或者C++完成以下题目):

    这道题涉及了加减法,先从简单的入手,就是编写一个计算的函数。

    int sum(int a,int b,int c,char d,char e)
    {
    	int s;
    	if(strcmp(d,"增加")==0)s=a+b;
    	else s=a-b;
    	if(strcmp(e,"增加")==0)s=s+c;
    	else s=s-c;
    	return s;
    }
    

    考虑到输入输出都是汉字,对于计算比较不好处理,所以编写了一个函数将汉字转化为数字来计算。

    int number(char a)
    {
    	int b;
    	if(strcmp(a,"一")==0)b=1;
    	else if(strcmp(a,"二")==0)b=2;
    	else if(strcmp(a,"三")==0)b=3;
    	else if(strcmp(a,"四")==0)b=4;
    	else if(strcmp(a,"五")==0)b=5;
    	else if(strcmp(a,"六")==0)b=6;
    	else if(strcmp(a,"七")==0)b=7;
    	else if(strcmp(a,"八")==0)b=8;
    	else if(strcmp(a,"九")==0)b=9;
    	else if(strcmp(a,"十")==0)b=10;
    	else b=0;
    	return b; 
    }
    

    但每次将某个字符赋值给一个自己设置的变量总是会出错,以前就经常出现这个问题,奈何太菜鸡,一直不知道是什么原因,如下图


    于是我将它改成直接输出,这样又省得再编写一个将数字转换为汉字的函数输出

    void print(int a)
    {
    	
    	if(a==0)printf("零"); 
    	else if(a==1)printf("一");
    	else if(a==2)printf("二");
    	else if(a==3)printf("三");
    	else if(a==4)printf("四");
    	else if(a==5)printf("五");
    	else if(a==6)printf("六");
    	else if(a==7)printf("七");
    	else if(a==8)printf("八");
    	else if(a==9)printf("九");
    	else printf("十");
    	 
    }
    

    主函数这这样的,我设置的变量比较多

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	int number(char a); 
    	void print(int a);
    	int sum(int a,int b,int c,char d,char e);
    	char a,b,c,d,x1,x2,x3,y1,y2,y3,e,f;
    	int z1,z2,z3,i;
    	scanf("%s %s %s %s",a,b,c,d);
    	scanf("%s %s %s",x1,x2,x3);
    	scanf("%s %s %s",y1,y2,y3);
    	scanf("%s %s",e,f);
    	z1=number(d);
    	z2=number(x3);
    	z3=number(y3);
    	i=sum(z1,z2,z3,x2,y2);
    	print(i);                                               
    	return 0;
     } 
    

    这是我对这题的大致思路,对于那个gbk编码我实在不知道怎么搞了。
    以上代码也因为出现了一些问题运行不了

  • 相关阅读:
    IO模型
    函数第一类对象,闭包,迭代器
    admin里面的注册模型类的写法
    升级pip
    Windows部署superset操作手册
    Python命名空间和作用域窥探
    使用CSS3画出一个叮当猫
    D
    [java]说说 JRE , JDK , JVM 三者之间的区别与联系
    H~N皇后问题
  • 原文地址:https://www.cnblogs.com/ponynice/p/12227276.html
Copyright © 2011-2022 走看看