Daddy-O Geschrieben 16. Januar 2009 Geschrieben 16. Januar 2009 Hallo, ich bitte dringend um Hilfe, da ich ein Lebenserwartungsprogram schreibe und nicht weiter komme! Das Lebenserwartungsprogram ist eher gesagt ein Test, Fragen wie: 1. Was ist ihr Geschlecht? A= weiblich B= männlich 2. Wie lebst du? A= In einem Stadtgebiet mit über 2 Millionen Einwohnern? B= In einer Stadt unter 10.000 Leuten oder einem Bauernhof? C= Weder noch 3. Wie arbeitest du? A= Arbeitest du hinter einem Schreibtisch? B= Arbeitest du hart gefordert in einem Physikalischen Labor? C= Weder noch etc. sollen zum Schluss auswerten wie alt man wird! Ich habe mir gedacht ich könnte am Anfang ein durchschnittsalter von 50 ansetzen und bei positiver Antwort immer 2 Jahre daraufaddieren und negativen 0! Nur weiß ich leider nicht mit welchen Funktionen ich dies umsetzen kann! Mit If habe ich das Menü erstellt A. Anleitung B. Spiel beginnen C. Ende ! Bitte helft mir:) -..muss es bis Morgen Abend fertig haben! Liebe Grüße;) Zitieren
tepmak Geschrieben 16. Januar 2009 Geschrieben 16. Januar 2009 kannst du bitte dein Quellcode uns zeigen was du schon hast? und wie hast du es dir ungefähr gedacht? PS: Es bring dir wenig, wenn jmd. hier für dich das Progamm schreibst, weil du so nichts lernst;) Kleiner Tipp du brauchst paar Variabeln und paar if abfragen Zitieren
flashpixx Geschrieben 17. Januar 2009 Geschrieben 17. Januar 2009 Ich schließe mich an, poste bitte einmal was Du schon hast, aber wenn DU das Menü schon hast, sollte der Rest doch auch kein Problem sein Phil Zitieren
oxygen Geschrieben 17. Januar 2009 Geschrieben 17. Januar 2009 Ich bin zwar "C++er", aber da das Programm wahrscheinlich Struckturiert geschrieben werden soll, müsste es auch in C gehn: Du hast dir die Antwort doch schon gegeben. Lies mal den 5. letzten Absatz deines Anfangsposts durch und überleg dir, wo du die überlegung am besten Einbaust und das hast du mit deinem Menü schon "geübt". Probier mal selbst drauf zu kommen. Zitieren
TDM Geschrieben 19. Januar 2009 Geschrieben 19. Januar 2009 Bitte helft mir:) -..muss es bis Morgen Abend fertig haben! Da ist es dir ja früh eingefallen. Zitieren
Daddy-O Geschrieben 21. Januar 2009 Autor Geschrieben 21. Januar 2009 wie kann ich denn einen "unsichtbaren Zähler einbauen" der die Zahlen auf das mindestalter addiert? Grüße Ps: habe zum Glück jetzt doch etwas länger Zeit! Zitieren
Klotzkopp Geschrieben 21. Januar 2009 Geschrieben 21. Januar 2009 wie kann ich denn einen "unsichtbaren Zähler einbauen" der die Zahlen auf das mindestalter addiert? Was soll denn ein "unsichtbarer Zähler" sein? Um die int-Variable x um (beispielsweise) 5 zu erhöhen, kannst du folgenden Code benutzen: x+=5; Zitieren
Daddy-O Geschrieben 21. Januar 2009 Autor Geschrieben 21. Januar 2009 ah danke super das funkt, wenn man solch kleine Anweisungen nicht kennt, ist man schon aufgeschmissen! Kann ich mich also so durch die Fragen arbeiten und mit if anweisungen dann immer +die jahre rechnen ? oder soll ich die fragen mit switch bearbeiten? was wäre die beste Lösung?es sind ca. 21 Fragen! Grüße Zitieren
Daddy-O Geschrieben 21. Januar 2009 Autor Geschrieben 21. Januar 2009 #include <utility.h> #include <ansi_c.h> #include <cvirte.h> /* Needed if linking in external compiler; harmless otherwise */ int main (int argc, char *argv[]) { char Eingabe; int x; x = 50; Cls(); do { printf("Test des Zählers!!\n"); printf("\n\n#### Geschlecht ####"); printf("\n m = männlich"); printf("\n w = weiblich\n\n\n"); printf("Bitte geben Sie nun den richtigen Buchstaben ein:\n"); printf("Eingabe:"); scanf("%c",&Eingabe); if(Eingabe!='w','m') printf("\n\nBitte gebe w oder m ein\n\n"); Cls(); }while(Eingabe!='w','m'); if(Eingabe=='w') { x+=5; } if(Eingabe=='m') { x+=0; printf("\n%i",x); } return 0; } Problem: Kann ich das so machen if(Eingabe!='w','m') ?eher nicht oder, da bei w oder m wieder die eingabeaufforderung kommt, wenn ich nur if(Eingabe!='w') funktioniert es! Help! Zitieren
Klotzkopp Geschrieben 21. Januar 2009 Geschrieben 21. Januar 2009 Kann ich das so machen if(Eingabe!='w','m')Nein. Das ist zwar syntaktisch richtig, aber der Kommaoperator, der hier zum Einsatz kommt, macht nicht das, was du möchtest. Wenn du mehrere Bedingungen prüfen willst, musst du sie mit den Booleschen Operatoren verknüpfen: if(Eingabe!='w' && Eingabe !='m') Zitieren
AndiE Geschrieben 21. Januar 2009 Geschrieben 21. Januar 2009 Hallo, warum so kompliziert? main() { int alter; int aenderung; for(i=1; i<21;i++) //Für 21 Fragen { aenderung=stellefrage(i) alter=alter+aenderung; } ausgabe(); //Ausgabe des Alters } int stellefrage(int i) { char auswahl; printf("%s",frage[i]); { auswahl=getc(); if(auswahl==buchstabe1[i]) return anderung1[i]; else if(auswahl==buchstabe2[i]) return aenderung2[i]; else if(auswahl==buchstabe3[i]) return aederung3[i]; } while (....) //Fehlerabfrage } Man könnte daraus auch eine Struktur machen struct frage { char[40] frage; char buchstabe1; char buchstabe2; char buchstabe3; int aenderung1; int aenderung2; int aenderung3; }; und die Fragen als Feld in einem eigenen Header ablegen. struct frage fragen[21] Zitieren
Daddy-O Geschrieben 27. Januar 2009 Autor Geschrieben 27. Januar 2009 hallo, danke nochmals für die Hilfe..habe das Program soweit fertig! nur würde ich gerne noch wissen wie ich ein get key() bei einer switch funktion einbaue... also halt case 1 für Anleitung, case 2 für Spiel und Case 3 für Ende! Nun will ich halt, das bei Tastendruck von 1,2 oder 3 direkt in das Fenster springt ohne Enter und ohne die Eingabe von 1,2 oder 3 zu sehen ! Grüße und Danke Zitieren
Klotzkopp Geschrieben 27. Januar 2009 Geschrieben 27. Januar 2009 Das ist portabel nicht möglich, dazu müsstest du auf eine betriebssystemspezifische Funktion zurückgreifen. Zitieren
Daddy-O Geschrieben 27. Januar 2009 Autor Geschrieben 27. Januar 2009 und wie funktioniert dies? Zitieren
Klotzkopp Geschrieben 27. Januar 2009 Geschrieben 27. Januar 2009 Das kommt darauf an, unter welchem Betriebssystem das laufen soll. Zitieren
Daddy-O Geschrieben 27. Januar 2009 Autor Geschrieben 27. Januar 2009 okay wie würde das dann ungefähr bei ner switch funktion aussehen? Grüße Zitieren
Klotzkopp Geschrieben 27. Januar 2009 Geschrieben 27. Januar 2009 wie würde das dann ungefähr bei ner switch funktion aussehen?Anstatt nach wenigen Minuten mit der nächsten Frage um die Ecke zu kommen, könntest du auch versuchen, deinen Verstand zu benutzen, die Seite (mitsamt dem Beispiel) aufmerksam durchlesen, versuchen zu verstehen, und es selbst mal ausprobieren. Du kannst mir nicht erzählen, dass du das alles in 6 Minuten gemacht hast. Und wenn du dann immer noch nicht weiterkommst, dann meld dich wieder hier, mit einer konkreten Fragestellung. Ein wenig selbst Denken ist durchaus erlaubt. Zitieren
Daddy-O Geschrieben 27. Januar 2009 Autor Geschrieben 27. Januar 2009 hast schon recht! bis dann Zitieren
TDM Geschrieben 28. Januar 2009 Geschrieben 28. Januar 2009 (bearbeitet) C/C++ Forum :: getch(), getche(), kbhit(), getchar() :floet: [Edit] ach, gab ja schon ne zweite Seite. O.o Klotzkopp, warum _getch und nicht getch? Bearbeitet 28. Januar 2009 von TDM Zitieren
Klotzkopp Geschrieben 28. Januar 2009 Geschrieben 28. Januar 2009 In Visual C++ ist getch deprecated, da dachte ich, ich verlinke lieber auf die Seite, die nicht nur einen diesbzüglichen Hinweis zeigt, sondern gleich die mit dem passenden Beispiel. Andere POSIX-konforme Compiler können das natürlich noch anbieten. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.