Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Schleife geht net

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 < [ 3 ] [ 4 ]
010
14.10.2007, 18:27 Uhr
~Animal21
Gast


danke

bevor ichs versuch ... kannste vll erklären was es mit dem std::vector aufsich hat, also was das std bewirkt

mfg
ani
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
14.10.2007, 18:32 Uhr
0xdeadbeef
Gott
(Operator)


std::vector verhält sich im Grunde vergleichbar wie ein Array, stellt aber nen Haufen zusätzlicher Funktionalitäten zur Verfügung - zum Beispiel ist es erweiterbar (auch wenn das ganz gut Rechenzeit fressen kann, also schadet etwas Überlegung da nicht), und speichert, wie groß es inzwischen ist. Zum Beispiel:

C++:
#include <vector>

// ...

std::vector<int> bin_array;
int x = 123;

do {
  bin_array.push_back(x % 2); // Hinten ans Array anhängen, ggf. das Array erweitern
} while((x /= 2) != 0);

for(int i = 0; i < bin_array.size() /* Länge des Arrays */; ++i) {
  std::cout << bin_array[i];
}
std::cout << std::endl;


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 14.10.2007 um 18:34 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
14.10.2007, 18:47 Uhr
~Animal21
Gast



C++:
#include "stdafx.h"
#include <iostream.h>
#include <ostream.h>
#include <vector>

void main()
{
//Variabeldeklaration

    float f_Celsius, f_Fahrenheit, f_Kelvin;
    int i_biZahl, i_deziZahl, i_hexaZahl, array[9999], i_Icount=0, o=0;
    unsigned int ui_Antwort_Menue, ui_Antwort_Temp,ui_Antwort_Zahlsys;

//Variablendeklaration abgeschlossen

    cout<<"Wollen Sie:"<<endl;
    cout<<"(1) Temperaturen umrechnen"<<endl;
    cout<<"(2) Zahlensysteme umrechnen"<<endl;
    cin>> ui_Antwort_Menue;
    switch (ui_Antwort_Menue)
    {
    case 1:
    
                     //case 1 eben

    case 2:

            cout<<"(1) Dezimal in Binär und Hexadezimal?"<<endl
                <<"(2) Binär in Dezimal und Hexadezimal?"<<endl
                <<"(3) Hexadezimal in Binär und Dezimal?"<<endl;
            cin>> ui_Antwort_Zahlsys;
            cout<<"Was soll umgerechnet werden?: "<<endl;

            switch (ui_Antwort_Zahlsys)
            {

            case 1:
                cin>>i_deziZahl;
                cout<<"test"<<endl;  //wird durchlaufen

                while (i_deziZahl != 0)
                {
                    i_Icount++;
                    array[i_Icount] = i_deziZahl % 2;
                    i_deziZahl /=2;
                    cout<<i_deziZahl;
                    if((i_deziZahl %  8) == 0) cout <<" ";
                }
                cout<<"test2"; //wird nicht durchlaufen

                    for( o <= i_Icount; ++o;)
                    {
                        std::cout << array[o];
                    }

            break;

            case 2:
                {
                    cin>>i_biZahl;
                }
            break;

            case 3:
                {
                    cin>>i_hexaZahl;
                }
            break;

            }
        default:

            cout<<endl<<endl<<"Diese Moeglichkeit bestet nicht!";

    }
    cout<<endl<<endl;
}



der sagt mir jetzt:

warning C4552: '<=' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet

error C2039: 'cout' : Ist kein Element von 'std' <- mus ich da die bibo stdio.h einfügen? aber ich dachte immer das man die nich mit der neueren iostream.h zusammen machen soll

mfg
ani
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
14.10.2007, 19:21 Uhr
0xdeadbeef
Gott
(Operator)


Das muss ja ein uralter Compiler sein, der dir das noch abkauft... iostream.h und ostream.h sind falsch. Das muss <iostream> und <ostream> heißen, und <ostream> ist nicht wirklich notwendig. void main ist ebenfalls falsch...das ist doch nicht etwa der visual "c++" 6.0, oder?

Versuchs mal damit:

C++:
#include <iostream> // iostream.h ist falsch
#include <vector>

int main() // main ist immer int
{
    // Macht das schreiben von std:: vor std::-Symbolen unnötig. Eigentlich
    // schlechter Stil, aber ich schreib hier nicht deinen ganzen Code um.
    using namespace std;

    float f_Celsius, f_Fahrenheit, f_Kelvin;
    int i_biZahl, i_deziZahl, i_hexaZahl, array[9999], i_Icount=0, o=0;
    unsigned int ui_Antwort_Menue, ui_Antwort_Temp,ui_Antwort_Zahlsys;

    cout<<"Wollen Sie:"<<endl;
    cout<<"(1) Temperaturen umrechnen"<<endl;
    cout<<"(2) Zahlensysteme umrechnen"<<endl;
    cin>> ui_Antwort_Menue;
    switch (ui_Antwort_Menue)
    {
    case 1:
    
                     //case 1 eben

    case 2:

            cout<<"(1) Dezimal in Binär und Hexadezimal?"<<endl
                <<"(2) Binär in Dezimal und Hexadezimal?"<<endl
                <<"(3) Hexadezimal in Binär und Dezimal?"<<endl;
            cin>> ui_Antwort_Zahlsys;
            cout<<"Was soll umgerechnet werden?: "<<endl;

            switch (ui_Antwort_Zahlsys)
            {

            case 1:
                cin>>i_deziZahl;
                cout<<"test"<<endl;  //wird durchlaufen

                while (i_deziZahl != 0)
                {
                    i_Icount++;
                    array[i_Icount] = i_deziZahl % 2;
                    i_deziZahl /=2;
                    cout<<i_deziZahl;
                    if((i_deziZahl %  8) == 0) cout <<" ";
                }
                cout<<"test2"; //wird nicht durchlaufen

                    for( o <= i_Icount; ++o;)
                    {
                        cout << array[o];
                    }

            break;

            case 2:
                {
                    cin>>i_biZahl;
                }
            break;

            case 3:
                {
                    cin>>i_hexaZahl;
                }
            break;

            }
        default:

            cout<<endl<<endl<<"Diese Moeglichkeit bestet nicht!";

    }
    cout<<endl<<endl;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
15.10.2007, 20:41 Uhr
~Animal21
Gast


XD

doch is microsoft visual c++ 6.0
ich nehm den, weil wir den auch in der schule benutzten

wenn ich nur iostream sschreib, kommt:

Umrechner.exe - 30 Fehler, 10 Warnung(en):

error C2065: 'cout' : nichtdeklarierter Bezeichner
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [12]' ist
error C2065: 'endl' : nichtdeklarierter Bezeichner
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [27]' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [28]' ist
error C2065: 'cin' : nichtdeklarierter Bezeichner
warning C4552: '>>' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [47]' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [46]' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [48]' ist
warning C4552: '>>' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [31]' ist
error C2296: '>>' : Ungültig, da der linke Operand vom Typ 'float' ist
error C2297: '>>' : Ungültig, da der rechte Operand vom Typ 'float' ist
error C2296: '<<' : Ungültig, da der linke Operand vom Typ 'float' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'float' ist
error C2296: '>>' : Ungültig, da der linke Operand vom Typ 'float' ist
error C2297: '>>' : Ungültig, da der rechte Operand vom Typ 'float' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [40]' ist
error C2296: '<<' : Ungültig, da der linke Operand vom Typ 'float' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'float' ist
error C2296: '>>' : Ungültig, da der linke Operand vom Typ 'float' ist
error C2297: '>>' : Ungültig, da der rechte Operand vom Typ 'float' ist
error C2296: '<<' : Ungültig, da der linke Operand vom Typ 'float' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'float' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [34]' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [38]' ist
warning C4552: '>>' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [31]' ist
warning C4552: '>>' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [5]' ist
warning C4552: '<<' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [2]' ist
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [6]' ist
warning C4552: '<=' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
warning C4552: '>>' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
warning C4552: '>>' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
error C2297: '<<' : Ungültig, da der rechte Operand vom Typ 'char [33]' ist
warning C4552: '<<' : Operator hat keine Auswirkungen; Operator mit Seiteneffekt erwartet
'main' : Funktion sollte einen Wert zurueckgeben; Ergebnistyp 'void' angenommen
Fehler beim Ausführen von cl.exe.

^^
kann sein das ichn andres prog. brauch? XD
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
15.10.2007, 20:44 Uhr
xXx
Devil


Tjo solltest mal von VC++ 6 auf VC++ 2005 wechseln ^^ 6 ist von 98 oder so ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
15.10.2007, 21:57 Uhr
öni



Naja das zeigt eben mal wieder auf welchen stand die lehrer hängenbleiben....ganz getreu nach dem Motto den habe ich letztes Schuljahr auch genommen dann nehme ich denn jetzt auch wieder.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
15.10.2007, 23:45 Uhr
Hans
Library Walker
(Operator)


Hi,
das muss nicht unbedingt am Lehrer liegen, das kann auch daran liegen, das die Schule kein Geld für aktuellere Lizenzen hat. Angesichts der chronischen Unterfinanzierung des deutschen Bildungswesens würde es mich nicht wundern, wenn es so ist.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
16.10.2007, 00:44 Uhr
~Animal21
Gast


aslo, hab mir vc++ 2005 gezogen un es damit probiert un da sagt der mir plötzlich:
error C2065: 'cout': nichtdeklarierter Bezeichner
error C2065: 'endl': nichtdeklarierter Bezeichner
error C2065: 'cin': nichtdeklarierter Bezeichner

hab oben:
#include <iostream>
#include <vector>
is doch richtig so, oder?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
16.10.2007, 01:04 Uhr
0xdeadbeef
Gott
(Operator)


Nochmal...

C++:
int main() // main ist immer int
{
    // Macht das schreiben von std:: vor std::-Symbolen unnötig. Eigentlich
    // schlechter Stil, aber ich schreib hier nicht deinen ganzen Code um.
    using namespace std;


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ]     [ 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: