Brauche eure Hilfe =(
-
Huhu,
folgendes hab ich an deinem Code zu bemängeln.
Sicher mache ich mir nicht die Mühe ihn jetzt zu korrigieren, aber am Stil & Co kann ich dir ein paar Tipps geben:-) Global vor Lokal! - Du hast globale Variablen, die du sowieso nur in main brauchst. Deklariere sie also auch in main.
-) Funktionen! - Strukturier dein Programm etwas. Damit du die Übersicht nicht verlierst. Beispiel: Das Menü könntest du in eine Funktion packen.
-) Was passiert wenn ich beim Menü 'd' eingebe? - Genau, dein Programm stürzt ab. Gewöhne dir zu jedem switch ein default: an!
-) Du hast 'bool error' kommentiert, verwendest es aber... Strange!
-) Was soll der Misch-Masch? Wenn du in C++ programmierst, verwende auch die I/O-Funktionen von C++ und nicht von C.
Nagut, mehr fällt mir nicht auf.
-
hey danke für die tipps,
ehrlich gesagt bin ich beim programmieren voll der looser,
ich wüsste nicht was du jetzt meinst mit input c / c++ja das mit dem bool (while) habe ich aus dem net und versucht,
hab davon kein plan, ich meine für manch profi ist das ne lachaufgabe von 5 minuten ich fänd es super wenn mir jemand bei dem code helfen könnte, es muss ja nicht alle aufgaben drin sein, nur soweit ich jetzt war.mit menü in eine funktion packen verstehe ich auch net =((((
-
rsp123 schrieb:
hey danke für die tipps,
ehrlich gesagt bin ich beim programmieren voll der looserWenn dir Programmieren kein Spaß macht, dann such dir ein anderes Hobby.
Du darfst dich nicht selber runtermachen...Such dir ein gutes Tutorial aus dem Internet ( Stichwort: C++ Tutorial ) und lerne daraus.
ich wüsste nicht was du jetzt meinst mit input c / c++
Ich habe damit die Ausgabe-Funktionen gemeint:
C++ : std::cout << "Ausgabe" << std::endl; C : printf( "Ausgabe\n" ) ;
Mach kein Mischmasch.
Ich fänd es super wenn mir jemand bei dem code helfen könnte, es muss ja nicht alle aufgaben drin sein, nur soweit ich jetzt war.
Mach doch kleine Aufgaben... oder ist das eine Hausübung?
mit menü in eine funktion packen verstehe ich auch net =((((
Wie oben schon geschrieben: Such dir ein Tutorial. Als Programmierer wirst du ohne Funktionen nicht auskommen...
-
programmieren ist nicht mein hobby!
ich habe im oktober eine lehre als it-systemkaufmann begonnen, dadurch das ich mit so viel verspätung die lehre begonnen habe, muss ich mir jetzt alles selbst nacharbeiten. Und das Programm muss bis montag fertig sein,´das mir aber die zeit dafür fehlt weil ich noch nebenbei für 3 klausuren lernen muss und noch arbeiten muss.naja dann bleibt halt nichts übrig als das liegen zu lassen und für die klausuren zu lernen. es ist einfach zu viel.
-
Grml,
wieso ich immer Mitleid haben muss...
#include <iostream> using namespace std; char menue ( void ); int main(void) { double klassen_arbeit1, klassen_arbeit2, endnote_schriftlich; double solei1, solei2, weitere_leistungen, endnote_solei; double endnote; bool error = true; switch(menue()) { case 'a': system("CLS"); while(error) { cout<<"Geben sie die Prozente der ersten Klassenarbeit ein: "<< endl; cin >>klassen_arbeit1; if(!cin.fail ()) //buchstaben abfangen { if(klassen_arbeit1 >= 0 && klassen_arbeit1 < 101) error = false; //while-schleifen abbruch else cout<<"Falsche Eingabe"<<endl; } else { cout<<"Falsche Eingabe"<<endl; cin.clear(); //error bit löschen } } cout<<"Geben sie die Prozente der zweiten Klassenarbeit ein: "<< endl; cin >>klassen_arbeit2; endnote_schriftlich = ((klassen_arbeit1+klassen_arbeit2) / 2); endnote = (endnote_schriftlich); cout<<"Endnote schriftlich: "<< endnote<< endl; getchar(); break; case 'b': system("CLS"); cout<<"Geben sie die Prozente der ersten Soleinote ein: "<< endl; cin >>solei1; cout<<"Geben sie die Prozente der zweiten Soleinote ein: "<< endl; cin >>solei2; cout<<"Geben sie die Prozente der weiteren Leistungen ein: "<< endl; cin >>weitere_leistungen; endnote_solei = solei1*0.4 + solei2*0.4 + weitere_leistungen*0.2; endnote = (endnote_solei); cout<<"Endnote Solei: " << endnote << endl; getchar(); break; case 'c': system("CLS"); cout<<"Geben sie die Prozente der ersten Klassenarbeit ein: "<< endl; cin >>klassen_arbeit1; cout<<"Geben sie die Prozente der zweiten Klassenarbeit ein: "<< endl; cin >>klassen_arbeit2; endnote_schriftlich = (klassen_arbeit1+klassen_arbeit2) / 2; cout<<"Geben sie die Prozente der ersten Soleinote ein: "<< endl; cin >>solei1; cout<<"Geben sie die Prozente der zweiten Soleinote ein: "<< endl; cin >>solei2; cout<<"Geben sie die Prozente der weiteren Leistungen ein: "<< endl; cin >>weitere_leistungen; endnote_schriftlich = (klassen_arbeit1+klassen_arbeit2) / 2; endnote_solei = solei1*0.4 + solei2*0.4 + weitere_leistungen*0.2; endnote = (endnote_schriftlich+endnote_solei) / 2; cout<<"Endnote: "<< endnote<< endl; getchar(); break; default: std::cout << "\n\nFehler - Für diese Eingabe gibt es keine Anweisung!\n" << std::endl; getchar(); return 0; } if (endnote<101&&endnote>90) cout << " - Note 1" << endl; if (endnote<91 && endnote>75) cout << " - Note 2" << endl; if (endnote<76 && endnote>56) cout << " - Note 3" << endl; if (endnote<57 && endnote>36) cout << " - Note 4" << endl; if (endnote<37 && endnote>14) cout << " - Note 5" << endl; if (endnote<15 && endnote>-1) cout << " - Note 6" << endl; getchar(); return 0; } char menue ( void ) { char auswahl; cout <<"Geben Sie ein, was Sie Berechnen wollen: \n" <<endl; cout <<" a = schriftliche Klassenarbeiten \n"<<endl; cout <<" b = sonstige Leistungen \n"<<endl; cout <<" c = komplette Endnote \n\n"<<endl; cin >> auswahl; return auswahl; }
Man kann noch viel verbessern, aber es funktioniert.
Nimm dir meinen Rat zu Herzen und besorg dir ein Buch. So wird das wirklich nichts...
-
ich danke dir vielmals, sieht wirklich besser aus.
jetzt muss ich da noch ein paar sachen reinbringen wie nach 3 mal abbruch.also meiner meinung nach muss man das in die wiege gelegt bekommen zu programmieren, mir liegt es nicht und bücher habe ich 2
-
Das ist nicht schwer.
Denk logisch nach:
Du brauchst was wie einen Zähler. Der bei jedem Durchlauf (<--Schleife!) inkrementiert wird.
while ( i < 3) // 0,1,2 und bei 3 bricht die Schleife ab.
Learning by doing heißt es...
So do it!
-
ja wie sagt man so schön wenn man was will muss man was dafür tun richtig?
ich werde ja förmlich gezwungenich versuche das ganze jetzt einmal nach deinen tipps umzuändern und das mit der while schleife reinzu bekommen, ich danke dir vielmals
-
ja wie sagt man so schön wenn man was will muss man was dafür tun richtig?
Sowas lese ich gerne (:
Wenn du Hilfe brauchst, melde Dich.
-
noch eine frage zur fehlerabfrage, muss ich das jetzt für jeden eingabe so machen????
das kann man doch bestimmt abkürzen ode??
weil bei den berechnung gelten ja die selben bedingungen
-
ich habe das jetzt so aufgebaut und erneuert
aber bei der fehlerabfrage sobald man einen buchstaben eingibt spinnt das programm und hört nicht mehr auf anzuzeigen das eine falsche eingabe vorliegt ?!?!#include <iostream>
using namespace std;float fka1, fka2, fensch;
float fsole1, fsole2, fwele, fensole;
float fendnote;
char menue (void);
bool error = true;int main(void)
{float fka1, fka2, fensch;
float fsole1, fsole2, fwele, fensole;
float fendnote;
char menue (void);
bool error = true;switch(menue())
{case 'a':
system("CLS");
while(error)
{
cout<<"Geben sie die Prozente der ersten Klassenarbeit ein: "<< endl;
cin >>fka1;
if(!cin.fail ()) //buchstaben abfangen
{
if(fka1 >= 0 && fka1 < 101)
error = false; //while-schleifen abbruch
else
cout<<"Falsche Eingabe"<<endl;
}
else
{
cout<<"Falsche Eingabe"<<endl;
cin.clear(); //error bit löschen
}
}cout<<"Geben sie die Prozente der zweiten Klassenarbeit ein: "<< endl;
cin >>fka2;
fensch = ((fka1+fka2) / 2);
fendnote = (fensch);
cout<<"endnote schriftlich: "<< fendnote<< endl;
getchar();
break;case 'b':
system("CLS");
cout<<"Geben sie die Prozente der ersten Soleinote ein: "<< endl;
cin >>fsole1;
cout<<"Geben sie die Prozente der zweiten Soleinote ein: "<< endl;
cin >>fsole2;
cout<<"Geben sie die Prozente der weiteren Leistungen ein: "<< endl;
cin >>fwele;
fensole = fsole1*0.4 + fsole2*0.4 + fwele*0.2;
fendnote = (fensole);
cout<<"endnote Solei: " << fendnote << endl;
getchar();
break;case 'c':
system("CLS");
cout<<"Geben sie die Prozente der ersten Klassenarbeit ein: "<< endl;cin >>fka1;
cout<<"Geben sie die Prozente der zweiten Klassenarbeit ein: "<< endl;cin >>fka2;
fensch = (fka1+fka2) / 2;cout<<"Geben sie die Prozente der ersten Soleinote ein: "<< endl;
cin >>fsole1;
cout<<"Geben sie die Prozente der zweiten Soleinote ein: "<< endl;cin >>fsole2;
cout<<"Geben sie die Prozente der weiteren Leistungen ein: "<< endl;cin >>fwele;
fensch = (fka1+fka2) / 2;
fensole = fsole1*0.4 + fsole2*0.4 + fwele*0.2;
fendnote = (fensch+fensole) / 2;cout<<"endnote: "<< fendnote<< endl;
getchar();
break;
default:
std::cout << "\n\nFehler - Für diese Eingabe gibt es keine Anweisung!\n" << std::endl;
getchar();
return 0;
break;
}
}// Auswahlmenü
char menue (void)
{
char auswahl;
cout<<"Bitte geben Sie ein was Sie berechnen möchten!"<<endl;
cout<<" a = schriftliche Arbeiten"<<endl;
cout<<" b = sonstige Leistungen"<<endl;
cout<<" c = komplette fendnote"<<endl;
cin>>auswahl;
return auswahl;
}// Berechnung schriftliche Arbeiten
float schriftliche (void)
{
fensch = (fka1 + fka2) / 2;
return fensch;
}// Berechnung sonstige Leistungen
float sonstige (void)
{
fensole = fsole1*0.4 + fsole2*0.4 + fwele*0.2;
return fensole;
}// Berechnung komplette fendnote
float endnote (void)
{
fendnote = (fensch + fensole) / 2;
return fendnote;
}