C语言 编译器是DEV
题目二:摇摆鹅玩具系统(一)情景描述
有一种摇摆鹅玩具,身上有三个按钮。按下中间按钮会开启或关闭玩具;按下左边按钮会播放故事,默认循环播放三个故事分别为“小猫钓鱼”、“龟兔赛跑”、“乌鸦喝水”;按下右边按钮时摇摆鹅就摇摆着走路循环唱“数鸭歌”。
(二)功能实现要求
实现情景描述中的功能;
(三)代码要求
1.程序有良好的人机交互界面设计;
2.程序整体书写规范,有注释,可读性好;
3.程序中循环需使用不同方式实现 本帖最后由 tommyyu 于 2022-11-30 11:03 编辑
这个题目具体要求编写一个操纵玩具的程序,还是窗口程序,还是输入输出交互程序?如果是窗口程序或是输入输出交互程序,题目中所说播放音乐、来回走动应如何实现?如果是操纵玩具的程序,玩具具体是什么样子?有哪些操纵玩具的方法? 输入输出就行,不用真的放歌,就是按下哪个按钮发生什么输出出来就好{:10_266:}
#include <stdio.h>
int open = 0; /*玩具是否开启*/
const char * stories = {"小猫钓鱼", "龟兔赛跑", "乌鸦喝水"};
/*讲的故事*/
void open_close() { /*开或关*/
if (open == 0) printf("已打开,欢迎使用!\n");
else printf("已关闭,再见!\n");
open = !open;
}
void tell_stories() { /*讲故事*/
if (!open) {
puts("错误!您没有打开玩具,请输入1打开!");
return;
}
while (1) {
for (int i = 0; i < 3; ++i) {
printf("正在播放:%s\n", stories);
/*询问是否播放下一个故事*/
printf("是否播放下一个故事:%s?(1表示继续,0表示结束)", stories[(i + 1) % 3]);
int opt;
scanf("%d", &opt);
if (!opt) return; /*不想听了就退出*/
}
}
}
void sing() { /*唱歌*/
if (!open) {
puts("错误!您没有打开玩具,请输入1打开!");
return;
}
while (1) {
printf("正在播放:数鸭歌...\n");
printf("是否继续播放?(1表示继续,0表示结束)");
int opt;
scanf("%d", &opt);
if (!opt) return; /*不想听了就退出*/
}
}
int main() {
printf("欢迎使用摇摆鹅玩具系统!\n");
while (1) {
int opt;
printf("输入1打开或关闭,输入2讲故事,输入3唱歌:");
scanf("%d", &opt);
switch (opt) {
case 1: open_close(); break;
case 2: tell_stories(); break;
case 3: sing(); break;
default: printf("请输入正确的指令!\n");
}
}
}
页:
[1]