[C] scanf...

wurzelsepp

Ensign
Registriert
Jan. 2005
Beiträge
217
guten abend..!

maaan, ich schlag mich jetz schon stunden mit dem kack rum - deswegen der eintrag: ich will eigentlich nur was kleines mit interaktiver eingabe programmieren:
Code:
#include <stdio.h>

int sum(int count)
{
   do some shit;
   return an int;
}

int main(void)
{
   printf("Berechnung der Summe ungerader Zahlen: ");
   int readin;
   scanf("Zahl: %d", &readin);
   printf("eingegeben %d", readin);
     if(readin >= 1)
      {
         int summe = sum(readin);
         printf("\nDie Summe der ungeraden Zahlen von 1 bis %d: %d\n", readin, summe);
      }   
     else
      {
         printf("\nFehler: Zahl muss groesser als 0 sein!\n");
      }   
   
   return 0;
}
zwar nimmt er mir schon den eingabewert, dh er bleibt nicht einfach stehen (das problem hatt ich auch schon, das konnt ich lösen), aber es ist definitiv der falsche: wenn ich zb 12 oder 13 eingebe, dann nimmt er 2 als den eingelesenen wert (hä?!) - ich hab keine ahnung warum...

ich will halt nur ne kleine mathematische berechnung anstellen und dazu einen wert einlesen - das kann doch nicht so schwer sein...
 
versuch mal statt mit %d die Zahl mit %i einzulesen, das hat bei mir bis jetzt immer geklappt
--> mit %d klappt das auch!

Code:
#include <conio.h>
#include <stdio.h>
#include <ctype.h>

int main()
{
 int zahl;

 printf("\n\n\tBitte geben sie eine Zahl ein");
 printf("\n\n\tZahl: ");
 scanf("%i",&zahl);
 printf("\n\n\tAusgabe: %i", zahl);
 getch();
 return(0);
}

--> im scanf darf keine Ausgabe stehen!!
also nur: scanf("%d", &name);

try this:
Code:
#include <stdio.h>

int main(void)
{
   int readin;

   printf("Berechnung der Summe ungerader Zahlen: ");
   scanf("%d", &readin);
   printf("eingegeben %d", readin);
     if(readin >= 1)
      {
         printf("\nDie Summe der ungeraden Zahlen von 1 bis %d: %d\n", readin, summe);
      }
     else
      {
         printf("\nFehler: Zahl muss groesser als 0 sein!\n");
      }

   getch();
   return 0;
}
 
Zuletzt bearbeitet:
...

ah ok! alles klar... in dem buch, das ich verwende wirds zwar auch nur so verwendet, aber da es hieß, dass scanf die zwillingsschwester von printf sei - mit dem unterschied des zeichens "&" - is mir das gar nicht aufgefallen... zumals ja nicht explizit erklärt wurde.

danke dir!
 
Zurück
Oben