我的实用代码
这里是英(C)语(yǔ)科(yán)听力部分。该部分有第一、第二两节。
请注意,回答听力部分时,请先将答案写在试卷上,听力部分结束前,你将有两分钟的时间将试卷上的答案转移到答题卡上。
听力考试,现在开始!
光标隐藏函数
void HideCursor(void)
{
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
show_bytes
#include <bits/stdc++.h>
using namespace std;
typedef unsigned char* bite_pointer;
typedef int T;//数据类型为int,可更改
void show_bites(bite_pointer p,size_t len)
{
size_t i;
cout<<"In machine order:";
for(i=0;i<len;i++)
{
printf("%.2x ",p[i]);
}
printf("\n");
cout<<"In person order: ";
for(i=len-1;i>0;i--)
{
printf("%.2x ",p[i]);
}
printf("%.2x ",p[i]);
printf("\n");
}
int main()
{
int a;
cout<<"Please input the data in type \"int\":";
cin>>a;
show_bites((bite_pointer)&a,sizeof(T));
return 0;
}
界面设计和上色
注意:本内容请勿改动任何参数!
#include <windows.h>
#include <conio.h>
#include <time.h>
int wide=60,high=30;//宏常量定义,数据可变
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//写在主函数或调用函数内部,用于定义hout并进行初始化
system("mode con cols=80 lines=40 ");//运行框大小限制
void gotoxy(HANDLE hout,int x,int y)
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(hout,pos);
}
int color(int c)//设置颜色
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
return 0;
}//颜色有若干种
//两个调用函数
设置某句子的位置用gotoxy(hout,wide*k,high*m)
,就是在 wide 的 k 倍,high 的 m 倍的位置。
句子上色用color(c)
,c 为指定颜色序号。
输出后的停顿用void Sleep(int t)
函数,在<windows.h>
中,t 代表暂停的毫秒数。 使用时每个句子前都要用 gotoxy
指定位置,用 color 上色。 合起来如下:
gotoxy(hout,wide/5,high/6);
color(6);
printf("本计算器仅支持5个及以下的矩阵,分别名为A~E(大写)。");
Sleep(200);
gotoxy(hout,wide/5,high/6+1);
color(6);
printf("每个矩阵阶数不超过5*5。");
Sleep(200);
关于音乐效果
#include<windows.h>
#include<mmsystem.h>
#pragma comment(lib."Winmm.lib") //头文件
PlaySound(TEXT("音乐名.wav"),NULL,SND_FILENAME | SND_ASYNC | SND_LOOP);//开始播放
PlaySound(NULL,NULL,SND_FILENAME);//结束播放
注意:音频必须使用wav格式,必须放在跟代码同一个文件夹,如果不然,音乐名处应当使用其绝对地址或相对地址。
震动心形设计
#define I 20
#define R 340
int wide=80,high=40;//宏常量定义,数据可变
system("title xxx");//运行框名称修改,主函数第一句
system("mode con cols=80 lines=40 ");//运行框大小限制
void draw_color()//整体颜色震动效果函数
{
char cl[20];
srand((unsigned int)time(NULL));
int k = rand() % strlen(back_color);
strcpy(cl, Color);
cl[len] = back_color[k];
srand((unsigned int)time(NULL));
k = rand() % strlen(font_color);
cl[len + 1] = font_color[k];
cl[len + 2] = '\0';
system(cl);
}
颜色震动使用方法实例:
for(i=0;i<6;i++,lower+=3)
{
puts(data[i+15]);
for(j=0;j<wait;j++)
{
draw_color();
Sleep(200);
}
Sleep(200);
}
void draw_heart(int wait)//心形设计函数,传入参数为0即可
{
int i,j,e,a;
for(i=1,a=I;i<I/2;i++,a--)
{
for(j=(int) ( I-sqrt(I*I-(a-i)*(a-i)) );j>0;j--)
{
printf(" ");
}
for(e=1;e<=2*sqrt(I*I-(a-i)*(a-i));e++)
{
printf("\3");
}
for(j=(int)( 2*( I-sqrt(I*I-(a-i)*(a-i)) ) );j>0;j--)
{
printf(" ");
}
for(e=1;e<=2*sqrt(I*I-(a-i)*(a-i));e++)
{
printf("\3");
}
printf("\n");
if(wait&&i%2)
{
draw_color();
Sleep(80);
}
}
for(i=1;i<80;i++)
{
if(i==20)
{
for(int j=0;j<40;j++)
{
printf("\3");
}
i+=40;
}
printf("\3");
}
printf("\n");
for(i=1;i<=R/2;i++)
{
if(i%2||i%3)
{
continue;
}
for(j=(int) ( R-sqrt(R*R-i*i) );j>0;j--)
{
printf(" ");
}
for(e=1;e<=2*( sqrt(R*R-i*i) - (R-2*I) );e++)
{
printf("\3");
}
printf("\n");
if(wait)
{
draw_color();
Sleep(80);
}
}
}
给代码加行号的代码
#include<stdio.h>
int main(void)
{
FILE *fpIn;
// 输入文件的指针
FILE *fpOut;
// 输出文件的指针
char str[1000];
// 用来存储从文件中读取出的”一行“字符串信息
int row = 1;
fpIn = fopen("文件名.cpp", "r");
/* 以只读和文本格式打开需要的.cpp文件
*这里的文件名无所谓大小写
*/
fpOut = fopen("文件名.txt", "w");
// 以创建方式(也叫写方式)打开文件名.txt文件
fgets(str, 81, fpIn);
/* 从文件中读取一行信息,保存到str数组中。
*这里要注意的是这个81,
*一般情况下,编写文本格式文件的人,都习惯遇到行尾就敲回车,
*所以,一般情况下,文本文件一行最多80个字符。
*如果,一行不够80个字符,这个函数会自动只读到'\n'就结束了。
*/
while(!feof(fpIn))
{ // 判断上一次fgets()是否正常(即,没有遇到文件尾部)
fprintf(fpOut, "%4d %s", row, str);
// 在读入的每一行信息前,加入0000到9999的行号(应该够用了吧),呵呵呵呵
row++; // 行号加一
fgets(str, 81, fpIn); // 读取下一行
}
fclose(fpIn); // 关闭文件
fclose(fpOut);
}