Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » scanf?

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 <
000
09.07.2003, 13:17 Uhr
~kn_
Gast


hiho,
also ich hab ein kleines problem mit scanf:
wenn ich zb sowas hier probiere:

C++:
#include<stdio.h>
main()   {
    int x1,x2,p,q,diskriminante;
    printf(" p und q eingeben:\n");
    scanf("%d\n",&p);
    scanf("%d\n",&q);
    printf("\nfür f(x) = x^2 + %d*x + %d\n",p,q);
    diskriminante = (p/2)*(p/2)-q;
    x1 = (-p/2) + sqrt(diskriminante) ;
    x2 = (-p/2) - sqrt(diskriminante) ;
    if (diskriminante == 0)
       printf("eine NST bei x1,2 = %d",x1);
    else if(diskriminante > 0)
       printf("zwei NST bei x1 = %d und x2 = %d",x1,x2);  
    else
       printf("keine NST");  
    printf("\nD = %d",diskriminante);  
}


sind die ausgaben etc. korrekt nur bei der eingabe werden immer 3 werte verlangt, wobei der dritte,zumindest augenscheinlich, dabei einfach ignoriert wird.
btw gibbes eigentlich eine einfachere methode um potenzen zu rechnen als ständig x*x*x*x*.. zu schreiben.danke schon ma.

Dieser Post wurde am 09.07.2003 um 13:22 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.07.2003, 13:34 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich seh nicht die dritte eingabe aufforderung.
Was hedenfalls problematisch ist, daß du aus diskriminante die Wurzel ziehst, bevor du prüfst, ob sie negativ ist. Aber das ist eine Zusätzliche Baustelle.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.07.2003, 13:44 Uhr
~kn_
Gast


hm stimmt hast recht wird geaändert,aber zu den eingaben:
ganz genau dass ist dass problem*g* ich will nur zwei eingaben eben p und q aber beim ausführen stoppt dass prog. nach den ersten zwei, die korrekt in p bzw. q geschrieben werden, bis ich eine dritte gemacht habe(kann auch ein buchstabe sein) und auf enter hau.dabei ändert diese letzte an den rechenergebnissen gar nichts.
falls hilft..: os ist win 2000 prof und ich benutz dev-cpp
gruß.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.07.2003, 23:14 Uhr
Pablo
Supertux
(Operator)


Villeicht liegt es an "%d\n", sollte aber funktionieren.

Es gibt ne bessere Funktion:
int pow(int,int);
float pow(float,float); usw...
befindet sich in math.h
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
24.07.2003, 17:58 Uhr
~kn_
Gast


ok,sorry dass ich nicht geantwortet hab.War im Urlaub...;aufjedenfall lag es tatsächlich daran, jetzt gehts ohne Probleme.Also Danke an alle.
Gruß Kn_
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ 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: