[C/C++] Wei kann ich soetwas machen?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von KrustyxP, 4. Januar 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 4. Januar 2008
    Wei kann ich soetwas machen?

    Hi
    Bin noch ein ziemlicher Nub was programmieren betrifft.^^
    Programmiere mit Microsoft Visual C++ 6.0.

    So nun wollte ich heute so was wie ne noobie-Matrix programmieren.

    Also am Anfang sollte es so aussehen :

    Code:
    // Matrix.cpp : Definiert den Einsprungpunkt für die Konsolenanwendung.
    //
    
    #include "stdafx.h"
    #include <iostream.h>
    #include <stdlib.h>
    
    int main(int argc, char* argv[])
    {
     int i,fact,y,n;
    
    
    
     cout<<"Matrix starten? y/n";
    
    .
    .
    .
    .
    .
    
     
    system ("pause");
    return 0; 
    }
    
    
    Ich habe echt alles getestes, aber ich kam nicht drauf.

    "Wie mache ich das das er bei y
    Code:
    fact=0;
    for (i=1; i>fact; i=i+1)
     fact=fact+i;
    
    "und bei n
    Code:
    cout<<"dann eben net du Spacken" <<endl;
    macht?

    Bw ist natürlich für jede Hilfe drinn
     
  2. 4. Januar 2008
    AW: Wei kann ich soetwas machen?

    Hi,

    musst erst den User fragen und das dann auswerten.
    Das geht mit "cin" und zB "switch()" oder "if()"

    Lies Dir mal Tutorials durch.

    http://tutorial.schornboeck.net/eingabe.htm

    http://tutorial.schornboeck.net/switch.htm


    lg
    Sn0wm4n

    ps: Was soll eigentlich diese FOR-Schleife bewirken?!
    pps: Schau Dir in google mal Inkrement / Dekrement an.
    Einfacher als:

    PHP:
    1
    ist...
    PHP:
    i ++
     
  3. 4. Januar 2008
    AW: Wei kann ich soetwas machen?

    Ja, ich habe das schonmal mit cin versucht, aber das Problem dabei ist, dass ich ja y/n nur zu einer Variblen machen kann z.B. I.
    Und später bei der ("endlos")-Schleife wollte ich wieder I einsetzen aber der Pc peilt nicht ob I dann y oder n ist.

    Oder liegt es daran das ich den if/else Befehl falsch schreibe.
    Wie muss ich den denn schreiben wenn ich sagen will : Wenn User press y dann ....

    ist das dann = if(y)

    ich hab keine Ahnung wie ich das schreiben muss.
     
  4. 4. Januar 2008
    AW: Wei kann ich soetwas machen?

    Also im Inet findeste eigentlich alles, was Du dafür brauchst ...

    1. Wenn Du einen Buchstaben eingeben willst darfst Du nicht int oder andere nehmen. Google mal nach char
    2.
    PHP:
    char i ;
    cin  >>  i ;
    if ( 
    ==  'y' cout  <<  "rofl" ;
    3. Besser geht es wie gesagt mit switch. Such Dir dazu in google mal Tutorials. Dann kannst Du alle 4 Fälle behandeln ('y', 'n', 'Y', 'N') und auch ein default setzen bei falscher Eingabe.


    lg
    Sn0wm4n
     
  5. 5. Januar 2008
    AW: Wei kann ich soetwas machen?

    hi!
    abfrage sollte so aussehen ... [nicht getestet]
    Code:
    int main()
    {
     char eingabe;
     cout << "Matrix starten? y/n";
     cin >> eingabe; //da drinnen steht jetzt was der benutzer angegeben hat
     if (eingabe == 'y') 
     {
     fact=0;
     for (i=1; i>fact; i=i+1)
     fact=fact+i;
     }
     else
     cout << "dann eben net du Spacken" << endl;
     return 0;
    }
    
    ist wie gesagt ausm kopf heraus programmiert, kann sein dass sich irgendwo n syntaxfehler eingeschlichen hat grundprinzip passt aber so!
     
  6. 5. Januar 2008
    AW: Wei kann ich soetwas machen?

    Hi,
    Danke dir, bei mir sieht es jetzt so aus :

    Code:
    #include "stdafx.h"
    #include <stdlib.h>
    #include <iostream.h> 
    
    
    int main(int argc, char* argv[])
    {
     char eingabe,fact,i;
     cout << "Matrix starten? y/n\n";
     cin >> eingabe; 
     if (eingabe == 'y') 
     {
     fact=0;
     for (i=1; i>fact; i=i+1)
     fact=fact+i;
     }
     else
     cout << "dann eben net du Spacken" << endl;
     
     
     system("PAUSE"); 
     return 0;
    }
    Aber irgendwie fängt er nicht mit der Schleife an wenn man y + enter drückt... worann könnte denn das liegen ?
     
  7. 5. Januar 2008
    AW: Wei kann ich soetwas machen?

    was willst du denn mit dem programm erreichen? ich verstehe den sinn der for-schleife nicht ganz, das wird in einer endlosschleife enden

    gib mal direkt in der if-bedingung einen text aus um zu sehen ob er überhaupt bis zur schleife kommt!
     
  8. 5. Januar 2008
    AW: Wei kann ich soetwas machen?


    Soll es ja auch ^^
    Deswegen "newbie"-Matrix
     
  9. 6. Januar 2008
    AW: Wei kann ich soetwas machen?

    Also ich seh bei deiner "Matrix" 3 Probleme:

    1. Du hast keine in deiner Matrix keine Ausgabe, also wirst du da auch nie was sehen können.
    2. Versteh ich nciht, für was du den Parameter "fact" soll.
    3. Wenn du eine Endlosschleife willst, warum nimmst du dann nicht einfach "while()"

    Wenn ich dich richtig verstanden habe willst du ja den benutzer erst Fragen ob er deine Matrix sehen will und wenn dieser mit y antwortet, soll er in eine Endlosschleife kommen.

    Ich würde das ganze so machen:

    Code:
    #include <stdlib.h>
    #include <iostream.h>
    
    
    int main(int argc, char* argv[])
    {
     char eingabe,fact,i;
     cout << "Matrix starten? y/n\n";
     cin >> eingabe;
     if (eingabe == 'y')
     {
     while(1) //mit dem Parameter 1 ist dies eine Endlosschleife
     {
     cout << "BlaaBlubb"; /*Hier soltest du was ausgeben,
     damit die Matrix nicht vollkommen sinnlos ist ;-)*/
     }
     }
     else
     cout << "dann eben net du Spacken" << endl;
    
    
     system("PAUSE");
     return 0;
    }

    Wenn du das ganze jetzt noch case sensitive (Groß- und Kleinschreibung beachten) machen willst und Fehleingaben beachten willst musst du das so machen:

    Code:
    #include <stdlib.h>
    #include <iostream.h>
    
    
    int main(int argc, char* argv[])
    {
     char eingabe;
    
     do //do-while Schleife solange bis "eingabe" ungleich n/N
     {
     cout << "Matrix starten? y/n\n";
     cin >> eingabe;
     if (eingabe == 'y' || eingabe == 'Y') // Groß- und Kleinschreibung
     {
     while(1) //mit dem Parameter 1 ist dies eine Endlosschleife
     {
     cout << "BlaaBlubb"; /*Hier soltest du was ausgeben,
     damit die Matrix nicht vollkommen sinnlos ist ;-)*/
     }
     }
     else if (eingabe == 'n' || eingabe == 'N') // Groß- und Kleinschreibung
     {
     cout << "dann eben net du Spacken" << endl;
     }
     else
     cout<<"Ungueltige Eingabe\n"; //Fehlermeldung bei Falscheingabe
     }
     while(eingabe != 110 && eingabe != 78); //ASCII: 110 = n und 78 = N
    
     system("PAUSE");
    
     return 0;
    }
    Aber wie Sn0wm4n schon sagte, geht die ganze Sache leichter über eine Switch-Case Verzweigung.
    Die scheinst du ja nicht sonderlich zu mögen

    Hoffe ich konnte helfen.

    Grüße aim
     
  10. 6. Januar 2008
    AW: Wei kann ich soetwas machen?

    Ok danke sehr für eure Hilfe... hab jetzt alles gecheckt und klappet
    Bw's sind raus.

    EDIT // doch noch einmal eine Frage, mein Prog. sieht jetzt erst mal so aus :

    Code:
    #include "stdafx.h"
    #include <stdlib.h>
    #include <iostream.h> 
    
    
    int main(int argc, char* argv[])
    {
     char eingabe;
    
     do 
     {
     cout << "Matrix starten? y/n\n";
     cin >> eingabe;
     if (eingabe == 'y' || eingabe == 'Y') 
     {
     while(1) 
     {
     cout << "1011010"; 
     }
     }
     else if (eingabe == 'n' || eingabe == 'N') 
     {
     cout << "dann eben net du Spacken" << endl;
     }
     else
     cout<<"Ungueltige Eingabe\n"; 
     }
     while(eingabe != 110 && eingabe != 78); 
    
     system("PAUSE");
    
     return 0;
    }
    Und meine Frage ist jetzt ob ich viell. noch damit reinschreiben kann das das Konsolen Fenster schwarz und die Schrift grün sein soll.
     
  11. 6. Januar 2008
    AW: Wei kann ich soetwas machen?

    Standard C++ Befehle gibts dafür nicht.

    Kannst dir aber mal das anschauen:
    c++.de :: Cursor auf Konsole positionieren und bunt schreiben, wie geht das?
     
  12. 6. Januar 2008
    AW: Wei kann ich soetwas machen?

    Spoiler
    So änderst du Farben:
    #include<windows.h>
    Und im Programm:
    system ("color 3c"); //Nur ein Beispiel

    Danke
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.