C语言歌词解析

C语言歌词解析

ID:39549228

大小:144.00 KB

页数:14页

时间:2019-07-06

C语言歌词解析_第1页
C语言歌词解析_第2页
C语言歌词解析_第3页
C语言歌词解析_第4页
C语言歌词解析_第5页
资源描述:

《C语言歌词解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、梦泷制作C语言技术报告0梦泷制作一、项目说明:简述:在VC环境下,利用C语言写一个歌词解析器,题目是歌曲《春暖花开》,要求实现,按时间输出对应的歌词,歌词会滚动,唱到该句变颜色等。(装有默认路径下的千千静听效果更好。)基本功能实现:1、读取文件,能正确打印到屏幕上。2、切割字符串,正确存到一个结构体数组中。3、能正确判断歌曲的歌名与演唱者,并打印出来。4、实现模拟时钟的功能。5、按顺序将歌词输出。6、能滚动显示歌词。7、能与时间匹配突出显示歌词的颜色。二、项目流程:具体流程:1、将歌词文件内容通过fgetc全部读到一个数组中,并在屏幕上打印出来,验证试验结果。2、判断歌曲的歌

2、名与演唱者,并打印出来13梦泷制作3、将一个歌词、时间一一对的歌词读到一个结构体数组(可以用其他数组)中,并将时间标签转换为以s为单位,切割字符串函数:strtok,strchr(for,if组合也行)4、调用time或sleep函数,制作一个模拟时钟5、时钟与歌词同步显示6、启动千千静听ShellExecute(NULL,NULL,"TTPlayer.exe","spring.mp3",NULL,1)//执行千千静听加上头文件windows.h7、创建模拟时钟,搜索数组中的结点,找到了、滚屏、变色、打印歌词。8、建议构建几个基本函数:message_song();解析歌曲的

3、基本信息:歌名歌手专辑制作、song_time();用时间函数构建电子时钟三、代码:/*程序代码不唯一(且只针对该歌词文件),有多种方法(本方法不是我写的最简的,却是最容易理解的),此处不一一例举,只用谁都理解的for,和if组合(的傻瓜方法)写出,本程序还可简化,时间有限不做过多处理,在其他方法中可能用到,所以保留,如给您的阅读带来困难,望请谅解。*//*------------------头文件------------------------------*/#include#include#include#incl

4、ude#include/*------------------全局变量----------------------------*/FILE*fp=NULL;//文件指针staticintNod=0;//歌词显示7行节点charshow[7][50];//歌词7行显示charlyrics[10000];intstr_length,f0=50;//f0为歌词总行数charsentence[100][50],time0[100][10],word[100][50];//句子,时间,歌词unsignedintnum=0,min,sec,secon

5、d[100]={0};//num为计数秒,second为歌词秒/*-------------------隐藏光标--------------------------------*/voidHideCursor(){CONSOLE_CURSOR_INFOcursor_info={1,0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);}/*-----------获取当前光标位置,并存放到变量x,y中------------*/voidwhereXY(int*x,int*y){13梦泷制作HA

6、NDLEh1;CONSOLE_SCREEN_BUFFER_INFOscrInfo;h1=GetStdHandle(STD_OUTPUT_HANDLE);GetConsoleScreenBufferInfo(h1,&scrInfo);*x=scrInfo.dwCursorPosition.X;*y=scrInfo.dwCursorPosition.Y;}/*-------------跳转到光标指定位置----------------------------*/voidGoToXY(intx,inty){HANDLEh1;COORDpos;pos.X=x;pos.Y=y;h1=G

7、etStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(h1,pos);}/*--------------屏幕整块移动---------------------------------*///参数:startx、starty:要移动的块的起始坐标//sizex、sizey:块的大小//destx、desty:目标坐标,即要移动到得位置voidMoveText(intstartx,intstarty,intsizex,intsizey,intdest

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。