#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <windows.h> // 用于 Beep 函数
// 定义颜色设置函数
void color(int col)
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, col);
}
// 定义最大行长度和缓冲区大小
#define MAX_LINE_LENGTH 1024
#define BUFFER_SIZE 10240
// 读取文件内容并显示
void readFile(char *filename) {
FILE *file = fopen(filename, “r”);
if (file == NULL) {
printf(“无法打开文件 %s\n”, filename);
return;
}
char line[MAX_LINE_LENGTH];
while (fgets(line, MAX_LINE_LENGTH, file)!= NULL) {
printf("%s", line);
}
fclose(file);
}
// 输入内容并保存到文件
void writeFile(char *filename) {
FILE *file = fopen(filename, “w”);
if (file == NULL) {
printf(“无法创建或打开文件 %s 进行写入\n”, filename);
return;
}
printf("输入要保存的内容,输入'q'结束输入:\n");
char line[MAX_LINE_LENGTH];
while (1) {
printf("> ");
fgets(line, MAX_LINE_LENGTH, stdin);
line[strcspn(line, "\n")] = '\0'; // 去除换行符
if (strcmp(line, "q") == 0) {
break;
}
fprintf(file, "%s\n", line);
}
fclose(file);
}
int main()
{
int x;
int g = 1;
while (g) // 利用 g 来判断是否继续进行游戏
{
for (;;)
{
printf("符号排列组合帮助:\n【0 是 2 个符号 2 位数排列组合】\n【1 是 2 个符号 3 位数排列组合】\n\n\n【2 是 3 个符号 2 位数排列组合】\n【3 是 3 个符号 3 位数排列组合】\n\n\n【4 是数字画图程序】\n【5 是简谱播放程序】\n【6 是文档编辑程序】\n\n\n");
printf("请输入数字选择\n");
scanf("%d", &x);
switch (x)
{
case 0:
{
char a[2][20]; // 扩大字符数组的大小以容纳更多字符
printf("请输入 2 个符号\n");
for (int i = 0; i < 2; i++)
scanf("%s", a[i]);
for (int j = 0; j < 2; j++)
for (int k = 0; k < 2; k++)
printf("%s%s\n", a[j], a[k]);
break;
}
case 1:
{
char b[2][20]; // 扩大字符数组的大小以容纳更多字符
printf("请输入 2 个符号\n");
for (int i = 0; i < 2; i++)
scanf("%s", b[i]);
for (int j = 0; j < 2; j++)
for (int k = 0; k < 2; k++)
for (int l = 0; l < 2; l++)
printf("%s%s%s\n", b[j], b[k], b[l]);
break;
}
case 2:
{
char c[3][20]; // 扩大字符数组的大小以容纳更多字符
printf("请输入 3 个符号\n");
for (int i = 0; i < 3; i++)
scanf("%s", c[i]);
for (int j = 0; j < 3; j++)
for (int k = 0; k < 3; k++)
printf("%s%s\n", c[j], c[k]);
break;
}
case 3:
{
char d[3][20]; // 扩大字符数组的大小以容纳更多字符
printf("请输入 3 个符号\n");
for (int i = 0; i < 3; i++)
scanf("%s", d[i]);
for (int j = 0; j < 3; j++)
for (int k = 0; k < 3; k++)
for (int l = 0; l < 3; l++)
printf("%s%s%s\n", d[j], d[k], d[l]);
break;
}
case 4:
{
char z[200];
printf("\n\n\n 数字画图帮助:0 是黑色,1 是蓝色,2 是绿色,3 是湖蓝色,4 是红色,5 是紫色,6 是黄色,7 是白色,8 是灰色,9 是淡蓝色,a 是淡绿色,b 是淡绿色,c 是淡红色,d 是淡紫色,e 是淡黄色,f 是亮白色,- 是空格,/ 是换行。\n\n\n");
printf("请输入数字\n");
scanf("%s", z);
for (int i = 0; i < 200; i++)
{
switch (z[i])
{
case '-':
printf(" ");
break;
case '/':
printf("\n");
break;
case '0':
color(0);
printf("■");
break;
case '1':
color(1);
printf("■");
break;
case '2':
color(2);
printf("■");
break;
case '3':
color(3);
printf("■");
break;
case '4':
color(4);
printf("■");
break;
case '5':
color(5);
printf("■");
break;
case '6':
color(6);
printf("■");
break;
case '7':
color(7);
printf("■");
break;
case '8':
color(8);
printf("■");
break;
case '9':
color(9);
printf("■");
break;
case 'a':
color(10);
printf("■");
break;
case 'b':
color(11);
printf("■");
break;
case 'c':
color(12);
printf("■");
break;
case 'd':
color(13);
printf("■");
break;
case 'e':
color(14);
printf("■");
break;
case 'f':
color(15);
printf("■");
break;
default:
printf("\n");
break;
}
}
break;
}
case 5:
{
char y[10];
printf("\n\n 蜂鸣简谱播放帮助:- 是音符时值,1 是多,2 是来,3 是米,4 是发,5 是索,6 是拉,7 是七。\n\n\n");
printf("请输入数字\n");
scanf("%s", y);
for (int i = 0; i < 10; i++)
{
switch (y[i])
{
case '-':
printf("-");
Beep(0, 500);
break;
case '1':
printf("1");
Beep(523, 500);
break;
case '2':
printf("2");
Beep(587, 500);
break;
case '3':
printf("3");
Beep(659, 500);
break;
case '4':
printf("4");
Beep(698, 500);
break;
case '5':
printf("5");
Beep(784, 500);
break;
case '6':
printf("6");
Beep(880, 500);
break;
case '7':
printf("7");
Beep(980, 500);
break;
}
}
break;
}
case 6:
{{
int choice;
char filename[100];
do {
printf("1. 读取文件\n");
printf("2. 输入并保存到文件\n");
printf("3. 继续编辑\n");
printf("4. 退出\n");
printf("请选择操作: ");
scanf("%d", &choice);
printf("请输入文件名: ");
scanf("%s", filename);
switch (choice) {
case 1:
readFile(filename);
break;
case 2:
writeFile(filename);
break;
case 3:
// 继续编辑的逻辑
printf("继续编辑\n");
break;
case 4:
printf("退出程序\n");
return 0;
default:
printf("无效的选择\n");
break;
}
} while (1);
return 0;
}
}
{
default:
printf(“输入错误,请重新输入!”);
break;
}
printf("Wanna continue 想继续吗? 1.continue 继续 0.exit 退出\n");
scanf("%d", &g);// 选择是否继续
}
}
return 0;
}
}
以前的版本是Dev-C++5.1.1的c程序。以前版本在这Dev-C++6.7.5版本的C语言编译器可能无法通过。
现在的程序已经通过Dev-C++6.7.5版本的C语言编译。