000
22.01.2007, 23:14 Uhr
eagle
|
hallo
kann mir bitte einer helfen. Bin noch ein anfänger
aus langerweile oder anders gesagt um die materie besser zu verstehen habe ich ein programm geschrieben was aber nicht richtig funktioniert.
Kleine beschreibung. Rechnen: es sollen 2 Werte eingelesen und mit einanden +, -, *, / werden. Die eingabe funktioniert aber die ausgabe ist falsch. Den der compiler gibt zufällige Zahlen aus. D.h von der Funktion Zahleneingabe werden die adressen nicht an die funktion zum ausrechnen übergeben. WARUM?
Schreiben: Es sollen 2 Sätze eingegeben und mit einander verglichen werden. Aber es funktioniert nicht ganz so wie ich es will. Ich kann nicht den ersten Satz eingeben der wird irgendwie übersprungen es kommt die zweite eingabe.
| C++: |
#include <iostream.h> #include <string.h>
//Eingabe von Zeichen void Zeichen (char a[30], char b[30]) { cout << "Dein erster Satz" <<endl; cin.getline(a,30); cout << "Dein zweiter Satz" <<endl; cin.getline(b,30); cout << '\n'; }
//Ermittlung der Zeichen in Zeichen void laenge (char a[30], char b[30]) { cout << "Die laenge des ersten Satzes ist : "; cout << strlen(a) <<endl; cout << "Die laenge des zweiten Satzes ist : "; cout << strlen(b) <<endl;
} //vergleichen von Seingabe void vergleich(char a[30], char b[30]) { int rechnen; if (strlen(a)== strlen(b)) { cout << "Die laenge ist gleich" <<endl; if (strcmp(a,b)) cout << "aber die Zeichenfolge ist unterschiedlich"; else cout << "und die Zeichen sind auch gelich"; } else if (strlen(a)<strlen(b)) { cout << "Die laenge ist unterschiedlich" <<endl; rechnen = strlen(b) - strlen(a); cout << "a ist: " << rechnen << " Zeichen kuerzer" <<endl; } else if (strlen(a)>strlen(b)) { cout << "Die laenge ist unterschiedlich" <<endl; rechnen = strlen(a) - strlen(b); cout << "a ist: " << rechnen << "Zeichen laenger" <<endl; }
}
//Eingabe von Zahlen void Zahlen (float f, float g) { cout << "Deine erste Zahl : "; cin >> f; cout << "Deine zweite Zahl : "; cin >> g; cout << '\n'; }
float mal(float a, float b) { return (a*b); } float durch(float c, float d) { return (c/d); } float Plus(float e, float f) { return (e+f); } float Minus(float g, float h) { return (g-h); } void alles (float r, float t) { cout << Minus (r, t)<<endl; cout << Plus (r, t)<<endl; cout << mal(r, t) <<endl; cout << durch(r, t); }
void main() { char zeichen, zeichenschreiben; char a[30],s[30]; float f,g;
cout << "1 fuer rechnen" <<endl; cout << "2 fuer schreiben" <<endl; cout << "deine eingbe "; cin >> zeichen; cout << '\n'; switch(zeichen) { case '1': Zahlen(f,g); alles(f,g); break;
case '2': cout << "l laenge der Zeichen ausgeben" <<endl; cout << "a alles ausgeben 'laenge und Zeichen'" <<endl; cin >> zeichenschreiben;
switch (zeichenschreiben) { case 'l': Zeichen(a,s); laenge (a,s); break; case 'a': Zeichen(a,s); vergleich(a,s); break; default: cout << "kenn ich net" <<endl; } default: cout << "kenn ich net" <<endl;
}
char p[50]; cin.getline(p,50); cin.getline(p,50); }
|
|