Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 22:40

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Code fehler

Discussion on Code fehler within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
DonPadrio's Avatar
 
elite*gold: 70
Join Date: Apr 2013
Posts: 365
Received Thanks: 60
Question Code fehler

Hay,
ich hab da irgendwas falsch gemacht...
Code:
#include<stdio.h>

int main() {
        int a = 0.0;
        char b = 0;
        int c = 0.0;
        char d = 0;
        int e = 0.0;
        int ergebnis = 0.0;

        printf("Taschenrechner\n");                             //Variabel bestimmung
        printf("Geben sie die 1. Zahl ein: ");                  //und scanen
        scanf("%d",&a);                                         //oder auslesen
        printf("Geben sie die rechenart ein: ");                //der eingegebenen zahlen
        scanf("%c",&b);                                         //oder zeichen
        printf("Geben sie die 2. Zahl ein: ");                  //
        scanf("%d",&c);                                         //
        printf("Geben sie die rechenart ein: ");                //
        scanf("%c",&d);                                         //
        printf("Geben sie die 3. Zahl ein: ");                  //
        scanf("%d",&e);                                         //

        if(b == '+') {
                printf("\n Addition wird durchgeführt.");
                ergebnis = a + b;
        }

}
Ich habe nicht die möglichkeit bei den operanten was einzugeben der satz wird nur ausgegeben Kann mir jemand sagen wo der Fehler ist?
DonPadrio is offline  
Old 01/10/2014, 14:41   #2
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Geht es so?

Code:
scanf("\n%c", &b);
dowhile is offline  
Old 01/10/2014, 16:03   #3
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Oder:
Code:
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
Nach jedem scanf
qkuh is offline  
Old 01/10/2014, 16:53   #4
 
elite*gold: 0
Join Date: Mar 2013
Posts: 18
Received Thanks: 3
Erstmal solltest du grundsätzlich deine Integer-Werte nicht mit einem 0|.0| deklarieren, weil man das Gefühl erhält, dass du double- oder float-werte verwenden wolltest.
Es reicht eine einfach 0, da int-Zahlen Ganzzahlen sind.
(Ähnliches sollte man beim "char"-Datentyp beachten[Bitte nicht mit einer einfachen 0 initialisieren.])
Dann wäre es hilfreich, wenn du den Satz auch auf dem Bildschirm zeigst und nicht nur eine einfache Rechnung durchführst.
Heißt:

printf("\n Addition wird durchgeführt.\nErgebnis: {0}",a+b);

Versuch es mal damit.
MrMokey is offline  
Old 01/10/2014, 17:08   #5
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Quote:
Originally Posted by MrMokey View Post
(Ähnliches sollte man beim "char"-Datentyp beachten[Bitte nicht mit einer einfachen 0 initialisieren.])
Das ist egal.
qkuh is offline  
Old 01/10/2014, 17:13   #6


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Quote:
Originally Posted by qkuh View Post
Oder:
Code:
std::cin.clear();
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
Nach jedem scanf
Wenn er C nutzt, solltest du ihm keinen C++ Code geben.
MrSm!th is offline  
Thanks
1 User
Old 01/10/2014, 17:17   #7
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Kann auch C++ sein, aber okay Hatte da jetzt nicht genau draufgeschaut.
Code:
while ((ch = getchar()) != '\n' && ch != EOF);
qkuh is offline  
Old 01/10/2014, 17:27   #8
 
elite*gold: 0
Join Date: Mar 2013
Posts: 18
Received Thanks: 3
Quote:
Originally Posted by qkuh View Post
Das ist egal.
Die Lesbarkeit des Quellcodes sollte immer hoch sein.
Ist dementsprechend nicht egal. Besser man lernt es bereits zu Anfang.
MrMokey is offline  
Old 01/10/2014, 17:36   #9
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Ob da nun 0 oder '\0' steht. Das ändert nicht allzu viel an der Lesbarkeit. MMn jedenfalls. Kann jeder machen wie er mag. Normalerweise verdeutlichen die Variablennamen schon, ob es sich konkret um eine Zahl oder ein Zeichen handelt.
qkuh is offline  
Old 01/10/2014, 18:00   #10
 
elite*gold: 0
Join Date: Mar 2013
Posts: 18
Received Thanks: 3
Normalerweise schon, aber garantieren kann man's nicht und hilfreich ist es (meiner Meinung nach) immer, wenn man auch in der Deklaration klar ersichtlich macht um welchen Typ es sich handelt.
MrMokey is offline  
Thanks
1 User
Old 01/10/2014, 19:05   #11


 
MrSm!th's Avatar
 
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
Quote:
Originally Posted by qkuh View Post
Kann auch C++ sein, aber okay Hatte da jetzt nicht genau draufgeschaut.
Code:
while ((ch = getchar()) != '\n' && ch != EOF);
Es ist definitiv C.
Quote:
Originally Posted by MrMokey View Post
Die Lesbarkeit des Quellcodes sollte immer hoch sein.
Ist dementsprechend nicht egal. Besser man lernt es bereits zu Anfang.
Quote:
Originally Posted by MrMokey View Post
Normalerweise schon, aber garantieren kann man's nicht und hilfreich ist es (meiner Meinung nach) immer, wenn man auch in der Deklaration klar ersichtlich macht um welchen Typ es sich handelt.
Hast du vergessen, dass char durchaus auch ein integraler Typ ist?
Ich wüsste nicht, wieso ich Escapesequenzen nutzen sollte, um ein Byte mit dem Wert 0 zu belegen.

Und in der Deklaration sieht man es am Datentyp selbst
MrSm!th is offline  
Old 01/10/2014, 20:34   #12
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Woran siehst du, dass es definitiv C ist?
qkuh is offline  
Old 01/10/2014, 22:14   #13
 
XxharCs's Avatar
 
elite*gold: 34
Join Date: Apr 2011
Posts: 1,475
Received Thanks: 1,228
Quote:
Originally Posted by qkuh View Post
Woran siehst du, dass es definitiv C ist?
Paar Unterschiede mal als kleines Bsp.:
C
Code:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    int zahl = 0;
    printf ("Geben Sie die erste Zahl ein: ");
    scanf ("%3d", &zahl);
    printf("Eingegebene Zahl: %d", zahl);

    return EXIT_SUCCESS;
}
C++
Code:
#include <iostream>

int main(int argc, char **argv)
{
    int zahl;
    std::cout << "Bitte Zahl eingeben!\n";
    std::cin >> zahl;
    std::cout << "Eingegebene Zahl: " << zahl;
    return 0;
}
Ich hoffe du kannst die Unterschiede erkennen.
XxharCs is offline  
Old 01/11/2014, 00:50   #14
 
elite*gold: 1000
Join Date: Apr 2012
Posts: 1,003
Received Thanks: 208
Trotzdem kann es theoretisch cpp sein, auch wenn es aussieht wie C. Vorallem seh ich da auch nichts vom C95 oder C99 Standard.
qkuh is offline  
Old 01/11/2014, 10:14   #15
 
elite*gold: 0
Join Date: Mar 2013
Posts: 18
Received Thanks: 3
Quote:
Originally Posted by MrSm!th View Post
Hast du vergessen, dass char durchaus auch ein integraler Typ ist?
Ich wüsste nicht, wieso ich Escapesequenzen nutzen sollte, um ein Byte mit dem Wert 0 zu belegen.

Und in der Deklaration sieht man es am Datentyp selbst
Sind vielleicht einfach unterschiedliche Programmierstile, aber ich denke, dass solche Sachen, gerade bei Anfängern, die Fragen aufwerfen, ob hier nicht ein Zahlenwert gewünscht war statt eines Char-Wertes.
Ist meine persönliche Meinung
MrMokey is offline  
Reply

Tags
anfänger, c c c c, fehler, hilfe, noob


Similar Threads Similar Threads
Fehler Code 39
07/13/2013 - Technical Support - 3 Replies
Was sind die uhrsachen für diesen Code ? würde mich mal interessieren damit ich es prüfen kann.
Mw3 Fehler Code
12/30/2012 - Call of Duty - 3 Replies
Hi Immer wenn ich MW3 starte kommt dieser Fehler Code http://www.facebook.com/ajax/messaging/attachment .php?attach_id=30c5ada89d3040e3b92d43c48d002657&am p;mid=id.292057917563753&hash=AQCayJu_8KT3466t Und ich kann nicht spielen :( Kann mir jemand sagen was ich machen muss ?
Fehler im Code :(
02/16/2012 - AutoIt - 8 Replies
hi, ich bekomme eien fehlermeldung die ich nciht ganz verstehe, wo das problem liegt. Kann da jemand bitte helfen? Meldung: Error: "Wend" statement with no matching "While" statemant. Wo genau ist da der Fehler? :(
Fehler code 204
07/12/2011 - Combat Arms - 1 Replies
Hey ich wollt anfang CA zuspielen aber immer wen ich game starte kommt der fehler : An error has occurred with the hack prevention funcion. (Error Code = 204) The programm is shutting down. was kann ich tuhn ? damit es geht
Fehler im Code :|
05/14/2011 - AutoIt - 1 Replies
Wollte nen Spambot machen aber Irgendwo ist ein Fehler drin, habe aber keine Ahnung wo :| #include <GUIConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Spammer", 353, 110, 355, 183) $Input1 = GUICtrlCreateInput("Text 1 (Rufchat)", 8, 8, 121, 21) $Input2 = GUICtrlCreateInput("Text 2 (langsam)", 8, 40, 121, 21) $Input3 = GUICtrlCreateInput("Text 3 (schnell)", 8, 72, 121, 21) $Pause = GUICtrlCreateButton("Pause", 256, 16, 75, 25, 0)



All times are GMT +1. The time now is 22:41.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.