
#include <stdioh>
int const bounds[] = { 0, 100000, 200000, 400000, 600000, 1000000 };
double const rates[] = {01, 0075, 005, 003, 0015, 001 };
int main()
{
int lirun;
double jiangjin = 00;
printf("请输入利润: ");
scanf("%d", &lirun);
int i = sizeof(bounds) / sizeof(int) - 1;
for(; i >= 0; --i) {
if(lirun > bounds[i]) {
jiangjin += (lirun - bounds[i]) rates[i];
lirun = bounds[i];
}
}
printf("奖金为: %2lf\n", jiangjin);
return 0;
}
struct 结构体名
{
结构体内容;
}structa[5];
structa[5]={{},{},{},{},{}};
数组的角标只能用常量表示,这是C语言的一个语法规则
一个思路,不一定完美,但可以实现:
用注册表:startexe中按钮(或菜单,功能是运行duospeakexe)点击后,在注册表内写一键值比如a,其值为系统当期时间,然后调用duospeakexe,后面再加一段延时代码比如3秒,3秒后删除该键值;在duospeakexe程序中,运行前先读取注册表中a的值,如果未读到,提示从startexe启动,如果读到a(读取a后即删除之,程序已运行,a就没用了):如果a的值与系统当期时间相差在3秒之内,正常启动,否则提示,以下为用vb原理:
startexe:
private sub command1_click
1、在注册表中写入a,其值为now,
为了防止手工添加,可将值加密,如果有必要,可用不可逆的加密法。
2、延时
t=now
do while 1
doevents'注意此句,一定要交出控制权,否则程序处于假死状态
if t与now相差超过3秒 then exit do'延时3秒
loop
3、删除键值a
延时后,duospeakexe要么已正常运行,要么已中断退出,键值a的使命已完成,也就是说,a是一个临时的桥梁
end sub
duospeakexe中:
private sub form_load
1、读取注册表a的值
2、判断a值是否读到
if 没有读到 then
msgbox "请从startexe启动",48
end
end if
3、删除注册表中的键值a
4、判断a值是否符合规则
if a不符合加密算法或与now相差超过3秒 then
msgbox "请从startexe启动",48
end
end if
5、正常运行程序
end sub
以上就是关于编写C语言程序,通过主程序中调用自定义函数的方式实现从键盘输入当月利润值,根据此规则输出发放奖金全部的内容,包括:编写C语言程序,通过主程序中调用自定义函数的方式实现从键盘输入当月利润值,根据此规则输出发放奖金、汇编语言程序中 结构体数组的定义调用方法,尤其是数组的角标(例structa[])中括号里想用变量表示、2个程序调用启动 怎么实现的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)