Takt
20-09-2003, 01:18
Also, da mir grad elangweilig ist, habe ich angefangen, das Perioden system in nen nettes kleines Programm einzubauen :D
Naja, ich habe eine datei, chemicals.dat, in welcher die Elemente in folgender Form aufgezählt sind:
H Wasserstoff 1 1,008 1 1a
He Helium 2 4,003 1 2a
Li Lithium 3 6,939 2 1a
Be Beryllium 4 9,012 2 2a
Also Symbol, Name, Ordnungszahl, Atommasse, Periode, Gruppe
So, nun will ich diese Datei nach den Symbolen durchsuchen und die dazugehörigen Daten ausgeben, dazu hatte ich mir folgenden code geschrieben:
{
Chemical chemical;
string suchwort;
cout << "Bitte gib das zu suchende Symbol ein: ";
cin >> suchwort;
int zaehler = 0;
ifstream in ("chemicals.dat");
if(!in)
{
cout << "\nDatei kann nicht geoeffnet werden!" << endl;
return -1;
}
while(!in.eof())
{
in >> chemical.symbol;
in >> chemical.name;
in >> chemical.ordnungszahl;
in >> chemical.masse;
in >> chemical.periode;
in >> chemical.hauptgruppe;
if(chemical.symbol == suchwort)
{
zaehler++;
cout << endl;
cout << "Symbol: " << chemical.symbol << endl;
cout << "Name: " << chemical.name << endl;
cout << "Ordnungszahl: " << chemical.ordnungszahl << endl;
cout << "Masse: " << chemical.masse << " U" << endl;
cout << "Periode: " << chemical.periode << endl;
cout << "Hauptgruppe: " << chemical.hauptgruppe << endl;
cout << "Protonen: " << chemical.ordnungszahl << endl;
cout << "Elektronen: " << chemical.ordnungszahl << endl;
//cout << "Neutronen: " << chemical.masse - (chemical.ordnungszahl*2) << endl;
}
}
cout << endl;
cout << zaehler << " Elemente gefunden." << endl;
in.close();
getchar();
}
Naja, das hat bei meinem Adress verwaltungs progg so auch ganz gut funktioniert, jedoch findet er hier einfach nix :rolleyes:
Ich gabe zb. H ein, und er findet nix. Habe mal nach allen sachen suchen lassen, also die if verändert, da hat er bei Zahlen immer alles richtige gefunden, bei anderens trings jedoch nicht. Hat da jemand ne idee?
Habe gemerkt, dass sowohld as getchar() als auch das letzte cout einfach übersprungen wird. Ich weis echt nimmer weiter.
MfG. Takt
Naja, ich habe eine datei, chemicals.dat, in welcher die Elemente in folgender Form aufgezählt sind:
H Wasserstoff 1 1,008 1 1a
He Helium 2 4,003 1 2a
Li Lithium 3 6,939 2 1a
Be Beryllium 4 9,012 2 2a
Also Symbol, Name, Ordnungszahl, Atommasse, Periode, Gruppe
So, nun will ich diese Datei nach den Symbolen durchsuchen und die dazugehörigen Daten ausgeben, dazu hatte ich mir folgenden code geschrieben:
{
Chemical chemical;
string suchwort;
cout << "Bitte gib das zu suchende Symbol ein: ";
cin >> suchwort;
int zaehler = 0;
ifstream in ("chemicals.dat");
if(!in)
{
cout << "\nDatei kann nicht geoeffnet werden!" << endl;
return -1;
}
while(!in.eof())
{
in >> chemical.symbol;
in >> chemical.name;
in >> chemical.ordnungszahl;
in >> chemical.masse;
in >> chemical.periode;
in >> chemical.hauptgruppe;
if(chemical.symbol == suchwort)
{
zaehler++;
cout << endl;
cout << "Symbol: " << chemical.symbol << endl;
cout << "Name: " << chemical.name << endl;
cout << "Ordnungszahl: " << chemical.ordnungszahl << endl;
cout << "Masse: " << chemical.masse << " U" << endl;
cout << "Periode: " << chemical.periode << endl;
cout << "Hauptgruppe: " << chemical.hauptgruppe << endl;
cout << "Protonen: " << chemical.ordnungszahl << endl;
cout << "Elektronen: " << chemical.ordnungszahl << endl;
//cout << "Neutronen: " << chemical.masse - (chemical.ordnungszahl*2) << endl;
}
}
cout << endl;
cout << zaehler << " Elemente gefunden." << endl;
in.close();
getchar();
}
Naja, das hat bei meinem Adress verwaltungs progg so auch ganz gut funktioniert, jedoch findet er hier einfach nix :rolleyes:
Ich gabe zb. H ein, und er findet nix. Habe mal nach allen sachen suchen lassen, also die if verändert, da hat er bei Zahlen immer alles richtige gefunden, bei anderens trings jedoch nicht. Hat da jemand ne idee?
Habe gemerkt, dass sowohld as getchar() als auch das letzte cout einfach übersprungen wird. Ich weis echt nimmer weiter.
MfG. Takt