1/15/2009

電容換算

有時拿到電容時
還要細看編號
對於我們這種較笨的人
還要拿個紙筆計算一下
還會算錯才囧


因為同事的建議就寫了這個簡易換算程式
只要輸入電容編號就ok
但不能反算
因為是簡易的 XDD

這次提供了 DOS 和 WINDOWS 二種版本
之前的RGB轉換也有小改
CAP.rar
WCAP.rar

Source Code:

/*
By Brian @Taiwan
*/
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int CAP;
int head;
int modu;
int flag=1,exit=1;
int i;
int exit_ans;
unsigned long ans;
float ansf;

printf("Wellcome user CAP program. \n");
printf("CAP Ver 1.0 \n");
printf("By brian @Taiwan. \n\n");
printf("Ex:Please input CAP number :102 \n");
printf(" 102 CAP = 1000pF \n\n");

while(exit)
{
while(flag)
{
printf("Please input CAP number :");
scanf("%d",&CAP);
if(CAP>=100)
flag=0;
else
printf("CAP number is error!! \n");
}
ans=1;
modu = CAP %10;
head = CAP /10;

if(modu<=7)
{
for(i=0;i<modu;i++)
ans *= 10;
ans *= head;
printf("%d CAP = %dpF \n",CAP,ans);
}
else
printf("%d CAP = %d*10^%dpF \n",CAP,head,modu);

if(modu<=7)
{
if(modu<=2)
{
ansf = (float)ans/1000;
printf(" = %fnF \n",ansf);
}
else
{
ans /= 1000;
printf(" = %dnF \n",ans);
}
}
else
{
modu-=3;
for(i=0;i<modu;i++)
ans *= 10;
ans *= head;
printf(" = %dnF \n",ans);
}

if(modu<=2)
ansf = (float)ansf/1000;
else
ansf = (float)ans/1000;
printf(" = %fuF \n\n",ansf);

printf("Do you want exit? 1.yes 2.no :");
scanf("%d",&exit_ans);
if(exit_ans==1)
exit=0;
else
{
exit=1;
printf("\n");
flag=1;
}
}
return 0;
}

沒有留言: