•

Check out our Community Blogs # Ivan Leong

Member Since 26 Feb 2012
Offline Last Active Feb 26 2012 02:20 AM     ### Constructing a chemistry calculator. Need help !

26 February 2012 - 02:15 AM

hi guys i am a rookie programmer. I am constructing Arrhenius equation calculator using Microsoft visual C++. The programming language I am currently using is C (Not C++). When i debug the program, 2 error were found. First one says that "Get_input": function does not take 3 argument. The second one sound like "Intellisense : too few argument in function call". Basically i dont know whats the prob and how to solve it.

```#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 )
{
scanf("%lf",frequency_factor);
scanf("%lf", rate_constant);
scanf("%lf", activation_energy);
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 !");

}```

Can anyone teach me how to complete this calculator please. @_@

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download 