wie fügt man in einer konsolenapplikation eine grafik ein (war: Anfänger sucht Hilfe)



  • wie fügt man in einer konsolenapplikation eine grafik ein 😕



  • gar nicht, da es eine konsole ist, also nur text ausgeben kann.
    du könntest höchstens durch Anordnung von bestimmten Buchstaben ein Ascii-Bild erzeugen



  • welche applikation kann ich sonst noch verwenden um eine grafik einzufügen?



  • welche applikation du sonst machen kannst: eine win32 applikation 🙂

    ps: unter xp kannst du ein bild laden, wie unter winapi, warum? weil die win32 konsole unter xp immer mehr zu einem win32 fenster "mutiert" *g*

    hier ein geeignetes tut
    http://www.online-tutorials.net/grafik/bitmap-in-konsolen-fenster-laden/sourcecodes-t-17-22.html



  • und wie fügt man dort eine grafik ein???



  • elise schrieb:

    welche applikation du sonst machen kannst: eine win32 applikation 🙂

    ich hab 4 win32 applikationen:
    win32 dynamic link libary
    win32 anwendung
    win32 bibiothek
    win32 konsolenanwendung



  • hiert geht es auch auf konsole, aber nur ab höherem windows..
    http://www.online-tutorials.net/grafik/bitmap-in-konsolen-fenster-laden/sourcecodes-t-17-22.html



  • elise schrieb:

    hiert geht es auch auf konsole, aber nur ab höherem windows..

    was meinst du damit



  • hi
    ich wollte einen einfachen rechner proggen
    doch irgendwas stimmt nich:

    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int main(int argc, char *argv[])
    {
    int Zahl;
    char Rechenoperator;
    int Zahl2;

    cout<<"Zahl :";
    cin>>Zahl;

    cout<<"Rechenoperator:";
    cin>>Rechenoperator;

    cout<<"2.Zahl :";
    cin>>Zahl2;

    if(Rechenoperator=="+")
    cout<<"Ergebnis :"<<Zahl+Zahl2<<endl;

    if(Rechenoperator=="-")
    cout<<"Ergebnis :"<<Zahl-Zahl2<<endl;

    if(Rechenoperator=="/")
    cout<<"Ergebnis :"<<Zahl/Zahl2<<endl;

    if(Rechenoperator=="")
    cout<<"Ergebnis :"<<Zahl
    Zahl2<<endl;

    system("PAUSE");
    return EXIT_SUCCESS;
    }

    übrigens benutze ich den dev c++ compiler von bloodshed



  • spasty schrieb:

    doch irgendwas stimmt nich:

    Das kann ich bestätigen.

    Also: Fehlermeldung des Compilers suchen, lesen und verstehen. Dann den Fehler beheben, fertig! 🙂



  • hier sind die fehlermeldungen:
    ...\Rechner\main.cpp In function `int main(int, char**)':

    21...\Rechner\main.cpp ISO C++ forbids comparison between pointer and integer

    24...\Rechner\main.cpp ISO C++ forbids comparison between pointer and integer

    27...\Rechner\main.cpp ISO C++ forbids comparison between pointer and integer

    30 ...\Rechner\main.cpp ISO C++ forbids comparison between pointer and integer



  • Geht doch 😃

    Rechenoperator ist ein char, also ein einzelnes Zeichen. "+" ist eine Zeichenkette - auch wenn nur ein Zeichen drinsteht. Die kannst du nicht miteinander vergleichen. Ein einzelnes Zeichen schreibt sich so: '+'



  • thx thx thx thx thx thx
    es funktioniert!!!

    mfg Spasty



  • Ich wollte ein programm machen das potenzierer kann aber es geht nich, wenn ich zum beispiel als basis 4 eingeben und als hochzahl auch 4 kommt 4 raus
    hier der quellcode:

    #include <cstdlib>
    #include <iostream>

    using namespace std;

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

    cout<<"Basis:";
    cin>>Basis;

    cout<<"Hochzahl:";
    cin>>Hochzahl;

    int Ergebnis = Basis;

    for (int i=0; i==Hochzahl; i++)
    Ergebnis= Basis * Basis;

    cout<<"Ergebnis:"<<Ergebnis<<endl;

    system("PAUSE");
    return EXIT_SUCCESS;
    }



  • spasty schrieb:

    Ich wollte ein programm machen das potenzierer kann aber es geht nich, wenn ich zum beispiel als basis 4 eingeben und als hochzahl auch 4 kommt 4 raus
    hier der quellcode:

    #include <cstdlib>
    #include <iostream>

    using namespace std;

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

    cout<<"Basis:";
    cin>>Basis;

    cout<<"Hochzahl:";
    cin>>Hochzahl;

    int Ergebnis = Basis;

    for (int i=0; i==Hochzahl; i++)
    Ergebnis= Basis * Basis;

    cout<<"Ergebnis:"<<Ergebnis<<endl;

    system("PAUSE");
    return EXIT_SUCCESS;
    }

    Hallo,
    Überlege doch mal wie die Abruchbedingung deiner For-Schleife lautet... Sie ist nämlich von Anfang an false => die Schleife wird _kein_ mal ausgeführt.
    Desweiteren sollte die Zeile

    Ergebnis = Basis * Basis;
    

    so aussehen:

    Ergebnis = Ergebnis * Basis; // oder Ergebnis *= Basis;
    

    Btw:
    1. Was ist wenn die Hochzahl eine Negative Zahl oder 0 ist?
    2. Variablen-Bezeichner werden überlicherweise klein geschrieben...

    /edit: Bitte benutze doch Code-tags (Nähere Infos dazu: siehe FAQ Sonstiges).

    Gruß Caipi



  • Frag am besten im WinApi Forum nach und lass dir ein Fenstergerüst geben.



  • Ich wäre ja für

    #include <iostream>
    
    int pow( int base, int exp )
    {
      int res = base;
      for( int i = 0; i < exp; i++ )
        res *= base;
      return res;
    }
    
    int main()
    {
      int base, exp;
      cout << "Base: ";
      cin >> base;
      cout << "\nExp: ";
      cin >> exp;
      cout << "\nResult: " << pow( base, exp ) << endl;
    }
    


  • ... schrieb:

    Ich wäre ja für

    #include <iostream>
    
    int pow( int base, int exp )
    {
      int res = base;
      for( int i = 0; i < exp; i++ )
        res *= base;
      return res;
    }
    
    int main()
    {
      int base, exp;
      cout << "Base: ";
      cin >> base;
      cout << "\nExp: ";
      cin >> exp;
      cout << "\nResult: " << pow( base, exp ) << endl;
    }
    

    Wenn schon dann so:

    #include <iostream>
    using std::cin;
    using std::cout;
    using std::endl;
    
    int pow( int base, int exp )
    {
      int res = base;
      while( exp-- )
        res *= base;
      return res;
    }
    
    int main()
    {
      int base, exp;
      cout << "Base: ";
      cin >> base;
      cout << "\nExp: ";
      cin >> exp;
      cout << "\nResult: " << pow( base, exp ) << endl;
    }
    

    So spart man etwas overhead und die vorherige Version ging ebenfalls nur für positive Zahlen.



  • Ich habe es so gelöst:

    #include <cstdlib>
    #include <iostream>

    using namespace std;

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

    cout<<"Basis:";
    cin>>Basis;

    cout<<"Hochzahl:";
    cin>>Hochzahl;

    int Ergebnis = Basis;

    for (int i=0; i<Hochzahl; i++)
    Ergebnis*=Basis;

    cout<<"Ergebnis:"<<Ergebnis<<endl;

    system("PAUSE");
    return EXIT_SUCCESS;
    }



  • Bitte Codetags verwenden.

    int potenz(int basis, int exp)
    {
        int ergebnis = 1;
        if(!exp) // für exponenten gleich null, gibt er 1 zurück;
            return ergebnis;
        if(exp<0)
        {
            do
                ergebnis = ergebnis / basis;
            while(++exp);
            return ergebnis;
         } 
        if(exp>0)
        {
            do 
                ergebnis = ergebnis * basis;
            while(--exp);
            return ergebnis;
        }
    
    }
    

Anmelden zum Antworten