精华内容
下载资源
问答
  • 主要为大家详细介绍了使用C语言编写钢琴小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • C语言编写小程序

    2011-11-03 00:02:51
    使用C语言编写小程序 使用C语言编写小程序 使用C语言编写小程序 使用C语言编写小程序
  • C语言编写钢琴小程序

    万次阅读 2013-08-12 09:32:58
    网上搜索键盘钢琴,可以搜索到不少游戏,最常玩的就是Flash游戏,26个按键的 后来想用C语言自己实现一个,没有界面~~控制台的。。 原理很简单,先在控制台中获取按键事件,在按键事件中,开一个线程,这个...

    网上搜索键盘钢琴,可以搜索到不少小游戏,最常玩的就是Flash小游戏,26个按键的

    后来想用C语言自己实现一个,没有界面~~控制台的。。

    原理很简单,先在控制台中获取按键事件,在按键事件中,开一个线程,这个线程就是专门用来播放键对应的音效mp3的。

    为什么要用线程呢,因为直接按键播放的话,如果不把mp3播放完,就无法再播放同一mp3,用线程就没有这个问题了。

    线程函数中,就是使用mciSendString函数,打开然后播放对应的mp3文件。

    刚开始写完的时候很哈皮,可以弹奏了,从网上找了一些曲谱,弹的很开心,后来发现一个问题:

    弹了一段时间后,再按键就没有声音了,几经周折,找到了问题的解决办法,在线程函数中,播放mp3后,Sleep一段时间,然后Close它。

    因为每个key音都是3秒,所以Sleep时间就定为3000。

    下面是代码:

    #include <stdio.h>
    #include <process.h>
    #include <windows.h>
    #include <Mmsystem.h>
    #pragma comment ( lib, "Winmm.lib" )
    
    /*
    * 隐藏控制台光标
    */
    void HideTheCursor()
    {
        CONSOLE_CURSOR_INFO cciCursor;
        HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    	
        if(GetConsoleCursorInfo(hStdOut, &cciCursor)) {
            cciCursor.bVisible = FALSE;
            SetConsoleCursorInfo(hStdOut, &cciCursor);
        }
    }
    
    /*
    * 播放线程
    */
    unsigned _stdcall thread_play(LPVOID lpParam)
    {
    	char sz_command[126] = {0};
    	char sz_cur_play[32] = {0};
    
    	/*打开mp3文件*/
    	sprintf(sz_command, "open \"key\\%c.mp3\" alias key_%c", (WORD)lpParam, (WORD)lpParam);
    	mciSendString(sz_command, 0, 0, 0 );
    
    	sprintf(sz_cur_play, "key_%c", (WORD)lpParam);
    
    	/*播放*/
    	sprintf(sz_command, "play %s", sz_cur_play);
    	mciSendString(sz_command, 0, 0, 0 );
    	
    	/*3秒后关闭*/
    	Sleep(3000);
    	sprintf(sz_command, "close %s", sz_cur_play);
    	mciSendString(sz_command, 0, 0, 0);
    
    	return 0;
    }
    
    main()
    {
    	/*标准输入句柄*/
    	HWND h_console_in;
    	
    	/*输入记录*/
    	INPUT_RECORD input_rec;
    	DWORD res;
    
    	/*线程句柄*/
    	HANDLE h_thread_play = INVALID_HANDLE_VALUE;
    	unsigned id_thread_play;
    
    	printf("欢迎来到键盘钢琴!!\n\n");
    
    	HideTheCursor();
    	
    	/*获取标准输入句柄,并设置为接受输入*/
    	h_console_in = GetStdHandle(STD_INPUT_HANDLE);
    	SetConsoleMode(h_console_in, ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT);
    
    	while (1)
    	{
    		/*读取一个输入*/
    		ReadConsoleInput(h_console_in, &input_rec, 1, &res);
    		
    		/*刷新输入缓冲区*/
    		FlushConsoleInputBuffer(h_console_in);
    		
    		/*输入事件为按键输入,且按键按下时*/
    		if (input_rec.EventType == KEY_EVENT && input_rec.Event.KeyEvent.bKeyDown == TRUE)
    		{
    			/*输入的是A-Z之间的按键*/
    			if (input_rec.Event.KeyEvent.wVirtualKeyCode >= 'A'
    				&& input_rec.Event.KeyEvent.wVirtualKeyCode <= 'Z')
    			{
    				/*将当前按键作为参数,开线程*/
    				h_thread_play = (HANDLE)_beginthreadex(NULL, 0, &thread_play, 
    					(void *)input_rec.Event.KeyEvent.wVirtualKeyCode, 0, &id_thread_play);
    			}
    		}
    	}
    }


    展开全文
  • 使用c语言标准库编写的日历小程序,整一百行,已测试编译通过。
  • #include struct temp { int no; char c;//这里也可以是其他数据结构,比如数组之类的 }; int main() ... int ch[10000],i,j,t,n;... printf("请输入你要录入数据的总数:\n");...思路就是这样的,用结构体的方法,其他你...
  • 此歌曲搜索系统是用C语言开发出来的,本程序只是用到了函数调用和多分枝选择语句的有关知识,使用程序可以实现通过先输入歌手姓名的首字母找到相应的歌手,再选择喜欢的歌曲.
  • C语言编写的图像处理源程序,同具备在图形界面下对图片进行转灰度的处理,如果需要还能将图像的像素信息显示出来,并且显示区间可以有使用者选择。在给的数字正确时,你地 大小程序可以自动排列。
  • C语言编写程序更易懂、更可靠。 Ⅱ高效性:C程序相对更紧凑,运行速度很快。 Ⅲ可移植性:C程序稍作修改或不修改就能在其他系统运行。 Ⅳ强大而灵活 Ⅴ面向程序员 使用C语言的七个步骤: 话不多说,来看一个...

    选择C语言的理由:
    Ⅰ设计特性:C语言的设计理念让用户能轻松地完成自顶向下的规划、结构化编程和模块化设计。用C语言编写的程序更易懂、更可靠。
    Ⅱ高效性:C程序相对更紧凑,运行速度很快。
    Ⅲ可移植性:C程序稍作修改或不修改就能在其他系统运行。
    Ⅳ强大而灵活
    Ⅴ面向程序员
    在这里插入图片描述
    使用C语言的七个步骤:
    在这里插入图片描述
    话不多说,来看一个入门C语言的程序吧:

    #includ<stdio.h>
    int main(void)                /* a simple program             */
    {
        int num;                  /* define a variable called num */
        num = 1;                  /* assign a value to num        */
        printf("I am a simple "); /* use the printf() function    */
        printf("computer.\n");
        printf("My favorite number is %d because it is first.\n",num);
        getchar();
        return 0;
    }

    麻雀虽小,五脏俱全,这里面包含头文件,主函数,返回值,以及基本c语言的结构写法。
    具体包含有运算符=,函数main(),printf(),创建整型变量,并为其赋值和显示,换行字符,注释等等。

    展开全文
  •  编写c语言程序的软件有很多,当年刚开始学c的时候,使用的是vc++6(很多年了,有些历史了!) 以下是使用vs2015编写c的方法步骤(vs的步骤基本一样,其他版本的步骤一样可以仿照),其中【】的代表是某个命令或...

    以vs2015为例!

      编写c语言程序的软件有很多,当年刚开始学c的时候,使用的是vc++6(很多年了,有些历史了!)

    以下是使用vs2015编写c的方法步骤(vs的步骤基本一样,其他版本的步骤一样可以仿照),其中【】的代表是某个命令或按钮功能:

    1.创建项目,【文件】》【新建】》【项目】

     

    2.项目类型为【Win32控制台应用程序】,自己定义项目名称,确定

     

    3.按照Win32应用向导完成设置,【下一步】即可

     

    4.选择应用类型为【控制台应用程序】,附加选项为【空项目】,然后【完成】即可

     

    5.此时在【解决方案资源管理器】中看到所创建的项目

     

    6.右击【源文件】,【添加】》【新建项】,创建c程序

     

    7.编写简单的c程序

     

    8.在vs2015不能直接按【F5】运行,程序会一闪而过的。应该是先选择【生成】》【生成(此处是你的项目名称)】编译生成exe文件,再按【ctrl + F5】运行

     

    9.运行结果如图

    我是一名从事了10年开发的老程序员,最近我花了一些时间整理关于C语言、C++,自己有做的材料的整合,一个完整的学习C语言、C++的路线,学习材料和工具。C/C++、编程爱好者的聚集地就在我这里 企鹅进<C语言C++编程学习>!(14)欢迎初学和进阶中的小伙伴。希望你也能凭自己的努力,成为下一个优秀的程序员。工作需要、感兴趣、为了入行、转行需要学习C/C++的伙伴可以跟我一起学习!”

    关注私信我,带你遨游代码世界!分享资料、学习技巧、技术大牛助你一臂之力!

     

    最后分享一张C/C++学习路线图给爱学习的小伙伴们

     

     

     

     

    展开全文
  • Ubuntu系统下用C语言编写以及用Makefile方式编程主程序Ubuntu开发环境下C语言编写任务内容实验过程实验结用Makefile方式编程主程序任务内容任务过程 这是嵌入式系统程序设计基础课程学习的一篇博客,记录自己的...

    这是嵌入式系统程序设计基础课程学习的一篇博客,记录自己的学习过程,本次主要目的为熟练掌握Ubuntu常用命令,学习使用gedit文本编译软件。

    Ubuntu开发环境下C语言编写

    首先在任务3(在Ubuntu系统下用c语言编写一个简单的输出hello world的程序,并编译运行)的基础上,我们已经学会如何在Ubuntu开发环境下用c语言进行简单编程,下面为任务4实验过程以及结果

    任务内容

    请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c。
    要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。

    1) 请在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行;
    2) 请在windows系统下用你熟悉的编译工具编译主程序main1.c 并运行。

    任务过程

    1. 打开ubnutu开发环境,直接输入组合键ctrl+alt+t调出命令行界面
      一开始是服务器版的,没有界面,麻了

    2. 通过命令touch main.c就可以直接创建该文件。要查看创建是否成功,直接通过命令ls查看即可。(还可以看到之前创建的文件)在这里插入图片描述

    3. 创建完main.c(这里我创建的是main71666.c)文件后,需要进行编写文件。ubuntu下提供了一个程序编辑程序软件gedit。借助命令gedit main.c就会弹出下图所示的编辑对话框,就可以在其中进行编写代码了在这里插入图片描述
      在这里插入图片描述

    4. 接下来进行写代码,如下图所示。
      1.main7161.c如下在这里插入图片描述
      2 .sub1.h如下在这里插入图片描述

    5. 接下来需要进行编译,需要在命令行中输入命令gcc main.c,当然这个适用于任务3类型,我们这里需要当用gcc -o main main.c -I /home/pi/test2 指定了sub1.h这个头文件所在的目录后,编译成功,然后执行成功执行命令结果如下;在这里插入图片描述
      在这里插入图片描述

    其他:在任务3中,最后如果没有额外的错误或者警告信息打印出来,此时显示通过命令./a.out运行该文件;

    任务小结

    主要熟悉了Ubuntu,并且能在Ubuntu开发环境下用c语言进行简单编程,注意自己创建文件命名以及头文件的位置

    用Makefile方式编程主程序

    任务内容

    用Makefile方式编程主程序

    任务过程

    首先也同之前命令创建makefile文件,然后编写。
    makefile编程
    在这里插入图片描述
    在这里插入图片描述
    (实验之后写的博客,图片对不上。)

    任务小结

    makefile不是可执行文件,makefile的作用是用一定的语法定义一个关于源文件间依赖的有向无环图,它是一个文本文件
    make用来按照makefile定义的顺序来执行每个节点上定义的操作,make是可执行文件。同样也要注意头文件的问题。

    展开全文
  • 使用C语言编写小程序,用于破解电信、联通等宽带账号的一个程序的源代码,内附有txt简要的使用说明,这个程序只能在Windows操作系统上进行的宽带密码的破解(偷获)
  • C语言编写的推箱子游戏

    千次阅读 多人点赞 2019-06-17 18:28:26
    大一时候的期末大作业,一直没找到,...1.编写推箱子游戏 2.使用C语言 3.使用Dev C++编程程序 4.实现小人移动判定 5.实现通关判定 实验分析 1.首先了解推箱子游戏的规则 2.使用代码完成基本的功能 3.判...
  • 第一种:使用if语句 #define _CRT_SECURE_NO_WARNINGS #include #include int Max( int i, int j) { int tmp; if (i > j) return tmp= i; else return tmp=j; } int main() { int ...
  • C语言的练习—通讯录,该通讯录主要实现最大存储1000个人信息,对通讯录中的个人信息能够进行增、删、查、改等基本功能,通过用c语言编写,能够极大程度上锻炼编程能力。程序主要使用数组的知识,创建1000大小的静态...
  • /*使用rand函数在9*9的矩阵内随机为10个元素赋值#,#代表地雷*/ } for(i=0;i;i++) for(j=0;j;j++) { if(control[i][j]!='#')/*对除去被设定为地雷的元素以外赋值0*/ control[i][j]='0'; } for(i=0;i;i++) ...
  • 怎么使用C语言编写的代码让电脑关机呢? 大家估计有人玩过,也挺有意思的。。。。 我们知道在windows系统有一个命令窗口,可以输入命令操作的窗口,也叫dos窗口,如下图,快捷键windows+R,打开运行窗口,输入cmd...
  • </strong><strong> </strong><strong>游戏</strong></p> ; margin-right:0pt">二、功能要求:</strong></p> ; margin-right:0pt">主函数提供功能菜单供用户选择,用户可以选择调用以下各个功能&#...
  • C语言编写的黑白棋

    2010-10-14 22:02:16
    用纯粹C语言编写的小型黑白棋程序使用图形界面,支持人机对战和人人对战两种模式。
  • 使用C语言编写程序,模拟一个简单的文件系统,要求如下: (1) 文件系统的组织结构参考ext2文件系统 (2) 创建一个“disk.os”文件,大小为4MB,用该文件模拟外存。 (3) 最后应生成一个可执行文件“myfs”,...
  • 2.编写(计算程序)代码 1 #include <stdio.h> //预编译处理命令,将stdio.h头文件包含到程序中,程序便可调用其中的系统库函数 2 void main(){ //主函数,程序的入口只能有一个main() 3 int price=0...
  • 程序的功能是对以一个班,3个学生,4门课为例进行 实现...C语言写的成绩资料输入程序——学生成绩记录程序使用方法:输入1-3按下enter键,1.开始输入学生成绩,2.查看已经输入的记录,3.关于。本程序为测试版本,...
  • 本人使用c语言编写的websocket服务端程序,默认支持1024条并发,可修改参数轻易支持更高并发,80%以上源码写有注释,阅读本篇博文可帮助websocket小白快速入门websocket编程,积分有多的朋友可去下载完整源码支持...
  • 很久以前用C语言编写的一个小程序,主要功能是计算两个日期之前的天数,当时是写来计算跟女朋友一些纪念日距今已经过去了多少天用的。 这类工具网上有很多,并且用Java编写的话会更简单,仅供交流学习使用,并留作...
  • 用户定义标识符 用户定义标识符用于对用户使用的变量数组和函数等操作对象进行命名例如将一个变量命名为a将一个数组命名为date将一个函数命名为fun等 用户标识符命名时要注意 (1) C语言对英文字母的大写敏感即...
  • #include int ismax(int a,int b); int main(int argc, const char * argv[]) {   int a,b;   scanf("%d",&a);   scanf("%d",&b);   int s=ismax(a,b);   printf("%d",s);...ret
  • #include <stdio.h>#include <stdlib.h>#include <time.h>int main(){ int input=1; printf("欢迎使用猜数字游戏\n"); while (input) { printf("**********************\n"); printf("*...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,283
精华内容 513
关键字:

c语言编写使用小程序

c语言 订阅