vs2010 C++ 如何修改文本框的行距?

2024-12-27 13:20:07
推荐回答(2个)
回答1:

#include
#include
#include
#include

using std::cin;
using std::cout;
using std::endl;

//计算式 数量
int const Num = 10;
//计算式中 最大数
int const MaxNum = 10;

enum enOp;
//加法
int addFun(int left,int right)
{
return left + right;
}
//减法
int subFun(int left,int right)
{
return left - right;
}
//乘法
int mulFun(int left,int right)
{
return left * right;
}
//除法
int divFun(int left,int right)
{
return left / right;
}

//将 枚举类型转换为字符类型,以便输出。
char enum2char(enOp op)
{
switch (op)
{
case Add:
return '+';
case Subtract:
return '-';
case Multiply:
return 'x';
case Divide:
return '/';
}
return ' ';
}

//计算生成表达式的正确结果。
int myResult(int left,int right,enOp op)
{
switch (op)
{
case Add:
return addFun(left , right);
case Subtract:
return subFun(left , right);
case Multiply:
return mulFun(left , right);
case Divide:
return divFun(left , right);
}
return 0;
}

//检查生成计算式的正确与否。其中 减法结果不能为负数,除法结果不能为小数。
bool checkFormula(int left,int right,enOp op)
{
switch (op)
{
case Add:
return true;
case Subtract:
{
if(left < right)
return false;
return true;
}
case Multiply:
return true;
case Divide:
{
if(double(left/right) != double(double(left)/double(right)))
return false;
return true;
}
}
return false;
}

//依据给定操作符,生成符合条件的表达式。
void getFormula(int* left,int*right,enOp op)
{
//srand(time(NULL));
for(;;)
{
*left = 1 + rand() % MaxNum;
*right = 1 + rand() % MaxNum;
if(checkFormula(*left,*right,op))
break;
}
}

int main()
{
//操作符左值
int left[Num];
//操作符右值
int right[Num];
//用户输入计算结果
int result[Num];
//操作符 +-*/
enOp oper[Num];
//正确答案个数
int answerRight = 0;

cout<<"正在生成,请稍等。"< //随机种子
srand(time(NULL));
//开始生成计算表达式。
for(int i = 0;i {
//srand( (unsigned)time(NULL));
//操作符
oper[i] = enOp(rand()%4);
getFormula(&left[i],&right[i],oper[i]);
}

cout<<"生成计算式完成,开始答题!"<
//输出表达式,让用户答题
for(int i = 0;i {
//输出表达式
cout<<"第 "< cout< answerRight++;
}
else
{
cout<<"Not correct!\n";
}
}

//全部答题完毕,输出正确答案个数及得分。
cout<<"终止答题,共 "< <
//屏幕停止。
getch();

return 0;
}

回答2:

改用RichEdit就可以改行距。普通文本框如果改字体的话,会对行距有间接地影响。