Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

goldfisch007

Alter Hase

  • »goldfisch007« ist der Autor dieses Themas

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

11

20.05.2009, 09:30

so probier das dann ma aus, wenn ich wieder zu hause bin...
(aktuell in der schule=(

danke :idea: :idea:
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

12

20.05.2009, 23:16

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{ // append new content to file

    const std::string write("Hallo, ich bin's!");
    std::ofstream file_stream("test.hsc", std::ios_base::app);
    file_stream << write << std::endl;
    // Der Destruktor von file_stream macht schon den Rest

}

{ // read file content

    std::ifstream file_stream("test.hsc");
    std::string temp_line;

    while (std::getline(input, temp_line))
        std::cout << "Wert aus Datei: " << temp_line << std::endl;
}
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

goldfisch007

Alter Hase

  • »goldfisch007« ist der Autor dieses Themas

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

13

21.05.2009, 01:01

tja was soll ich sagen ihr habt mir ma wieder super geholfen =)
thx a lot noch ma dafür...
aber aus ner lösung entstehen ja auch neue fragen, meine ist :

Gibt es eine Möglichkeit ein Zeichen an der Stelle "pos" mit der

C-/C++-Quelltext

1
.at();
bzw. [] abzufragen? und dann per switch: case zuverzweigen?

ich würde mir das so vorstellen (die ausgabe des jeweiligen zeichens für die den kompletten string):

C-/C++-Quelltext

1
2
3
4
5
6
7
8
char buchstabe;

do
{
  buchstabe=sString[p];
  cout<<buchstabe<<endl;
  getch();
}while(pos<=sString_laenge);


ist daran erstmal was falsch?

dann später wenn ich auf jedes Zeichen einzeln eingehen möchte:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
char buchstabe;

do
{
 buchstabe=sString.at(p);
 switch(buchstabe)
 {
   case(''):
   {
   }break;
 }
}while(pos<=sSting_laenge);


in meiner anwendung, habe ich aktuell den ersten fall und das programm wird immer an der ausgabe stelle beendet (von windows ): ... . exe hat ein problem festgestellt und muss beendet werden."
hat wer ne idee? bzw. wurde das problem verstanden?
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

14

21.05.2009, 05:00

vermutlich versuchst du auf ne position zuzugreifen die es im string (bzw. dem zugrunde liegende array) nicht gibt .

ist der wert von p immer im richtigen bereich? welchen wert hat p als erstes?


(wird das nicht abgefangen vom string?)

goldfisch007

Alter Hase

  • »goldfisch007« ist der Autor dieses Themas

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

15

21.05.2009, 09:15

hey danke hab überprüft und p wurde ohne zuweisung initialisiert...
also

C-/C++-Quelltext

1
int p;



und nicht

C-/C++-Quelltext

1
int p=0;


jetzt käufts genauso wies soll

danke an alle mir geholfen haben...
werde dieses Projekt bald im Forum vorstellen, auch wenns kein spiel wird....´ geht dochn auch oda?
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

16

21.05.2009, 10:30

Zitat von »"Beneroth"«

(wird das nicht abgefangen vom string?)
Wenn man mit at() zugreift, wird bei ungültigem Index eine Exception vom Typ std::out_of_range geworfen. Bei operator[] hat man hingegen undefiniertes Verhalten.

Zudem haben viele Implementierungen im Debug-Modus Assertions und eine Menge anderer Sicherheitschecks.

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

17

21.05.2009, 13:43

Zitat von »"goldfisch007"«


werde dieses Projekt bald im Forum vorstellen, auch wenns kein spiel wird....´ geht dochn auch oda?


ja sicher! :D
Cool das Du es hingekriegt hast :)


@Nexus: Danke für die Info :)

goldfisch007

Alter Hase

  • »goldfisch007« ist der Autor dieses Themas

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

18

08.06.2009, 21:28

so jez gibts hier auch ma was neues....

ich abe vollgendes feature realisiert:
man kann nun ein geheimtextalphabet selber festlegen
damit wird dann der text verschlüsselt und in eine datei ausgegeben.

jetzt hab ich aber ein problem beim entschlüsseln des Inhalts selbiger Datei

tja hoffe ihr könnt mir helfen bin nen bissel verzweifelt und steh unter zeitdruck(2 tage eher einer) hab zwar was was funzt, aba net so schön ...

hier der code

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
void decrypt()
{
 int string_laenge=0;
 int p=0;
 int buchstabe_crypt_stelle=0;
 char buchstabe_decrypt;
 char buchstabe_crypt;
 std::string sChiffre;
 std::string sAlpha;


 std::ifstream Chiffre ("chiffre.txt");
  std::getline(Chiffre, sChiffre);
 Chiffre.close();
 string_laenge= sChiffre.length();

 if(Chiffre==NULL)
 {
     cout<<"Datei \"chiffre.txt\" nicht vorhanden."<<endl;
     Sleep(2000);
     system("cls");
     menue();
 }

 std:: ifstream Alpha ("alpha_klar.txt");
  std::getline(Alpha,sAlpha);
 Alpha.close();

 if(Alpha==NULL)
 {
     cout<<"Datei \"alpha_klar.txt\" nicht vorhanden."<<endl;
     Sleep(2000);
     system("cls");
     menue();
 }
 do
 {
   buchstabe_crypt=sChiffre.at(p);
   buchstabe_crypt_stelle=static_cast<int> (sChiffre.find(buchstabe_crypt));
   buchstabe_decrypt=sAlpha.at(buchstabe_crypt_stelle);
   ofstream Klartext("entschluesselt.txt", ios::app);
    Klartext.write((char*)&buchstabe_decrypt,sizeof(buchstabe_decrypt));
   Klartext.close();
  p++;
 if(p>=string_laenge)
  {
   cout<<" "<<endl;
   cout<<"---------------------------------------------------"<<endl;
   cout<<" "<<endl;
   cout<<"Ihr Text wurde erfolgreich entschluesselt"<<endl;
   cout<<"und in die Datei \"entschluesselt.txt\"geschrieben."<<endl;
   getch();
   system("CLS");
   menue();
  }
 }while(p<string_laenge+1);
}


soweit so schön...
nur ich hab ma spßes halber nen

C-/C++-Quelltext

1
cout<<buchstabe_decrypt<<endl;

reingetan und da kam abstruses zeug...

--> er liest die Buchstaben richtig aus der Datei hat aber beim umwandeln nen problem (hab auch den anderen buchstaben über cout ausgeben lassen der war ok)

als ausgabe in "entschluessel.txt" bekomm ich aktuell(variert nach ausgangstext):

Zitat

慡bcdÿ晦


was ähnliches hatte ich als ich versucht hab in ne txt int's zu schreiben
(brauch ich auch noch für statistik[besonders wichtig]) hat wer dazu noch nen tip?

danke jez schon ma für eure Hilfe
goldfisch007
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

goldfisch007

Alter Hase

  • »goldfisch007« ist der Autor dieses Themas

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

19

09.06.2009, 21:30

hallo wer da?

:( :( :( :( :cry: :cry: :cry: :cry: :cry:
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

20

10.06.2009, 00:41

Hm du schreibst binary ...

C-/C++-Quelltext

1
2
3
   ofstream Klartext("entschluesselt.txt", ios::app);
    Klartext << buchstabe_decrypt;
   Klartext.close();
...

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void decrypt()
{
    std::string chiffre;
    {
        std::ifstream file_chiffre("chiffre.txt");
        if (!file_chiffre || std::getline(file_chiffre, chiffre)) { std::cerr << "FEHLER: \"chiffre.txt\" konnte nicht geöffnet werden!" << std::endl; return; }
    }
    std::string alphabet;
    {
        std:: ifstream file_alphabet("alpha_klar.txt");
        if (!file_alphabet|| std::getline(file_alphabet, alphabet)) { std::cerr << "FEHLER: \"alpha_klar.txt\" konnte nicht geöffnet werden!" << std::endl; return; }
    }

    std::string result("");
    for (std::size_t i(0); i < chiffre.length(); ++i)
    {
        
danach macht dein Code keinen Sinn ...

C-/C++-Quelltext

1
buchstabe_crypt_stelle=static_cast<int> (sChiffre.find(buchstabe_crypt)); 
das sollte doch wieder p sein?! wie soll der algo denn richtig gehen? :D
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Werbeanzeige