Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » problem mit struct

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 <
010
04.07.2005, 19:40 Uhr
~Skippy
Gast


So das hab ich gemacht jetzt meint er folgendes

12 CCrystalSpace\testa\main.cpp conversion from `tRoom*' to non-scalar type `tRoom' requested

also ist noch ein fehler in der übergabe der struct tippe ich mal
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
04.07.2005, 19:48 Uhr
Spacelord
Hoffnungsloser Fall


Ändere deinen Funtionsparameter auf nen Zeiger auf tRoom.

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
012
04.07.2005, 20:42 Uhr
~Sk
Gast


So hier mal die funktionierende Version aber ohne Zeiger(da die funktion nur einmal benötigt wird lohnt sich das ja eigentlich nicht oder?)
und ein großes Dankeschön an euch alle

aber zu der funktion hätt ich noch ne frage kann man daran jetzt noch was am code optimieren ?
wenn ja könntet ihr mal ein paar infos geben was genau?


gaestebuch.h

C++:
#include <iostream>                            // Include this for the cin/cout classes
#include <fstream>                            // Include this for the ifstream class
#include <string>                            // Include this for the string class
#include <windows.h>

using namespace std;                        // Use the standard namespace

struct tRoom
{                                                
//Dies sind die benötigten strings fürs Gästebuch
    string gDATE;                        //     Datum und Uhrzeit des Eintrages        
    string gTITEL;                        //     Titel des Eintrages
    string gEMAIL;                        //  Die Email der users der den Eintrag vornahm
    string gUSERNAME;                    //     Den Usernamen der angegeben wurde
    string gTEXT;                        //     Dies ist der eingebene Text        
};




void SaveGuestBook(struct tRoom);




gaestebuch.cpp

C++:


#include "gaestebuch.h"



void SaveGuestBook(struct tRoom room)
{
    // Create some temporary strings for reading in data from world.txt
    string strLine = "";
    string strTemp = "";
    
//hier wird der Datensatz zusammengestellt als Trennzeichen wird   |@| verwendet
    string strgMESSAGE = room.gDATE + "|@|" + room.gTITEL + "|@|" + room.gEMAIL + "|@|"+ room.gUSERNAME + "|@|"+ room.gTEXT;

      ofstream dat_aus;
      dat_aus.open("Guestbook.txt", ios_base::app);
       /*Beretta: Dateiname nun Fest. ios_base::app; neue Daten werden nun angehängt.*/

                        if(!dat_aus)
                        {
                          cout<<"Error, cant find file!"<<endl;
                        }

                        dat_aus<<strgMESSAGE<< "\n" <<endl;
                        dat_aus.close();
}




main.cpp

C++:
#include <cstdlib>
#include <iostream>
#include "gaestebuch.h"


using namespace std;

int main(int argc, char *argv[])
{

struct tRoom room = { "30/02/05", "Das ist Der TITEL", "SKIPPY@GMX:DE", "SKIPPY", "DER Blöde TEXT"} ;

SaveGuestBook(room);


}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
05.07.2005, 10:58 Uhr
Th



Hi,

ändere den Funktionskopf noch in:


C++:
void SaveGuestBook(const struct tRoom & room)


Dann ist alles perfekt...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
06.07.2005, 17:56 Uhr
~Skippy
Gast



C++:
void SaveGuestBook(const struct tRoom & room)


kann ich doch nur nehmen wenn die struct tRoom konstant ist oder habe ich das mit const falsch verstanden


da die anweisung

C++:
struct tRoom room = { "30/02/05", "Das ist Der TITEL", "SKIPPY@GMX:DE", "SKIPPY", "DER Blöde TEXT"} ;

ja nur der platzhalter für die richtige funktion war

jetzt sieht es in der main.cpp so aus


C++:
    struct gBook room;

    for (std::map<std::string, std::string>::const_iterator i = r->params_.begin();
         i != r->params_.end();
         i++) {

      body += "<br>" + i->first + " = " + i->second;

    if(i->first == "gTITEL") {
        room.gTITEL = i->second;
      }
    if(i->first == "gEMAIL") {
        room.gEMAIL = i->second;
      }
    if(i->first == "gUSERNAME") {
        room.gUSERNAME = i->second;
      }
    if(i->first == "gTEXT") {
        room.gTEXT = i->second;
      }

    }

  time_t rawtime;
  time ( &rawtime );

    if(servdebug = 0) {    
      printf ( "Current date and time are: %s", ctime (&rawtime) );
      }

  room.gDATE = ctime (&rawtime);

    SaveGuestBook(room);

 
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: