[C++]scanf() will nicht--- ich zu blöd ?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von chef_kochtopf, 18. August 2005 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 18. August 2005
    Ich hab mal folgendes gemacht:

    int i;
    int e;
    printf("Wert 1 : ");
    scanf("%d",&i);
    printf("Wert 2 : ");
    scanf("%d",&e);
    printf("Wert 1: %d\n",i);
    printf("Wert 2: %e\n",e);

    ziel ist das wert 1 und 2 asugegebenwerden genau wie sie es eingegeben wurden... leider funzt das nur bei "%i"...

    wenn ich beide stellen 1 als wert eingeb kommt bei %i 1 raus
    aber bei %e wird das 1.622258e-307
    was hab ich falsch gemacht...

    plz helft mir...dange schonmal
     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #2 18. August 2005
    wenn du ein float einlesen willst solltest du es auch deklarieren.
     
  4. #3 18. August 2005
    wieso nimmst dafür nicht

    cin und cout ?

    speicherst den wert evtl. no inner variable und gibz in an wieder über cout aus :) ?

    was nimmst für nen compiler?
     
  5. #4 18. August 2005
    @empty ich mach das alles mit Dev-C++

    bin leider noch n totaler -mega-anfänger... darum hab ich 0 plan was cin oder count sind... unter count kann ich mir was vorstellen... aber wasset genau is weis ich nich...

    @xodox wenn ich float e; dazu eingebn sagt mir der debugger

    21 I:\devc++\shit\first1\main.cpp conflicting declaration 'float e'

    ich hab für i ja auch keinen float benutzt und der funzt wunderbar...


    EDIT:---------------------------------------


    ich hab was haltet ihr davon wenn ichs so mach :

    #include <stdio.h>

    int main(void) {
    char a,b,c;
    printf("1. Wert : ");
    do {scanf("%c",&a);} while ( getchar() != '\n' );
    printf("2. Wert : ");
    do {scanf("%c",&b);} while ( getchar() != '\n' );
    printf("3. Wert : ");
    do {scanf("%c",&c);} while ( getchar() != '\n' );
    printf("%c %c %c\n",a,b,c);
    return 0;
    }


    p.s: hat wer von euch evt lust+zeit mir n bisrl zu helfen beim c++ lernen ?
     
  6. #5 18. August 2005
    1. das ist kein c++ sondern c
    2.

    scanf("%d",&i);
    Mit %d liest man Integer ein => int i

    scanf("%e",&e);
    Mit %d bzw %f liest man Floating points ein => float e

    3. kann daran liegen dass die Datei falsch heißt.
    Speicher sie unter irgendwas.c und nicht .cpp (devc++ macht da einen Unterschied)
     
  7. #6 18. August 2005
    k... sorry hab nich gewusst dass das c war... habs aus ner seite geklaut... :D
     
  8. #7 20. August 2005
    ich kann dir nur nahe legen, mal ein paar tutorials ausm netz durchzuarbeiten. dadurch lernt man am schnellsten. und wenn du schon c++ programmierst, dann solltest du wirklich cin und cout verwenden.

    Code:
    #include <stdio.h>
    
    main() { //int main(void) kannste dir sparen
    
    char a, b, c;
    cout<<"1. Wert : "; cin>>a //warum 1. Wert? ist ein buchstabe ein wert?
    cout<<"2. Wert : "; cin>>b
    cout<<"3. Wert : "; cin>>c
    
    printf("%c%c%c\n", a,b,c);
    
    }
    
    so sollte es gehen

    mfg
    fake
     
  9. #8 20. August 2005
    Er will ja verschiedenen Typen einlesen und ausgeben und nicht nur Zeichenketten ( char ).

    Technisch JA aber laut Codingvorschrift NEIN. (man sollte auf seinen Stiel)
     

  10. Videos zum Thema
Die Seite wird geladen...
Similar Threads - C++ scanf blöd
  1. Antworten:
    3
    Aufrufe:
    605
  2. Antworten:
    2
    Aufrufe:
    422
  3. Antworten:
    3
    Aufrufe:
    1.767
  4. Antworten:
    3
    Aufrufe:
    392
  5. Antworten:
    6
    Aufrufe:
    406