matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenC/C++Einlesen von Zahlen in C
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "C/C++" - Einlesen von Zahlen in C
Einlesen von Zahlen in C < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Einlesen von Zahlen in C: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 23:03 So 31.08.2014
Autor: martin_vie

Aufgabe
Ein Programm, welches Zahlen einliest und aufaddiert. Sobald statt einer Zahl „=“ eingegeben wird, soll die Summe
ausgegeben werden.

Hallo!

Hab mit einer anscheinend einfachen Anfänger-Aufgabe ein sehr lästiges Problem.

Ich soll ein Programm schreiben das Zahlen solange einliest bis das "=" Zeichen gegeben wird.

Hab es jetzt bereits vergeblich mit folgendem Code versucht.

int main()
{
    
    int zahl=0, ergebnis=0;
    
    do {
        printf("Bitte gib eine Zahl ein \ n");
        scanf("%d", &zahl);
        ergebnis += zahl;
        printf("Zwischenergebnis: %d \ n", ergebnis);
        }
    while (zahl != '=');
    printf("Endergebnis");

}


Wenn ich '=' gegen ein Zahl austausche funktioniert es super - bis auf das das die Zahl noch addiert wird :)
nur leider nützt mir das nichts :(

Danke für euer Antworten im Voraus

LG

        
Bezug
Einlesen von Zahlen in C: Antwort
Status: (Antwort) fertig Status 
Datum: 08:34 Mo 01.09.2014
Autor: Diophant

Hallo,

ich zitiere jetzt mal gar nicht: du bist da auf dem völlig falschen Dampfer mit deinem Ansatz. Deine Variable zahl ist vom Typ int, also ein 16-bit-Integer. Das Gleichheitszeichen jedoch ist keine Zahl, kann also von einer Variablen vom Typ int nicht aufgenommen werden.

Du könntest eine Variable vom Typ char definieren, um die Eingabe aufzunehmen. Diese wandelst du dann um, so lange eben Zahlen eingegeben werden. Dazu soltest du dir vielleicht noch die Nummern der Ziffern von 0-9 im ASCI-Code irgendwoher besorgen, um prüfen zu können, ob eine Zahl eingegeben wurde.


Gruß, Diophant

Bezug
                
Bezug
Einlesen von Zahlen in C: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 00:44 Di 02.09.2014
Autor: martin_vie

Vielen Dank für deine Antwort.

So etwas hab ich schon befürchtet.

Allerdings wenn ich mit einer char Variable eine Typumwandlung durchführe, kommt dann doch eine andere Zahl heraus. Also zu Beispiel wenn ich die char Variable nehme und daraus einen int oder float mache?

LG

Bezug
                        
Bezug
Einlesen von Zahlen in C: Antwort
Status: (Antwort) fertig Status 
Datum: 08:27 Di 02.09.2014
Autor: Diophant

Hallo,

> Vielen Dank für deine Antwort.

>

> So etwas hab ich schon befürchtet.

>

> Allerdings wenn ich mit einer char Variable eine
> Typumwandlung durchführe, kommt dann doch eine andere Zahl
> heraus. Also zu Beispiel wenn ich die char Variable nehme
> und daraus einen int oder float mache?

Richtig. Darauf habe ich ja hingewiesen. Die char-Variable enthält die Nummer aus dem ANSI- bzw. ASCII Code (hier das gleiche). In dieser Tabelle gehen die Ziffern von 0x30 (0) bis 0x39 (9). Das entspricht den dezimalen Werten 48 bis 57. Das musst du dann nach der Umwandlung noch entsprechend umrechnen.

Eine ANSI-Tabelle vorliegen zu haben ist Pflicht beim Programmieren, auch heute noch!


Gruß, Diophant

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "C/C++"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]