圆动c语言,动圆1(c语言程序).doc

动圆1(c语言程序)

CClientDC* pDC = new CClientDC(this);

const double PI = 3.1415926536, _2PI = PI + PI; #define Sum s[n - 1]

const int r = 200, p = 20;

const int x0=r+20, y0=r+20, x1=x0-r, y1=y0-r, x2=x0+r, y2=y0+r;

int n = 5, *data = new int[n], *s = new int[n];

static int promin = 0;

data[0] = 2;

data[1] = 3;

data[2] = 5;

data[3] = 1;

data[4] = 7; // 演示数据

int x3, y3, x4, y4;

double theta3, theta4, thetam, tx, ty;

#define R 156+ rand() % 100

CBrush br, *p_br;

CRect rc;

GetClientRect(&rc);

DC->Rectangle(0, 0, rc.right, rc.bottom); // 清屏

int i;

for(s[0] = data[0], i = 1; i < n; ++i)

s[i] = s[i - 1] + data[i];

srand((unsigned)time(NULL));

for(theta3 = 0.0, x3 = x0 + r, y3 = y0, i = 0; i < n; ++i)

{

theta4 = _2PI * s[i] / Sum;

x4 = x0 + r * cos(theta4);

y4 = y0 + r * sin(theta4);

if(i != promin) tx = ty = 0;

// 如果不是要突出的那个扇形,其位置不必调节(位移量为0)

else

{

thetam = (theta3 + theta4) * 0.5; // 扇形的中心角

tx = p * cos(thetam) * (_2PI - theta4 + theta3) / _2PI;

ty = p * sin(thetam) * (_2PI - theta4 + theta3) / _2PI;

// 如果是要突出的那个扇形,则沿中心角方向向外位移(tx, ty)

}

br.CreateSolidBrush(RGB(R, R, R));

p_br = pDC -> SelectObject(&br);

pDC -> Pie(x1+tx, y1+ty, x2+tx, y2+ty, x4+tx, y4+ty, x3+tx, y3+ty);

theta3 = theta4;

x3 = x4;

y3 = y4;

pDC -> SelectObject(p_br);

br.DeleteObject();

}

delete data;

delete s;

delete pDC;

promin = (promin + 1) % n;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,我是一名语言模型,无法提供文档或程序的下载和分享。但是,我可以为您提供修改密码程序的基本思路和示例代码。 修改密码程序的基本思路如下: 1. 提示用户输入旧密码。 2. 验证旧密码是否正确。 3. 如果旧密码正确,则提示用户输入新密码。 4. 输入新密码后,再次要求用户确认新密码。 5. 如果两次输入的新密码相同,则将新密码存储为用户的密码,并提示修改成功。 6. 如果两次输入的新密码不同,则提示用户两次输入的密码不一致,并要求重新输入新密码。 以下是修改密码程序的示例代码: ``` #include <stdio.h> #include <string.h> int main() { char password[20]; // 存储密码的数组 char old_pwd[20]; // 存储旧密码的数组 char new_pwd[20]; // 存储新密码的数组 char confirm_pwd[20];// 存储确认密码的数组 // 初始化密码为 123456 strcpy(password, "123456"); // 提示用户输入旧密码 printf("请输入旧密码:"); scanf("%s", old_pwd); // 验证旧密码是否正确 if(strcmp(old_pwd, password) != 0) { printf("旧密码输入错误!\n"); return 0; } // 提示用户输入新密码 printf("请输入新密码:"); scanf("%s", new_pwd); // 要求用户确认新密码 printf("请再次输入新密码:"); scanf("%s", confirm_pwd); // 检查两次输入的新密码是否一致 if(strcmp(new_pwd, confirm_pwd) != 0) { printf("两次输入的新密码不一致!\n"); return 0; } // 更新密码 strcpy(password, new_pwd); printf("密码修改成功!\n"); return 0; } ``` 注意:上述示例代码只是一个简单的演示,实际应用中需要考虑更多的安全性和可靠性问题。例如,可以对密码进行加密存储,防止被恶意破解等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值