Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Problem mit cin , if und else if

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 ]
000
23.07.2006, 10:39 Uhr
jeller



hallo vllt hat jemand von euch mein post über diese binär tabelle gelesen .

ich hab sogar dank PLER's hilfe was gefunden .

jetzt wollte ich ein C++ Konsolen Programm schreiben ,

wo man eine Zahl oder ein Buchstaben eingeben kann und dieser/diese dann in binär und

hexa ASCII umgewandelt wird .

ich hab schon angefangen , das ganze ist eigentlich eine sehr lange if reihe .

ich hab schon alle klein buchstaben und das große A ,der compiler sagt kein fehler ,

doch wenn ich es dann Ausführe und ein kleinen oder das große A Buchstaben eingebe

beendet

das programm einfach .

hier ist der code :

C++:
#include <iostream>
using namespace std;
int main ()
{
  
    int ch_Auswahl ;
    cout<<"American Standard Code for Information Interchange \n \n Bitte geben sie jetzt den Buchstaben oder die zahl ein die in ASCII hexadezimal und binär umgewandelt werden sollen!\n Achtung Groß- und Kleinschreibung werden unterschieden !!"<<endl;
     cin>> ch_Auswahl;
     //klein buchstaben
       if  (ch_Auswahl == 'a')
       {
           cout<<"hexadezimal = 61 \n binär = 0110 0001"<<endl;
           system ("pause");
           }
           else if (ch_Auswahl == 'b')
                {
                     cout<<"hexadezimal = 62 \n binär = 0110 0010"<<endl;
                     system ("pause");
                     }    
                    else if (ch_Auswahl == 'c')
                          {
                               cout<<"hexadezimal = 63 \n binär = 0110 0011"<<endl;
                               system ("pause");
                               }    
                               else if (ch_Auswahl == 'd')
                                    {
                                        cout<<"hexadezimal = 64 \n binär = 0110 0100"<<endl;
                                        system ("pause");
                                        }
                                         else if (ch_Auswahl == 'e')
                                         {
                                        cout<<"hexadezimal = 65 \n binär = 0110 0101"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'f')
                                              {
                                        cout<<"hexadezimal = 66 \n binär = 0110 0110"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'g')
                                              {
                                        cout<<"hexadezimal = 67 \n binär = 0110 0111"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'h')
                                              {
                                         cout<<"hexadezimal = 68 \n binär = 0110 1000"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'i')
                                              {
                                   cout<<"hexadezimal = 69 \n binär = 0110 1001"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'j')
                                              {
                                    cout<<"hexadezimal = 6A \n binär = 0110 1010"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'k')
                                              {
                                     cout<<"hexadezimal = 6B \n binär = 0110 1011"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'l')
                                              {
                                     cout<<"hexadezimal = 6C \n binär = 0110 1100"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'm')
                                              {
                                     cout<<"hexadezimal = 6D \n binär = 0110 1101"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'n')
                                              {
                                     cout<<"hexadezimal = 6E \n binär = 0110 1110"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'o')
                                              {
                                     cout<<"hexadezimal = 6F \n binär = 0110 1111"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'p')
                                              {
                                     cout<<"hexadezimal = 70 \n binär = 0111 0000"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'q')
                                              {
                                     cout<<"hexadezimal = 71 \n binär = 0111 0001"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'r')
                                              {
                                     cout<<"hexadezimal = 72 \n binär = 0111 0010"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 's')
                                              {
                                     cout<<"hexadezimal = 73 \n binär = 0111 0011"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 't')
                                              {
                                     cout<<"hexadezimal = 74 \n binär = 0111 0100"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'u')
                                              {
                                     cout<<"hexadezimal = 75 \n binär = 0111 0101"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'v')
                                              {
                                    cout<<"hexadezimal = 76 \n binär = 0111 0110"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'w')
                                              {
                                    cout<<"hexadezimal = 77 \n binär = 0111 0111"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'x')
                                              {                                              
                                    cout<<"hexadezimal = 78 \n binär = 0111 1000"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'y')
                                              {
                                    cout<<"hexadezimal = 79 \n binär = 0111 1001"<<endl;
                                              system ("pause");
                                              }
                                              else if (ch_Auswahl == 'z')
                                              {
                                   cout<<"hexadezimal = 7A \n binär = 0111 1010"<<endl;
                                              system ("pause");
                                              }
                                              //jetzt groß buchstaben
                                              else if (ch_Auswahl == 'A')
                                              {
                                    cout<<"hexadezimal = 41 \n binär = 0100 0001"<<endl;
                                              system ("pause");
                                              }
                                              return 0;
                                              }


was habe ich falsch gemacht ?

Dieser Post wurde am 23.07.2006 um 10:57 Uhr von jeller editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.07.2006, 10:48 Uhr
Audron-AT-www
http://www.sXene.de Audron@sxene.de
(Operator)


Du hast eine Kleinigkeit übersehen.

Undzwar deklarierst du "ch_Auswahl" als int. Wie das ch wahrscheinlich schon sagen soll ist es aber ein Char

Änder also


C++:
int ch_Auswahl ;


in


C++:
char ch_Auswahl ;


und es funktioniert
--
Mit freundlichen Grüßen
Audron, audron@sxene.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.07.2006, 10:59 Uhr
jeller



oh danke probiere ich gleich mal aus aber so stand das in mein buch und so habe ich es

sonst auch immer gemacht .


gibt es für das ß und die umlaute auch ein befehl wie für z.B.: für ein absatz \n ??

und wie kann ich nach des ausgabe der umwandlung wieder an den anfang gehen so wie

z.b.: bei qbasic das goto ??

Dieser Post wurde am 23.07.2006 um 11:02 Uhr von jeller editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.07.2006, 11:51 Uhr
Audron-AT-www
http://www.sXene.de Audron@sxene.de
(Operator)


Kenne qbasic zwar nicht, aber das kannst du erreichen indem du sattt return 0; einfach return main(); schreibst.

int sind Ganzzahlen.
char sind Buchstaben.
--
Mit freundlichen Grüßen
Audron, audron@sxene.de
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.07.2006, 11:54 Uhr
jeller



und was müsste ich machen damit er nur zu abfrage zurück geht und net den ganzen text noch mal aus gibt ??
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.07.2006, 12:13 Uhr
Pler
Einer von Vielen
(Operator)


@Audron:
Das sollte aber keinen Unterschied ergeben. int und char verhalten sich hier gleich.
Ich denke sogar, dass man char immer duch int ersetzen kann. (andersrum nat. nicht unbedingt)

@Jeller:
Dann musst du den Zeichen eben in einem String sammeln. Mach einen String und füge die Zeichen einfach immer "Runde für Runde" an.


Ich hätte mir das allerdings etwas anders vorgestellt:


Pseudo:

int max = 128;
while( ch_Auswahl > 0 )
{
   if( max < ch_Auswahl )
   {
      cout << 1;
      max -= max/2
      ch_Auswahl -= max;
   }
   else
   {
      cout << 0;
      ch_Auswahl -= max;
   }
}
cout << endl;


Code einfach nur mal so reingehackt. Nur damit man das Prinzip sieht.

Dieser Post wurde am 23.07.2006 um 12:15 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.07.2006, 12:25 Uhr
jeller




Zitat:

Dann musst du den Zeichen eben in einem String sammeln. Mach einen String und füge die Zeichen einfach immer "Runde für Runde" an.



Sry Das verstehe ich net ^^

p.s.
ich hoffe immer noch das es jemanden gibt der nur aus spaß am programmieren sowas mal als winapi macht und mir den quelltext gibt damit ich daraus lernen kann ^^

Dieser Post wurde am 23.07.2006 um 12:28 Uhr von jeller editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
23.07.2006, 12:27 Uhr
Pler
Einer von Vielen
(Operator)



Zitat:

gibt es für das ß und die umlaute auch ein befehl wie für z.B.: für ein absatz \n ??


'ß' und '\n' untescheiden sich. Denn '\n' ist nich eine andere Darstellung für irgendwas, sondern stellt den Zeilenumbruch dar, den man sonst gar nicht darstellen könnte.
ß ist ein normales Zeichen und sollte einfach reingeschrieben werden können.
(liegt allerdings ausserhalb der ASCII-Tab. -> Brauchst schon Lat-1. Aufpassen mit urf-8 --> hier )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
23.07.2006, 12:29 Uhr
Pler
Einer von Vielen
(Operator)



Zitat von Jeller:


Zitat Pler:

Dann musst du den Zeichen eben in einem String sammeln. Mach einen String und füge die Zeichen einfach immer "Runde für Runde" an.



Sry Das verstehe ich net ^^

p.s.
ich hoffe immer noch das es jemanden gibt der nur aus spaß am programmieren sowas mal als winapi macht und mir den quelltext gibt damit ich daraus lernen kann ^^



Sowas:

Code:
String s;
s += ch_Auswahl;



PS Mit winapi hat das gar nichts zu tun. Ich verschieb das gleich mal...

Dieser Post wurde am 23.07.2006 um 12:32 Uhr von Pler editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
23.07.2006, 12:56 Uhr
jeller



ich mein ja nur ich fände cool wenn es nicht in einer konsole stände sondern halte richtig im windows style
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


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: