Hallo,
mir wurde andeutungsweise gesagt, es gäbe einen Schalter/eine Projekteinstellung im VisualStudio mit Hilfe dieser dann 16Bit DOS-Code erzeugt werden kann. Kennt diesen Parameter jemand?
Gruss
Holgie
P.S. Sorry, wenns das falsche Forum is, mir erschien es sinnvoll.
Ganz billig würde es z.B so aussehen
int ww;
do
{
ww=rand();
}while(ww<65||ww>122);
cout <<char(ww);break;
//Um nur groß Bustaben zu erhalten grenze von 65-90 setzen und bei nur klein von 97-122
Hehe, schön ist, dass ihr nichts am Code in der FAQ ändern könnt. Da bleibt das Sleep(50) nämlich. Und das solltet ihr jetzt in diesem Thread tun: Sleep(INFINITE)!
ich hab mir mal dein Prog angeguckt und muss sagen für nen newbie echt nicht schlecht *respekt* (wenn ich an meine ersten progs zurückdenke ...).
Was du allerdings noch z.B. ändern solltest, is dass du nicht für jede Frage/Antwort neue Variablen benutzt, bzw. diverse Programmstrukturen so auslagerst, dass es möglichst einfach Wird Fragen&Antworten hinzuzufügen.
könnte so aussehen:
#include <iostream.h>
#define nFuA 2 //Anzahl von Fragen und Antworten
int main ()
{
int fails=0, done=0;
string antw;
string FuA [nFuA][2] =
{ "Was ist die Wurzel aus 9?","3",
"Wie heißt die deutsche Hauptstadt?","Berlin"
};
for (done; done<nFuA; done++)
{
cout << FuA[done][0] <<"\n";
cin >> antw;
if (FuA[done][1] == antw)
{
cout << "Die Lösung war RICHTIG ;-)\n";
}
else
{
cout << "Sorry, deine Antwort war FALSCH :-(, richtig ist:\n";
cout << FuA[done][1] << "\n";
fails++; // ist das gleiche wie failed = failed + 1
}
}
cout << "Du hast "<< (done-fails) <<" von " << done << " Fragen richtig beantwortet!\n";
return 0;
}
so, ich hab das gerade zusammengeschuster, ich hoffe du kannst wenigstens einige Sachen verstehen.
Allso ich benutze in diesem Beispiel einen Array um die Lösungen und Antworten zu Speichern.
Der Array ist zweidimensional, in diesem Fall wähle ich mit dem 1. Index (dem Wert in der 1. eckigen Klammer) das Frage/Antwort Paar, mit dem 2. Index ob ich nun Frage oder Antwort will (0 für die Frage und 1 für die Antwort).
Diesen Array initialisiere ich zu begin mit allen Daten, und frage die dann in der Schleife ab.
Falls dir am Quelltext was unverständlich erscheint, einfach fragen (wir mussten schließlich alle mal irgendwie anfangen *g*)
mfg
-bg-
Hmmm, TSR? Das ist mit Dos-Interupt und Assembler, gell? Ich glaube nicht, dass ich das will
Das bringt mich aber auf eine andere Idee. Mal sehen, man könnte ja bei der Anmeldung einen weiteren Prozess klammheimlich und unsichtbar starten (detached), der die Daten der Anmeldung in einem Shared-Memory-Bereich hält. Das kann ja dasselbe Programm mit einem geheimen Parameter sein. Gleichzeitig könnte es auch die Konsole überwachen, indem es einfach einmal pro Sekunde nachschaut, ob sie noch da ist (geht vielleicht auch per WaitForSingleObject() mit dem Prozess-Handle, muss ich mal nachsehen). Ist die Konsole beendet, gibt das Hintergrund-Programm den Shared-Memory Bereich frei und beendet sich, und somit ist die Anmeldung gelöscht. Der Schard-Memory Bereich bekommt als Teil seines Namens die Prozess-ID der Konsole, damit sich zwei gleichzeitig geöffnete Konsolen nicht in die Quere kommen...
Hmmm, ich denke das könnte klappen.
Danke für den Denkanstoss
Hallo!!!!
Recht schönen Dank!!!!!!!!!!!!!
Jetzt brauch mir nur noch gedanken darüber zu machen, wie das ganze in dem vorgegebenen Teil umsetzen kann. SUUUUUUUUPEE!!!!!!!
Compiler findest du wie bereits gesagt ebenfalls in einem Thread in der Konsolen-FAQ. Dort stehen auch welche, die ganz sicher DOS-Programme erstellen.
MfG SideWinder
Original erstellt von David102:
Kann ich Borland C++ 3.1 irgends noch bekommen, was kostet?
Schreib mir mal ne e-Mail. Vielleicht kann ich dir weiterhelfen!
MfG
Sidius
ps: Bitte keine Fragen warum über e-Mail
1.) Code aktualisieren. <iostream>, <cstdio>, etc.
2.) C oder C++ aussuchen. <iostream> ist C++ aber für Files sollte man dann auch <fstream> hernehmen statt die <cstdio>.
Überschrift:
#include <iostream>
#include <string>
int main ()
{
std::string ueberschrift;
std::getline ( std::cin , ueberschrift );
ueberschrift.insert ( 0 , "<center>" );
ueberschrift.insert ( uberschrift.end () , "<\center>" );
...
return ( 0 );
}
Verschoben nach Standard-C++.
MfG SideWinder
Hast recht, direkte Frage zur DOS oder zur Konsole ist hier nicht vorhanden. Standard dürfte auch noch alles sein.
Ich verschiebs mal nach Std-C++.
MfG SideWinder