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 ]
020
16.10.2007, 16:46 Uhr
~Animal21
Gast


also ich kann mir net helfen, hab alles so gemacht wies eigentlich sein sollte un es geht nich, es kommne immernoch die unendlichvielen von nonsens zahlen un am ende ganz viele nullen, wie zuvor eben

bin ich nur zu blöd? oder hab ich was übersehn? oder was is los


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

int 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

    using namespace std;

    cout<<"Wollen Sie:"<<endl;
    cout<<"(1) Temperaturen umrechnen"<<endl;
    cout<<"(2) Zahlensysteme umrechnen"<<endl;
    cin>> ui_Antwort_Menue;
    switch (ui_Antwort_Menue)
    {
    case 1:
    
        cout<<"(1) Celsius in Fahrenheit und Kelvin umrechen?"<<endl;
        cout<<"(2) Kelvin in Fahrnheit und Celsius umrechen?"<<endl;
        cout<<"(3) Fahrenheit in Celsius und Kelvin umrechnen?"<<endl;
        cin>> ui_Antwort_Temp;
        cout<<"Was soll umgerechnet werden?: ";

            switch (ui_Antwort_Temp)
            {
            case 1:
                //Umrechnung:
                //K = +273.5 + C
                //F = ((C * 9)/5) + 32
                cin>>f_Celsius;
                f_Kelvin = f_Celsius + 273.15 ;
                f_Fahrenheit = ((f_Celsius * 9)/5) + 32;
                cout<<endl<<f_Celsius<<"C betragen "<<f_Fahrenheit<<"F und "<<f_Kelvin<<"K."<<endl;
            break;
            
            case 2:
                //Umrechnung:
                //C = K - 273.15
                //F = K * 9/5 - 459.67
                cin>>f_Kelvin;
                if (f_Kelvin < 0)
                    cout<<endl<<"Kelvin kann nie geringer als Null sein!"<<endl<<endl;
                else
                    f_Celsius = f_Kelvin - 273.15;
                    f_Fahrenheit = f_Kelvin * 9/5 - 459.67;
                    cout<<endl<<f_Kelvin<<"K betragen "<<f_Fahrenheit<<"F und "<<f_Celsius<<"C."<<endl;
            break;    

            case 3:
                //Umrechnung:
                //C = (F - 32)*5) / 9
                //K = F - 45967) * 5/9
                cin>>f_Fahrenheit;
                f_Celsius = ((f_Fahrenheit - 32)*5) / 9;
                f_Kelvin = (f_Fahrenheit + 459.67)*5/9;
                cout<<endl<<f_Fahrenheit<<"F betragen "<<f_Celsius<<"C und "<<f_Kelvin<<"K."<<endl;
            break;        

            default:
                cout<<endl<<endl<<"Diese Moeglichkeit besteht nicht!"<<endl<<endl;
            }
    break;


    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;
}



@ öni / Hans, na wenigstens arbeiten wir schon mit windoof 2000 XD, bzw zeitweise mit linux

mfg
ani
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
16.10.2007, 16:47 Uhr
~Animal21
Gast


ups, hab den ganzen code gesendet, case 1 könnt ihr ignorieren
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
16.10.2007, 17:39 Uhr
Tommix



Hi,
lies mal die Compiler-Warnungen:

Zitat:

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



C++:
for( o <= i_Icount; ++o;)


Fehlt da nicht irgendwas?

@Hans: Da die Express-Editionen kostenlos sind, kann es am Preis nicht liegen. Das hat wohl eher etwas mit Bequemlichkeit des Lehrpersonals zu tun.

- Tommix


Bearbeitung:

Den hattest Du schon gesehen. Hab erst jetzt den ganzen Beitrag durchgeblättert, sorry. Der Vergleich muß der zweite Ausdruck bei for sein. Irgendwie so in der Art:

C++:
for (o = irgenwas; o <= i_Icount; ++o /*falsch: ; */)


- Tommix


Dieser Post wurde am 16.10.2007 um 17:43 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
17.10.2007, 00:39 Uhr
Hans
Library Walker
(Operator)



Zitat von Tommix:
@Hans: Da die Express-Editionen kostenlos sind, kann es am Preis nicht liegen. Das hat wohl eher etwas mit Bequemlichkeit des Lehrpersonals zu tun.

- Tommix


Hi,
naja wenn das mit dem Preis so ist, dann wird es wohl wirklich die Bequemlichkeit sein...

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
024
17.10.2007, 15:33 Uhr
~Animal32
Gast


@ Tommix

hab das O schon in den Vari-deklaration auf null gesetzt, habs jetzt so geschrieben:

C++:
for( o=0,o <= i_Icount; ++o;)


aber da kommt imme rnoch ne fehlemeldung, langsam wirds lächerlich

LINK : warning LNK4076: Inkrementelle Statusdatei ".\Debug/Umrechner.ilk" ungültig; Verknüpfung erfolgt nicht inkrementell.
LINK : fatal error LNK1181: Eingabedatei "odbc32.lib" kann nicht geöffnet werden.

kann damit leider nix anfangen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
17.10.2007, 16:22 Uhr
Tommix



Hi,
1. das ist nach wie vor falsch. Wenn schon, müßte es

C++:
for(o = 0 ;o <= i_Icount; ++o)
// oder
for(;o <= i_Icount; ++o)


heißen und
2. wenn Du von VC6 auf VC2005 gewechselt hast, solltest Du wohl besser ein neues Projekt erstellen und den Quelltext reinkopieren als das alte Projekt zu importieren. Wie es aussieht, war im Projektwizard irgendwo ein Haken bei "Datenbankanbindung" oder so gesetzt.
- Tommix

Dieser Post wurde am 17.10.2007 um 16:23 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
17.10.2007, 21:41 Uhr
~Animal21
Gast


ahhh lol danke XD

naja aber i-was kann da immernochnet agnz stimmen, da folgendes angezeigt wird, un das is ja ma etwas falsch
http://img152.imageshack.us/my.php?image=fehlerzc9.jpg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
17.10.2007, 21:43 Uhr
~Animal21
Gast


also 6310 is der wert von i_deziZahl un die lange danach mit dem minus is das ausgegebene array
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
028
18.10.2007, 14:47 Uhr
Tommix



Haut schon hin: 12 = 1100bin, die Ausgabe ist nur verkehrtherum. Die Negative Zahl am Anfang ist array[0], Du erhöhst nämlich beim Berechnen erst i_Icount und verwendest es danach als Index, deshalb steht auf Position 0 irgendwelcher Unsinn.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
029
18.10.2007, 17:35 Uhr
~Animal21
Gast


hio
jo danke, hab die "O" einfach auf eins gesetzt, da gings. wie dreht man die ziffern um? also theoretisch einfach von hinten ausgeben, abe rich glaub net das es so ne funktion gibt, oder?

mfg
ani

ps: wenn das ne "rechnung" fertig hat, steht immer das ich soll irgentne taste drücken um weiter zu machen, un dann schließt sich das fenster. mein leherer hat gesgat das ich da einfach ne schleife machen müsste, die das gnaze immer wieder an de anfang setzt, er wollt emir abe rnicht verraten wie die schleife aussehen müsste, bzw wie das fenster mit einem bestimmten knopfdruck zugeht

wenn das zu tief reingeht, bitte irgnoriern XD
 
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: