• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Variabeln ein - und auslesen

Wash

Neues Mitglied
Wie lese ich Eingaben in Variabeln ein und lese sie anschließend wieder aus?
Edit:
in c/c++
 
Werbung:
Code:
        CEdit* pEdit1 = (CEdit*)GetDlgItem(IDC_EDIT1);  //ID's werden übergeben?!
        CEdit* pEdit2 = (CEdit*)GetDlgItem(IDC_EDIT2); 
        CEdit* pEdit3 = (CEdit*)GetDlgItem(IDC_EDIT3); 
    

        CString str; 
        pEdit1->GetWindowText(str); 
        pEdit3->GetWindowText(str); 

        
        
        int iZahl = atoi(str); 
       [B] int dername;
        dername = peterpan;[/B]
        


        if (iZahl >= 18)
            str.Format(_T("Hi [B]%i [/B]!Du bist %i alt und darfst diesen Film sehen."), [B]dername[/B],iZahl);

....usw

zeigt mir den namen nciht an? Wie ist der Variabeltyo für Buchstaben?
Int, Float etc. gelten ja nur für Zahlen
 
Werbung:
Der Varibalentyp für Buchstaben ist char. Das gehört aber zu den absoluten Grundlagen. Vielleicht solltest Du Dich damit erstmal noch etwas beschäftigen.

Gruß thuemmy
 
Also ok, fangen wir mal mit nem kleinen Beispiel an:


Code:
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"



int main() 
{ 
    
    char xname;

    printf("Wie ist dein Name?");

    scanf("%s", &xname);

    printf ("Dein Name ist %s", xname);


    


  getchar(); // Sorgt dafür, dass sich das Fenster nicht sofort schließt.
}


Wie meckert ihr mir da rum? Ist doch eigentlich alles richtig ? Der Name wird eingegeben, eingelesen und sollte eigentlich wieder ausgegeben werden ?!
 
Werbung:
Da nimmt er aber nur den ersten Buchstaben:


Code:
#include "stdafx.h"
#include <iostream>
using namespace std; 


int main()
{
    char xname;

    cout << "Gib dein Name ein:";
    xname = cin.get();
    cout << "Du hast eingegeben: "<< xname <<"\n";



    cout << "lalalla";
    xname = cin.get();

    system("PAUSE");
    
}



Ps.
Was ist eigentlich aktueller?
Wenn man
printf ("lalallla"); sschreibt
oder
count << "lalalalal";
 
In einen char passt ja auch nur ein Zeichen rein, sagt ja der Name schon. Wenn du eine Zeichenkette einlesen willst muss der Datentyp std::string sein.

In C++ z.B.:
Code:
#include <iostream>
using namespace std;

int main()
{
  string eingabe;

  cout << "Gib was ein: ";
  cin >> eingabe;

  cout << "Du hast " << eingabe << " eingegeben." << endl;
  return 0;
}
 
In einen char passt ja auch nur ein Zeichen rein, sagt ja der Name schon. Wenn du eine Zeichenkette einlesen willst muss der Datentyp std::string sein.

In C++ z.B.:
Code:
#include <iostream>
using namespace std;

int main()
{
  string eingabe;

  cout << "Gib was ein: ";
  cin >> eingabe;

  cout << "Du hast " << eingabe << " eingegeben." << endl;
  return 0;
}

Geht nicht. Kommt folgende Fehlermeldung:

Error 1 error C2679: binary '>>' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion) c:\.........\projects\testios\testios\testios.cpp 13 testios
 
Werbung:
Funktioniert bei mir:
Code:
bjoern[~]$ g++ test.cpp -o test && chmod +x ./test && ./test
Gib was ein: foo
Du hast foo eingegeben.
Hast du versucht, das mit einem C-Compiler zu übersetzen? Wie das da aussieht weiß ich nicht, damit kenne ich mich nicht aus. Auf jeden Fall geht's da anders, soviel weiß ich.

Aber mal ehrlich, wenn du nicht mal weißt, wie die simpelste Ein- und Ausgabe funktioniert, solltest du definitiv mal ganz vorne anfangen. Und worum geht's hier überhaupt, um C oder C++? Im ersten Beitrag steht ja beides.
 
Du hast Recht.
Bin auch teilweise dabei, den theoretischen Teil durchzuarbeiten.

Aber viell. kennst du es selber, dass man nach ner Zeit "ungeduldig" wird bzw. Lust darauf hat, los zu legen.. :)

So nach dem Motto: "Learning by doing"

Ich hab hier ein Buch das c/c++ heißt.
Frage: "Lohnt" es sich mit c anzufangen? Oder soll ich mich direkt in C++ reinfuchsen?
 
Zurück
Oben