Hoi,
Ik zit met 'n opdracht over het checken van reactievergelijkingen.
De opdracht is dat als je bv. de chemische reactievergelijking
CH4 + 2O2 --> CO2 + 2H2O hebt, dat er wordt geteld of links en rechts evenveel O, danwel C danwel H staat en dat de massa van deze worden opgeteld.
Ik had iets bedacht als het volgende:
(er wordt o.a. van ascii code gebruikt gemaakt)
[cpp]
int main()
{
int i,x,array[90],sum[90];
string s1;
ifstream fin;
fin.open("reactievgl1.txt");
if(fin.fail())
{
cerr<< "fout"<<endl;
exit(1);
}
while(s1!="-->")
while(s1!="+")
{
fin >> s1;
for(i=65;i<90;i++)
{
if(47<array[0]<58)
x=array[0];
else
x=1;
sum[array]=0;
if(65<array<90)
{
if(array[i+1]>65)
sum[array]=array[i+1]*x;
else
sum[array]=x;
}
cout << sum[array];
}
}
//lezen van enkel molecuul, moet uitgebreid worden
return 0;
}
[/cpp]
-Code nog lang niet compleet, maar met deze code lukte het al niet om 1 molecuul, bv CH4, in te lezen. Any ideas? Alvast bedankt.
Ik zit met 'n opdracht over het checken van reactievergelijkingen.
De opdracht is dat als je bv. de chemische reactievergelijking
CH4 + 2O2 --> CO2 + 2H2O hebt, dat er wordt geteld of links en rechts evenveel O, danwel C danwel H staat en dat de massa van deze worden opgeteld.
Ik had iets bedacht als het volgende:
(er wordt o.a. van ascii code gebruikt gemaakt)
[cpp]
int main()
{
int i,x,array[90],sum[90];
string s1;
ifstream fin;
fin.open("reactievgl1.txt");
if(fin.fail())
{
cerr<< "fout"<<endl;
exit(1);
}
while(s1!="-->")
while(s1!="+")
{
fin >> s1;
for(i=65;i<90;i++)
{
if(47<array[0]<58)
x=array[0];
else
x=1;
sum[array]=0;
if(65<array<90)
{
if(array[i+1]>65)
sum[array]=array[i+1]*x;
else
sum[array]=x;
}
cout << sum[array];
}
}
//lezen van enkel molecuul, moet uitgebreid worden
return 0;
}
[/cpp]
-Code nog lang niet compleet, maar met deze code lukte het al niet om 1 molecuul, bv CH4, in te lezen. Any ideas? Alvast bedankt.
Laatst bewerkt door een moderator: