home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
JSAGE
/
ZSUS
/
PROGPACK
/
CVIDLIB.LBR
/
POWER.CQ
/
POWER.C
Wrap
Text File
|
2000-06-30
|
3KB
|
119 lines
#define FLOAT /* Must use floating point routines in clib */
#define ZCPR3 /* Must use ZCPR3 " " " */
#include <stdio.h>
/* A cheaters way of doing floating point input */
#define finput atof((ptr=gets(temp,28)))
extern float atof();
extern char *gets();
x_vc()
{
float Vsec,Vrect,Iout,Rs,C;
float Vpeak,Vc,Vripple,PIV,Isurge,PDavg;
char temp[30],*ptr;
Cmode=1;
cls();
printf("Enter in the following values:\n");
printf("Vsec,rms =");
Vsec=finput;
printf("Vrect =");
Vrect=finput;
printf("Iout =");
Iout=finput;
printf("Rsec cir =");
Rs=finput;
printf("Cfarads =");
C=finput;
Vpeak = (Vsec * 1.414) - Vrect;
Vripple = (.0833 * Iout) / C;
Vc = Vpeak - Vripple;
PIV = 1.414 * Vsec;
Isurge = Vpeak / Rs;
PDavg = (((C * Vripple / .00119) + Iout) * Vrect ) / 13.96;
printf("\nThe following are the calculated values\n");
printf("Vpeak = %.2f\tVripple = %.2f\tVc = %.2f\n",Vpeak,Vripple,Vc);
printf("PIV = %.2f\tIsurge = %.2f\tPDavg = %.2f\n",PIV,Isurge,PDavg);
wait();
}
vc_x()
{
float Vc,Vripple,Vrect,Iout,Rs;
float Vpeak,Vsec,C,Isurge,PDavg,PIV;
char temp[30],*ptr;
Cmode=1;
cls();
printf("Enter in the following values:\n");
printf("Vc =");
Vc=finput;
printf("Vripple =");
Vripple=finput;
printf("Vrect =");
Vrect=finput;
printf("Iout =");
Iout=finput;
printf("Rsec cir =");
Rs=finput;
Vpeak = Vc + Vripple;
Vsec = (Vpeak+Vrect) / 1.414;
C = (.0833 / Vripple) * Iout;
Isurge = Vpeak / Rs;
PDavg = (((C * Vripple / .00119) + Iout) * Vrect) / 13.96;
printf("The following are the calculated values:\n");
printf("Vpeak %.2f\tVsec %.2f\tC %.6f\n",Vpeak,Vsec,C);
printf("Isurge %.2f\tPDavg %.2f\n",Isurge,PDavg);
wait();
}
wait()
{
inchar("Press a key to go return to the menu : :\b\b");
}
main()
{
char choice;
zsysinit();
while(TRUE)
{
cls();
stndout();
puts("\t\t+-------------------------------------+\n");
puts("\t\t| POWER SUPPLY CALCULATOR |\n");
puts("\t\t+-------------------------------------+\n");
puts("\t\t| |\n");
puts("\t\t| 1. Xformer to Vc |\n");
puts("\t\t| |\n");
puts("\t\t| 2. Vc to Xformer |\n");
puts("\t\t| |\n");
puts("\t\t| 3. Exit |\n");
puts("\t\t| |\n");
puts("\t\t+-------------------------------------+\n");
puts("\t\t : :\b\b");
stndend();
Cmode=0;
switch((choice=getchar()))
{
case '1' : x_vc();
break;
case '2' : vc_x();
break;
case '3' : exit();
default : putchar('\07');
break;
}
}
}