| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1152 人关注过本帖
标题:在这指出我的小作品的一些不足之处,交流一下,多多指教,希望能得到解决。
取消只看楼主 加入收藏
观弈寒儒
Rank: 7Rank: 7Rank: 7
来 自:自 来
等 级:黑侠
帖 子:359
专家分:545
注 册:2011-1-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
在这指出我的小作品的一些不足之处,交流一下,多多指教,希望能得到解决。
图片附件: 游客没有浏览图片的权限,请 登录注册
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

HANDLE hConsole;
void gotoxy(int x, int y)
{
    COORD coord;
    coord.X = x;
    coord.Y = y;
    SetConsoleCursorPosition(hConsole, coord);
}

int N;//N为歌曲数目
int j1=1,j2=1,j3=1,j4=1,j5=1,j6=1,j7=1;
void ma1(int n);
void ma2(int n);
void ma3(int n);
void ma4(int n);
void ma5(int n);
void ma6(int n);
void ma7(int n);

void main()
{
    system("title 歌曲融合器");
    hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, 0x000a);
    gotoxy(36,0);
    printf("使用说明");
    SetConsoleTextAttribute(hConsole, 0x000c);
    gotoxy(4,2);
    printf("本程序可以实现多首歌曲的融合。融合歌曲的顺序和播放顺序一致,而且歌曲音调会有所变化。融合后的歌曲播放时间的显示可能有问题,但并不会对您的使用产生影响。融合的歌曲未进行重命名之前最好都是MP3格式,否则播放时会出现不可预知的错误。");
    SetConsoleTextAttribute(hConsole, 0x000a);
    gotoxy(4,7);
    printf("首先您需要对想要实现融合的歌曲分别从001开始顺序命名。注意,命名时不需要添加扩展名(如.mp3)。融合后的文件需要您自己添加扩展名,当然也可以不添加扩展名,那样的话就不能自动被播放器识别,您就要自己选择打开方式打开。如果要实现三合一,那么就把三首歌分别命名为001、002、003即可。注意,想要进行融合的歌曲需要和本程序置于同一文件夹才有效!而且,融合后的歌曲文件将会在本程序所在的文件夹出现。");
    gotoxy(4,13);
    printf("然后请输入您所要进行融合的歌曲的数目,按回车键即可。如果您暂时还不想使用本程序,可以单击右上角的关闭按钮退出。\n");
