Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » abnormal program termination

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
10.09.2004, 15:38 Uhr
RedEagle



wenn ich folgenden code ausführe:

C++:
#include <iostream>
#include <string>
#include <conio.h>

using namespace std;

string   crypt(string, string);
string uncrypt(string, string);

int main(){

    string  password, input;
    cout << "Source: ";
    cin >> input;
    cout << "Pass: ";
    cin >> password;
    
    input = crypt(input, password);
    
    cout << "---------------------------" << endl;
    cout << "Crypted: " << input << endl;
    cout << "---------------------------" << endl;
    
    input = uncrypt(input, password);
    
    cout << "Decrypted: " << input;
    getch();
    return 0;
}


string crypt(string text, string pw)
{
/* Wir verschlüsseln den Text, indem wir ihn jeden Buchstaben des
           Textes mit einem Buchstaben des Passwortes verschlüsseln. */

  for(int i = 0; i < text.size(); ++i)
  {
   text[i] = text[i] ^ pw[i % pw.size()];
  }
}


string uncrypt(string text, string pw)
{
/* Nun entschlüsseln wir den Text wieder, indem wir die Verschlüsselung
           umkehren und den jeden Buchstaben des verschlüsselten Text einfach wieder
           mit jedem Buchstaben des (neuen) Passwortes XOR-Verknüpfen. */

  for(unsigned i = 0; i < text.size(); ++i)
  {
   text[i] = text[i] ^ pw[i % pw.size()];
  }
}



wird kompiliert, und die beiden Eingaben (input, passwort) werden angezeigt. wenn man beides eingegeben hat, wird das Konsolen-fenster geschlossen. Ich habe dann das Programm über die DOS-Box geöffnet, (weil ich keinen Fehler gefunden habe) und da wurde dann
"abnormal program termination" angezeigt. woran liegt das??

(Der fehler trit auf, seitdem ich die for-schleifen in die Funktionen gepackt habe.)
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.09.2004, 17:12 Uhr
stephanw
localhorst


weil Du kein return hast ?! Entweder Du gibst entsprechend deiner Funktionsdeklaration auch einen String zurück oder Du musst auf Referenzen arbeiten:

C++:
void crypt(string& text, string pw)
{
/* Wir verschlüsseln den Text, indem wir ihn jeden Buchstaben des
           Textes mit einem Buchstaben des Passwortes verschlüsseln. */

  for(int i = 0; i < text.size(); ++i)
  {
   text[i] = text[i] ^ pw[i % pw.size()];
  }
}


--
Reden ist Schweigen und Silber ist Gold.

Dieser Post wurde am 10.09.2004 um 17:13 Uhr von stephanw editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.09.2004, 17:16 Uhr
RedEagle





--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.09.2004, 18:03 Uhr
stephanw
localhorst


Wie kann sowas eigentlich kompilieren ? Wenigstens eine Warnung sollte auch der MS VC produzieren!
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.09.2004, 18:13 Uhr
Spacelord
Hoffnungsloser Fall


RedEagle benutzt DEV-CPP. VC++ findet er Scheisse.
War schon öfters dass ich RedEagle irgendwelche korrekten Api-Beispiele gegeben hab die bei ihm nicht zu kompilieren waren.
Dafür kompilieren aber anscheinend Funktionen die einen Rückgabewert liefern sollen und es nicht tun.

Scheint ja wirklich ne tolle IDE zu sein...

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.09.2004, 18:17 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Wäre vielleicht besser ihn aus der Linkliste des Forums herauszunehmen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.09.2004, 18:22 Uhr
RedEagle




Zitat von Spacelord:

RedEagle benutzt DEV-CPP. VC++ findet er Scheisse. ...


Besser hätte ich es auch nicht sagen können

Aus der Linkliste rausnehmen währe übertrieben.
Mann sollte erstmal die Version 5.0 abwarten.

aber das sich das Kompilieren lässt, ist wirklich mist
--
MFG RedEagle

Dieser Post wurde am 10.09.2004 um 18:22 Uhr von RedEagle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.09.2004, 20:55 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


dem standard nach gibt ne funktion 0 zurück oder etwa nicht? dann ist das auch erlaubt, ein string erlaubt ja ein


C++:
std::string a = 0;



oder nicht?
Wenn nicht, ists ein Bug im Compiler/Linker das er das durchlässt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.02.2006, 08:50 Uhr
~C Profi
Gast


gibt er doch nicht zurück, wenn die Datei so ausgeführt wird!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.02.2006, 08:51 Uhr
~C Profi
Gast


gibt er doch nicht zurück, wenn die Datei so ausgeführt wird!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: