|
You last visited: Today at 10:18
Advertisement
Problem mit C++-Programm
Discussion on Problem mit C++-Programm within the C/C++ forum part of the Coders Den category.
03/03/2012, 13:15
|
#1
|
elite*gold: 0
Join Date: May 2010
Posts: 1,620
Received Thanks: 237
|
Problem mit C++-Programm
Hallo Leute,
ich hab mir vor kurzem n Buch zum Lernen von C++ gekauft.. Auf der Seite wo ich grad bin gibt es n Beispielprogramm, das hab ich mir abgeschrieben.. Aber das will nicht funktionieren und ich hab keine Ahnung warum..
Hier erstmal der Quelltext:
// Es werden drei Zufallszahlen ausgegeben
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
unsigned int x;
int z1, z2, z3;
cout << " --- Zufallszahlen --- \n" << endl;
cout << "Initialisierung des Zufallszahlengenerators\n"
<< "Geben Sie eine ganze Zahl ein: ";
cin >> x; // Eine ganze Zahl einlesen
srand( x); // und damit den Zufallszahlengenerator initialisieren
z1 = rand(); // drei Zufallszahlen erzeugen.
z2 = rand();
z3 = rand();
cout << "\nDrei Zufallszahlen: "
<< z1 << " " << z2 << " " << z3 << endl;
cin.get();
return 0;
}
Das ist der Programmcode.. Man soll also eine Zahl eingeben und das Programm erzeugt dann zufällig 3 Zahlen..
Hab den Code genauso abgeschrieben wie er im Buch steht, aber wenn ich das Programm nun starte, geht es zwar.. Aber wenn ich eine beliebige Zahl eingebe, schließt sich das Programm einfach ohne Vorwarnung und ohne dass ich die 3 Zahlen sehen kann..
Das Einzige was der Debugger anzeigt ist dann:
Das Programm "[3160] Der Typ void für Funktionen.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.
Allerdings kann ich damit leider nichts anfangen bzw. weiß nicht, was ich ändern soll, damit es klappt..
Ich hoffe, ihr könnt mir helfen.
MfG Roman
|
|
|
03/03/2012, 13:48
|
#2
|
elite*gold: 0
Join Date: Sep 2010
Posts: 454
Received Thanks: 212
|
Nach
Code:
cin >> x; // Eine ganze Zahl einlesen
fehlt ein "cin.get();".
Dann müsste es funktionieren.
|
|
|
03/03/2012, 14:03
|
#3
|
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
|
Ist doch das vollkommen richtige verhalten, wo ist dein Problem?
|
|
|
03/03/2012, 14:05
|
#4
|
elite*gold: 0
Join Date: May 2010
Posts: 1,620
Received Thanks: 237
|
@Zwawo*, hatte ich auch schon stehen, hat nicht funktioniert..
@MoepMeep: Naja in meinem Buch steht, dass das Programm mir dann eigentlich 3 zufällige Zahlen anzeigen soll, was allerdings nicht der Fall ist.. Deswegen frag ich
EDIT: Jetzt gehts, hab einfach noch ein cin.get(); nach dem cin eingefügt. Danke!
|
|
|
03/03/2012, 19:40
|
#5
|
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
|
Quote:
Originally Posted by _Roman_
@Zwawo*, hatte ich auch schon stehen, hat nicht funktioniert..
@MoepMeep: Naja in meinem Buch steht, dass das Programm mir dann eigentlich 3 zufällige Zahlen anzeigen soll, was allerdings nicht der Fall ist.. Deswegen frag ich
EDIT: Jetzt gehts, hab einfach noch ein cin.get(); nach dem cin eingefügt. Danke!
|
Programm ist fertig -> Programm geht zu. Die Methode mit std::cin.get() am Ende ist totaler Schwachsinn, ruf das Programm aus der Console auf.
|
|
|
03/04/2012, 09:59
|
#6
|
elite*gold: 0
Join Date: May 2010
Posts: 1,620
Received Thanks: 237
|
Wie meinst du das mit, aus der Console aufrufen. Ich mache es so: Ich starte ein neues, leeres Projekt und erstelle dann die Quelldatei. Dann schreibe ich halt das Programm. Dann die .exe erstellen und debuggen. Ohne die 2 cin.get(); geht es einfach nicht, wie soll es sonst gehen.
Die Source-Datei haste ja  Kannst ja gerne weitere Lösungsmöglichkeiten schreiben, würde mich freuen. Aber leider muss ich bei jedem C++-Programm am Ende ein cin.get(); machen, sonst schließt es sich.
|
|
|
03/04/2012, 10:57
|
#7
|
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
|
Start -> Ausführen -> cmd -> .exe ausführen -> freuen ;o
|
|
|
03/04/2012, 13:55
|
#8
|
elite*gold: 50
Join Date: Mar 2010
Posts: 1,373
Received Thanks: 521
|
Quote:
Originally Posted by MoepMeep
Start -> Ausführen -> cmd -> .exe ausführen -> freuen ;o
|
Oder im Programmverzeichnis eine kleine Batchdatei erstellen und dann freuen
|
|
|
03/15/2012, 18:18
|
#9
|
elite*gold: 0
Join Date: Oct 2010
Posts: 125
Received Thanks: 49
|
einfach
cin.ignore();
cin.get();
Ganz am Ende und es läuft^^
|
|
|
03/16/2012, 13:04
|
#10
|
elite*gold: 155
Join Date: Aug 2009
Posts: 628
Received Thanks: 153
|
Dein Programm läuft, wie MoepMeep bereits sagte, so wie es laufen soll.
Der "Fehler" ist gar kein Fehler, das Programm liest eine Zahl ein -> berechnet drei Zufallszahlen -> gibt diese aus -> fertig.
Das Fenster schließt sich nach erfolgreicher Ausführung und das ist nach dem letzten cout auch erreicht. Da ein PC schneller arbeitet, als ein Mensch schauen kann, sieht es für dich nur so aus, als ob das was falsch läuft.
Mein Lösungsansatz wäre einfach die conio.h zu includen und hinter das letzte cout die funktion getch() aufzurufen. Diese Funktion wartet auf den nächsten Tastendruck und danach wird erst return 0; aufgerufen und das Fenster verschwindet.
Ich hab mir mal erlaubt deinen Source anzupassen und in einen Paste einzufügen
|
|
|
03/16/2012, 15:07
|
#11
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Warum sollte er nen Header wie conio.h verwenden, der kein C++ Standard ist, der nicht von allen Compilern unterstützt wird, der von rein gar nichts Standard ist, wenn er 10000000000000000000000000000000 Möglichkeiten hat, das OS unabhängig mit Standard C++ zu lösen? Versteh nicht, warum das immer vorgeschlagen wird....
|
|
|
03/17/2012, 00:27
|
#12
|
elite*gold: 155
Join Date: Aug 2009
Posts: 628
Received Thanks: 153
|
Quote:
Originally Posted by xNopex
Warum sollte er nen Header wie conio.h verwenden, der kein C++ Standard ist, der nicht von allen Compilern unterstützt wird, der von rein gar nichts Standard ist, wenn er 10000000000000000000000000000000 Möglichkeiten hat, das OS unabhängig mit Standard C++ zu lösen? Versteh nicht, warum das immer vorgeschlagen wird.... 
|
Warum sollte man eine mögliche Lösung für sich behalten, die vll kein C++ Standard ist, die vll nicht von allen Compilern unterstützt wird, die vll auch von rein gar nichts Standard ist, wenn es noch 1000(viele Nullen) Lösungen gibt, die du stattdessen vorschlagen könntest? Versteh nicht, warum ein funktionierender Vorschlag oft von anderen Leuten mit Füßen getreten wird.... 
Mir ist halt grad nichts besseres eingefallen was funktioniert hätte. Normalerweise hätte ich ein getchar() benutzt, nur funktionierte das in diesem Fall nicht. Ich bin kein C++ Pro und arbeite auch mehr mit Qt, wo ich mich um solche Probleme nicht unbedingt kümmern muss. Aber wenn es soviele (bessere) Vorschläge gibt, dann könntest du die ja posten anstatt rumzuflamen
|
|
|
03/17/2012, 01:20
|
#13
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Quote:
|
Warum sollte man eine mögliche Lösung für sich behalten, die vll kein C++ Standard ist, die vll nicht von allen Compilern unterstützt wird, die vll auch von rein gar nichts Standard ist, wenn es noch 1000(viele Nullen) Lösungen gibt, die du stattdessen vorschlagen könntest? Versteh nicht, warum ein funktionierender Vorschlag oft von anderen Leuten mit Füßen getreten wird....
|
Weil sie einfach schlecht ist deine Lösung. Ich mach doch mein Programm nicht OS und Compilerabhängig, wegen ein paar I/O-Funktionen, wenn es dafür nicht sehr gute Gründe gibt. Und das Programm davon abzuhalten sich zu beenden ist kein guter Grund 
Alternative Lösungen wurden hier schon zu Hauf genannt. Es sei nochmals auf den iostream Header hingewiesen. Oder halt gleich das Konsolenprogramm über die cmd oder terminal oder was weiß ich was starten, dann hat man solche Probleme nicht. Aber das wurde ja alles bereits mehr oder weniger genannt.
|
|
|
03/17/2012, 01:30
|
#14
|
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,345
|
Plattformunabhängigkeit ist nur was für Leute die zu faul sind um Programme neu zu schreiben. ;O
|
|
|
03/17/2012, 07:15
|
#15
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
bei doch schon etwas größeren projekten sind das wohl die meisten
|
|
|
 |
Similar Threads
|
Java Programm Problem
12/29/2011 - General Coding - 3 Replies
Hey,
ich lerne aktuell mit dem Buch "Java von Kopf bis Fuß" und habe jetzt bei dem Phras-O-Mat (oder wie das heisst) das Problem, dass sich das Programm nicht ausführen lässt.
Quellcode:
public class Phrasengenerator {
public static void main (String args) {
// Drei Wortgruppen erstellen
|
programm problem
12/23/2011 - .NET Languages - 3 Replies
hey com
da ich die public bilder uploader nicht so gut finde kamm mir eine kleine idee könnte man ein programm schreibe womit man bilder direkt auf seine eigene zb. funpic seite hochladen kann ich habe es mir so vorgestellt
ich hoffe ihr könnt mir helfen
http://s1.directupload.net/images/111202/temp/wj7 tui2y.png
|
[Schnelle Hilfe]Programm Problem
01/06/2011 - General Coding - 4 Replies
hi eute also ich habe da ein problem und zwar will ich über eine options form in der Start form1 etwas an zeigen. nur wenn ich das progamm starte geht es nicht sondern erst wenn ich auf die form2 klicke geht es.
hoffe jemand versteht das.
brauche dringent hilfe dabei.:confused::confused::confused:
|
there is a problem in the function of anti hacking.the programm is closing
11/14/2010 - Kal Online - 13 Replies
hey
irgendwie kommt auf dem pc von meinem bro(seit heute mittag) immer dieses "there is a problem in the function of anti hacking.the programm is closing"
wenn er kal startet(int kal,kein pserver) falls einer ne idee hat mal bescheid sagen :D
danke :D
|
Problem beim ersten Programm :(
01/05/2007 - General Coding - 7 Replies
Hallo alle zusammen und ein Happy new Year...
Nach dem ich nun schon knapp ne Woche c++ lerne hab ich mir vor 2 Tagen gedacht, wie wäre ein Netsettings Generator für CS:S. Gesagt getan und nun bin ich schon fast fertig das einzigste Problem was ich habe ist folgendes
Ich möchte die Netsettings ins Verzeichnis C:/ abspeichern klappt auch alles wunderschön auser...
er macht einfach keinen Zeilenumbruch. Hab schon relativ viel versucht aber leider keinen erfolg ^^
Hier mal der Code zum...
|
All times are GMT +1. The time now is 10:18.
|
|