X:  {scanf("%d",&N);
    if(N==1)
    {
        fopen("复件","wb+");
        int i;
        for(i=0;i<200;i++)
        {
            ma1(i);
            if(j1==0)
                break;
        }
    }
    if(N==2)
    {
        fopen("2合1","wb+");
        int i;
        for(i=0;i<200;i++)
        {
            ma1(i);
            if(j1==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma2(i);
            if(j2==0)
                break;
        }
    }
    if(N==3)
    {
        fopen("3合1","wb+");
        int i;
        for(i=0;i<200;i++)
        {
            ma1(i);
            if(j1==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma2(i);
            if(j2==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma3(i);
            if(j3==0)
                break;
        }
    }
    if(N==4)
    {
        fopen("4合1","wb+");
        int i;
        for(i=0;i<200;i++)
        {
            ma1(i);
            if(j1==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma2(i);
            if(j2==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma3(i);
            if(j3==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma4(i);
            if(j4==0)
                break;
        }
    }
    if(N==5)
    {
        fopen("5合1","wb+");
        int i;
        for(i=0;i<200;i++)
        {
            ma1(i);
            if(j1==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma2(i);
            if(j2==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma3(i);
            if(j3==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma4(i);
            if(j4==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma5(i);
            if(j5==0)
                break;
        }
    }
    if(N==6)
    {
        fopen("6合1","wb+");
        int i;
        for(i=0;i<200;i++)
        {
            ma1(i);
            if(j1==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma2(i);
            if(j2==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma3(i);
            if(j3==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma4(i);
            if(j4==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma5(i);
            if(j5==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma6(i);
            if(j6==0)
                break;
        }
    }
    if(N==7)
    {
        fopen("7合1","wb+");
        int i;
        for(i=0;i<200;i++)
        {
            ma1(i);
            if(j1==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma2(i);
            if(j2==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma3(i);
            if(j3==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma4(i);
            if(j4==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma5(i);
            if(j5==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma6(i);
            if(j6==0)
                break;
        }
        for(i=0;i<200;i++)
        {
            ma7(i);
            if(j7==0)
                break;
        }
    }
    if(N>7)
    {
        SetConsoleTextAttribute(hConsole, 0x000d);
        gotoxy(4,16);
        printf("对不起,由于考虑到很少有人会对7首歌以上的歌曲进行融合,所以本程序至多只支持7首歌曲的融合。由此给您造成的不便,本人深感抱歉。");
        gotoxy(4,18);
        printf("请重新输入您所要进行融合的歌曲数目。\n");
        goto X;
    }
    }
}


void ma1(int n)
{   
    FILE *fp1,*fp2;
    long i;
    char a[1000000];
    fp1=fopen("001","rb");
    if(N==1)
    {
        fp2=fopen("复件","rb+");
    }
    else if(N==2)
    {
        fp2=fopen("2合1","rb+");
    }
    else if(N==3)
    {
        fp2=fopen("3合1","rb+");
    }
    else if(N==4)
    {
        fp2=fopen("4合1","rb+");
    }
    else if(N==5)
    {
        fp2=fopen("5合1","rb+");
    }
    else if(N==6)
    {
        fp2=fopen("6合1","rb+");
    }
    else if(N==7)
    {
        fp2=fopen("7合1","rb+");
    }
    fseek(fp1,1000000*n,0);
    fseek(fp2,0,2);
    for(i=0;i<1000000;i++)
    {
        fread(&a[i],1,1,fp1);
        if(!feof(fp1))
            fwrite(&a[i],1,1,fp2);
        else
        {
            j1=0;
            break;
        }
    }
    fclose(fp1);
    fclose(fp2);
}
void ma2(int n)
{
    FILE *fp1,*fp2;
    long i;
    char a[1000000];
    fp1=fopen("002","rb");
    if(N==2)
    {
        fp2=fopen("2合1","rb+");
    }
    else if(N==3)
    {
        fp2=fopen("3合1","rb+");
    }
    else if(N==4)
    {
        fp2=fopen("4合1","rb+");
    }
    else if(N==5)
    {
        fp2=fopen("5合1","rb+");
    }
    else if(N==6)
    {
        fp2=fopen("6合1","rb+");
    }
    else if(N==7)
    {
        fp2=fopen("7合1","rb+");
    }
    fseek(fp1,1000000*n,0);
    fseek(fp2,0,2);
    for(i=0;i<1000000;i++)
    {
        fread(&a[i],1,1,fp1);
        if(!feof(fp1))
            fwrite(&a[i],1,1,fp2);
        else
        {
            j2=0;
            break;
        }
    }
    fclose(fp1);
    fclose(fp2);
}
void ma3(int n)
{   
    FILE *fp1,*fp2;
    long i;
    char a[1000000];
    fp1=fopen("003","rb");
    if(N==3)
    {
        fp2=fopen("3合1","rb+");
    }
    else if(N==4)
    {
        fp2=fopen("4合1","rb+");
    }
    else if(N==5)
    {
        fp2=fopen("5合1","rb+");
    }
    else if(N==6)
    {
        fp2=fopen("6合1","rb+");
    }
    else if(N==7)
    {
        fp2=fopen("7合1","rb+");
    }
    fseek(fp1,1000000*n,0);
    fseek(fp2,0,2);
    for(i=0;i<1000000;i++)
    {
        fread(&a[i],1,1,fp1);
        if(!feof(fp1))
            fwrite(&a[i],1,1,fp2);
        else
        {
            j3=0;
            break;
        }
    }
    fclose(fp1);
    fclose(fp2);
}
void ma4(int n)
{
    FILE *fp1,*fp2;
    long i;
    char a[1000000];
    fp1=fopen("004","rb");
    if(N==4)
    {
        fp2=fopen("4合1","rb+");
    }
    else if(N==5)
    {
        fp2=fopen("5合1","rb+");
    }
    else if(N==6)
    {
        fp2=fopen("6合1","rb+");
    }
    else if(N==7)
    {
        fp2=fopen("7合1","rb+");
    }
    fseek(fp1,1000000*n,0);
    fseek(fp2,0,2);
    for(i=0;i<1000000;i++)
    {
        fread(&a[i],1,1,fp1);
        if(!feof(fp1))
            fwrite(&a[i],1,1,fp2);
        else
        {
            j4=0;
            break;
        }
    }
    fclose(fp1);
    fclose(fp2);
}
void ma5(int n)
{
    FILE *fp1,*fp2;
    long i;
    char a[1000000];
    fp1=fopen("005","rb");
    if(N==5)
    {
        fp2=fopen("5合1","rb+");
    }
    else if(N==6)
    {
        fp2=fopen("6合1","rb+");
    }
    else if(N==7)
    {
        fp2=fopen("7合1","rb+");
    }
    fseek(fp1,1000000*n,0);
    fseek(fp2,0,2);
    for(i=0;i<1000000;i++)
    {
        fread(&a[i],1,1,fp1);
        if(!feof(fp1))
            fwrite(&a[i],1,1,fp2);
        else
        {
            j5=0;
            break;
        }
    }
    fclose(fp1);
    fclose(fp2);
}
void ma6(int n)
{
    FILE *fp1,*fp2;
    long i;
    char a[1000000];
    fp1=fopen("006","rb");
    if(N==6)
    {
        fp2=fopen("6合1","rb+");
    }
    else if(N==7)
    {
        fp2=fopen("7合1","rb+");
    }
    fseek(fp1,1000000*n,0);
    fseek(fp2,0,2);
    for(i=0;i<1000000;i++)
    {
        fread(&a[i],1,1,fp1);
        if(!feof(fp1))
            fwrite(&a[i],1,1,fp2);
        else
        {
            j6=0;
            break;
        }
    }
    fclose(fp1);
    fclose(fp2);
}
void ma7(int n)
{
    FILE *fp1,*fp2;
    long i;
    char a[1000000];
    fp1=fopen("007","rb");
    if(N==7)
    {
        fp2=fopen("7合1","rb+");
    }
    fseek(fp1,1000000*n,0);
    fseek(fp2,0,2);
    for(i=0;i<1000000;i++)
    {
        fread(&a[i],1,1,fp1);
        if(!feof(fp1))
            fwrite(&a[i],1,1,fp2);
        else
        {
            j7=0;
            break;
        }
    }
    fclose(fp1);
    fclose(fp2);
}

我的这个只能实现把完整歌曲连接在一起,但是我想要制作可以把任意多个喜欢的歌曲部分片段进行融合。还望大家多多指教。

[ 本帖最后由 观弈寒儒 于 2011-1-10 10:46 编辑 ]
搜索更多相关主题的帖子: 歌曲 
2011-01-10 10:33
观弈寒儒
Rank: 7Rank: 7Rank: 7
来 自:自 来
等 级:黑侠
帖 子:359
专家分:545
注 册:2011-1-9
收藏
得分:0 
回复 2楼 li_danwang
又看到你了,有缘啊。
关注的人不少就是没人回复啊。。。。

事件记录,值得关注! http://bbs.bccn.net/z_court.php?fid=5
2011-01-10 10:43
观弈寒儒
Rank: 7Rank: 7Rank: 7
来 自:自 来
等 级:黑侠
帖 子:359
专家分:545
注 册:2011-1-9
收藏
得分:0 
回复 4楼 逐渐学习
嗯。
本来我想已经写了使用说明,就没必要再添加打开错误的判断了。

事件记录,值得关注! http://bbs.bccn.net/z_court.php?fid=5
2011-01-10 11:10
观弈寒儒
Rank: 7Rank: 7Rank: 7
来 自:自 来
等 级:黑侠
帖 子:359
专家分:545
注 册:2011-1-9
收藏
得分:0 
回复 11楼 vandychan
版主你终于出现了。。。。
感动中。。。
我的另一个小作品三个版主都去了,三缺一啊,有空过去回个帖啊。。。。。

事件记录,值得关注! http://bbs.bccn.net/z_court.php?fid=5
2011-01-10 20:52
观弈寒儒
Rank: 7Rank: 7Rank: 7
来 自:自 来
等 级:黑侠
帖 子:359
专家分:545
注 册:2011-1-9
收藏
得分:0 
回复 15楼 night_wu
说的没错,那句"强大的程序"确实是夸奖太过了
你不会是传说中的马甲吧?
刚注册的,只回复我一个贴,就消失了。。。。

事件记录,值得关注! http://bbs.bccn.net/z_court.php?fid=5
2011-01-11 14:27
观弈寒儒
Rank: 7Rank: 7Rank: 7
来 自:自 来
等 级:黑侠
帖 子:359
专家分:545
注 册:2011-1-9
收藏
得分:0 
回复 18楼 BlueGuy
是个好提议。
不过她可能没看到吧?或者看不上。。。。

事件记录,值得关注! http://bbs.bccn.net/z_court.php?fid=5
2011-01-11 22:41
快速回复:在这指出我的小作品的一些不足之处,交流一下,多多指教,希望能得到解 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037432 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved