when i run my calculator, 2 error pops out. The first one says" get_input function does not take three argument". The second one sounds like "Intellisense : too few argument in function calls". May i know what the problem behind these error and how to solve it? thx alot.
Code:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <ctype.h>
/* global function that you can use to avoid copy/pasted code */
void get_input(double *frequency_factor, double *rate_constant, double *activation_energy, double *temperature )
{
printf("Please key in frequency_factor");
scanf("%lf",frequency_factor);
printf("Please key in rate constant");
scanf("%lf", rate_constant);
printf("Please key in actvation_energy");
scanf("%lf", activation_energy);
printf("Please key in temperature");
scanf("%lf", temperature);
}
int main (void)
{
char letter, tmp;
double rate_constant, frequency_factor, activation_energy, temperature;
puts("This is an Arrhenius Equation calculator\n"
"k=Ae^(-Ea/RT)\n"
"A=frequency_factor\n"
"k=rate_constant\n"
"Ea=activation_energy\n"
"R=8.314*10^-3 kJ/mol*k\n"
"T=temperature\n\n");
puts("what do you want to find?\n\n"
"A)frequency_factor\n"
"B)rate_constant\n"
"C)activation_energy\n"
"D)temperature\n\n");
/* new call here, just for organization's sake. */
tmp = getchar();
getchar();
letter = toupper(tmp);
if (letter=='A') {
get_input(&rate_constant, &activation_energy, &temperature);
frequency_factor=(rate_constant)/pow(2.72,((-activation_energy)/(0.008314)*(temperature)));
printf("the frequency_factor calculated is %.3f,\n",frequency_factor);
}
else if (letter=='B') {
get_input(&frequency_factor, &activation_energy, &temperature);
rate_constant=(frequency_factor)*(pow(2.72,(-activation_energy)/(0.008314)*(temperature)));
printf("the rate_constant calculated is %.3f,\n",rate_constant);
}
else if (letter=='C') {
get_input(&frequency_factor, &rate_constant, &temperature);
activation_energy=(-0.008314)*(temperature)*(log(rate_constant)/(frequency_factor));
printf("the activation_energy calculated is %.3f,\n",activation_energy);
}
else if (letter=='D') {
get_input(&frequency_factor, &rate_constant, &activation_energy);
temperature=(-activation_energy)/((0.00831)*(log(rate_constant)/(frequency_factor)));
printf("the temperature calculated is %.3f,\n",temperature);
}
else
printf("You entered the wrong input. Please key in alphabet from A to D only. Thank you !");
}