我试图自动化我在使用电子产品时所做的微积分。不幸的是,我的代码似乎不起作用,因为所有结果都是 0.000000(见下文)。
这是我尝试过的: - double 或 int 中的变量 - 删除微积分部分并尝试从输入中获取输出 - scanf_s 和 scan_f。
这些都不起作用。奇怪的是,最后的 printf 甚至不能打印 base_v(例如)。
这是代码本身:
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{
// variable declaration
double base_r, mod_r, base_v, mod_v=0;
double coeff=1;
int asdf=1;
// welcome message
printf("vMod calculator\n");
printf("Please enter resistances in Ohms and voltages in Volts\n");
// retrieve info about vmod
printf("Enter base resistance\n");
scanf_s("%f", &base_r);
printf("Enter modified resistance\n");
scanf_s("%f", &mod_r);
printf("Enter base voltage\n");
scanf_s("%f", &base_v);
// calculus of modified voltage
coeff=asdf*((1/base_r)+(1/mod_r));
mod_v=base_v*base_r*coeff;
// results
printf("Base voltage: %f \n", &base_v);
printf("Base resistance: %f \n", &base_r);
printf("Modified voltage: %f \n", &mod_v);
printf("Modified resistance: %f \n", &mod_r);
system("pause");
return 0;
}
如果您不理解微积分,请参考下图: http: //pbrd.co/1g6KWLp
谢谢