开发者社区> 贺利坚> 正文

《C语言及程序设计》实践项目——枚举应用

简介: 返回:贺老师课程教学链接 【项目1-对称点】 设计函数,可以按指定的方式,输出一个平面点的对称点 下面给出枚举类型定义和main函数(测试函数),请写出output函数的实现。 #include<stdio.h> enum SymmetricStyle {axisx, axisy, point};//分别表示按x轴, y轴, 原点对称三种方式 void
+关注继续查看

返回:贺老师课程教学链接

【项目1-对称点】
设计函数,可以按指定的方式,输出一个平面点的对称点
下面给出枚举类型定义和main函数(测试函数),请写出output函数的实现。

#include<stdio.h>
enum SymmetricStyle {axisx, axisy, point};//分别表示按x轴, y轴, 原点对称三种方式
void output(double,double,enum SymmetricStyle);
int main()
{
    double x,y;
    printf("输入点的坐标:");
    scanf("%lf %lf", &x, &y);
    printf("关于x轴的对称点是:");
    output(x,y,axisx);
    printf("关于y轴的对称点是:");
    output(x,y,axisy);
    printf("关于坐标原点的对称点是:");
    output(x,y,point);
    return 0;
}

这里写图片描述

[参考解答]


【项目2-敲了哪一个键?】
在应用中,常需要检测键盘上敲了哪一个键。每个输入的键都对应一个键值(我们熟悉的字母、数字等,键值就是其ASCII码)。在一些游戏、控制程序中,常用到的,诸如上下左右方向键、PgDn和PgUp这样的翻页键,以及ESC退出键等。用getch()捕获键盘输入,若输入的是PgDn(下一页,键值161)、PgUp(上一页,键值153),就给出提示,若是其他键,将输出符号及其对应的键值,直到输入ESC(键值27)后,程序结束。

#include <stdio.h>
#include <conio.h>
int main()
{
    int ch;
    do{
        ch=getch();  //从键盘读入
        //若关于键盘管理的知识积累不够,请暂时不必搞懂这个if语句中的处理
        if ( ch == 0xe0 )    
        {
            ch=getch();
            ch+=80; 
        }
        //从下面开始读懂程序
        if ( ch == 161 )
            printf("PageDown\n");
        else if ( ch == 153 )
            printf("PageUp\n");
        else
            printf("ch=%c keyValue=%d\n", ch, ch);
    } while (ch != 27 ); //ESC 退出
    return 0;
}

(1)请运行程序,记录下用于控制光标的八个键(→↑↓←四个方向键,以及Home、End、PgDn、PgUp)的键值。
(2)改造上面的程序,使其在输入控制光标的八个键后,能够提示相关的信息(对应在游戏和控制程序中,用于完成相应的动作,如游戏中,按→,将发动攻击)。要求:在程序中,直接写出ch == 161之类的代码,程序的可读性太差了,请自定义并使用枚举类型,编写出“专业”的程序来。
[参考解答]

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C语言《数据结构》栈的应用——进制转换;
C语言《数据结构》栈的应用——进制转换;
14 0
C语言实现嵌入式状态机简单描述与应用
C语言实现嵌入式状态机简单描述与应用
38 0
11【C语言 & 趣味算法】个人所得税问题(结构体应用):结构体的声明、定义结构体类型的三种方法等
11【C语言 & 趣味算法】个人所得税问题(结构体应用):结构体的声明、定义结构体类型的三种方法等
75 0
03【C语言 & 趣味算法】(值得品味的一道题)打鱼还是晒网?结构体的简单应用。函数的应用。判断闰年的应用。求指定日期距1990年1月1日的天数。
03【C语言 & 趣味算法】(值得品味的一道题)打鱼还是晒网?结构体的简单应用。函数的应用。判断闰年的应用。求指定日期距1990年1月1日的天数。
26 0
C语言使用结构体模拟选举的小应用
C语言使用结构体模拟选举的小应用
20 0
C语言中无类型指针应用源码
C语言中无类型指针应用源码
33 0
以计算器简单应用的C语言函数调用源码
以计算器简单应用的C语言函数调用源码
16 0
C语言可以应用在哪些领域?
在计算机编程语言中,C语言是用的最多的一种语言,也是目前最为热门的一种编程语言之一。例如嵌入式的C51单片机、ARM的CORTE-M3/4等系列芯片下编程,绝大多数情况下都是用C语言进行编程以及产品开发的。
47 0
【递归调用在二叉树中的应用】前序遍历、中序遍历、后序遍历、求二叉树叶子结点及复制二叉树的C语言实现
【递归调用在二叉树中的应用】前序遍历、中序遍历、后序遍历、求二叉树叶子结点及复制二叉树的C语言实现
25 0
+关注
贺利坚
烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
为什么要学函数式编程?
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载