鱼C论坛

 找回密码
 立即注册
查看: 2464|回复: 3

[已解决]C语言 编译器是DEV

[复制链接]
匿名鱼油
匿名鱼油  发表于 2022-11-30 10:23:53 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目二:摇摆鹅玩具系统
(一)情景描述
有一种摇摆鹅玩具,身上有三个按钮。按下中间按钮会开启或关闭玩具;按下左边按钮会播放故事,默认循环播放三个故事分别为“小猫钓鱼”、“龟兔赛跑”、“乌鸦喝水”;按下右边按钮时摇摆鹅就摇摆着走路循环唱“数鸭歌”。
(二)功能实现要求
实现情景描述中的功能;
(三)代码要求
1.程序有良好的人机交互界面设计;
2.程序整体书写规范,有注释,可读性好;
3.程序中循环需使用不同方式实现
最佳答案
2022-12-1 14:14:14
  1. #include <stdio.h>

  2. int open = 0; /*玩具是否开启*/
  3. const char * stories[3] = {"小猫钓鱼", "龟兔赛跑", "乌鸦喝水"};
  4. /*讲的故事*/

  5. void open_close() { /*开或关*/
  6.         if (open == 0) printf("已打开,欢迎使用!\n");
  7.         else printf("已关闭,再见!\n");
  8.         open = !open;
  9. }

  10. void tell_stories() { /*讲故事*/
  11.         if (!open) {
  12.                 puts("错误!您没有打开玩具,请输入1打开!");
  13.                 return;
  14.         }
  15.         while (1) {
  16.                 for (int i = 0; i < 3; ++i) {
  17.                         printf("正在播放:%s\n", stories[i]);
  18.                         /*询问是否播放下一个故事*/
  19.                         printf("是否播放下一个故事:%s?(1表示继续,0表示结束)", stories[(i + 1) % 3]);
  20.                         int opt;
  21.                         scanf("%d", &opt);
  22.                         if (!opt) return; /*不想听了就退出*/
  23.                 }
  24.         }
  25. }

  26. void sing() { /*唱歌*/
  27.         if (!open) {
  28.                 puts("错误!您没有打开玩具,请输入1打开!");
  29.                 return;
  30.         }
  31.         while (1) {
  32.                 printf("正在播放:数鸭歌...\n");
  33.                 printf("是否继续播放?(1表示继续,0表示结束)");
  34.                 int opt;
  35.                 scanf("%d", &opt);
  36.                 if (!opt) return; /*不想听了就退出*/
  37.         }
  38. }

  39. int main() {
  40.         printf("欢迎使用摇摆鹅玩具系统!\n");
  41.         while (1) {
  42.                 int opt;
  43.                 printf("输入1打开或关闭,输入2讲故事,输入3唱歌:");
  44.                 scanf("%d", &opt);
  45.                 switch (opt) {
  46.                         case 1: open_close(); break;
  47.                         case 2: tell_stories(); break;
  48.                         case 3: sing(); break;
  49.                         default: printf("请输入正确的指令!\n");
  50.                 }
  51.         }
  52. }
复制代码
回复

使用道具 举报

发表于 2022-11-30 11:01:48 | 显示全部楼层
本帖最后由 tommyyu 于 2022-11-30 11:03 编辑

这个题目具体要求编写一个操纵玩具的程序,还是窗口程序,还是输入输出交互程序?如果是窗口程序或是输入输出交互程序,题目中所说播放音乐、来回走动应如何实现?如果是操纵玩具的程序,玩具具体是什么样子?有哪些操纵玩具的方法?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-30 13:51:16 | 显示全部楼层
输入输出就行,不用真的放歌,就是按下哪个按钮发生什么输出出来就好
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-12-1 14:14:14 | 显示全部楼层    本楼为最佳答案   
  1. #include <stdio.h>

  2. int open = 0; /*玩具是否开启*/
  3. const char * stories[3] = {"小猫钓鱼", "龟兔赛跑", "乌鸦喝水"};
  4. /*讲的故事*/

  5. void open_close() { /*开或关*/
  6.         if (open == 0) printf("已打开,欢迎使用!\n");
  7.         else printf("已关闭,再见!\n");
  8.         open = !open;
  9. }

  10. void tell_stories() { /*讲故事*/
  11.         if (!open) {
  12.                 puts("错误!您没有打开玩具,请输入1打开!");
  13.                 return;
  14.         }
  15.         while (1) {
  16.                 for (int i = 0; i < 3; ++i) {
  17.                         printf("正在播放:%s\n", stories[i]);
  18.                         /*询问是否播放下一个故事*/
  19.                         printf("是否播放下一个故事:%s?(1表示继续,0表示结束)", stories[(i + 1) % 3]);
  20.                         int opt;
  21.                         scanf("%d", &opt);
  22.                         if (!opt) return; /*不想听了就退出*/
  23.                 }
  24.         }
  25. }

  26. void sing() { /*唱歌*/
  27.         if (!open) {
  28.                 puts("错误!您没有打开玩具,请输入1打开!");
  29.                 return;
  30.         }
  31.         while (1) {
  32.                 printf("正在播放:数鸭歌...\n");
  33.                 printf("是否继续播放?(1表示继续,0表示结束)");
  34.                 int opt;
  35.                 scanf("%d", &opt);
  36.                 if (!opt) return; /*不想听了就退出*/
  37.         }
  38. }

  39. int main() {
  40.         printf("欢迎使用摇摆鹅玩具系统!\n");
  41.         while (1) {
  42.                 int opt;
  43.                 printf("输入1打开或关闭,输入2讲故事,输入3唱歌:");
  44.                 scanf("%d", &opt);
  45.                 switch (opt) {
  46.                         case 1: open_close(); break;
  47.                         case 2: tell_stories(); break;
  48.                         case 3: sing(); break;
  49.                         default: printf("请输入正确的指令!\n");
  50.                 }
  51.         }
  52. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 01:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表