Zum Inhalt springen

Wie kann ich in C eine Summenfunktion programmieren ??


Empfohlene Beiträge

Geschrieben

Hallo!

Ich möchte gerne ein Programm schreiben was eine Summenfunktion beinhaltet:

Das heisst ich gebe einen Startwert ein, zb. 2 und einen Endwert ein z.b 6. und jetzt will ich das das programm 2 +3+4+5+ 6 rechnet !

Das geht doch bestimmt mit einer Zählschleife oder ???

Bitte schnell antworten!!!

Daaaanke !

Geschrieben

Na ja mein Ansatz is bis jetzt nur die zählschleife, eine if bedingung hab ich auch schon drin, das der sw kleiner als der ew sein muss:)

wie geht es denn noch????

Geschrieben

nun,

Du liest also eine Start- und einen Endwert ein.

Vergleich: st<ew -> Ja -> weiter sonst Ende.

Is klar, ne If - Anweisung.

Die Summe der Zahlen ist erst Null.

also Summe=0

Dann die Schleife.

der Zaehler beginnt mit dem SW.

Bei jedem Durchlauf wird die Summe jeweils um den Zeahler erhöht.

Der Zaehler wird in jedem Durchlauf um 1 erhöht.

Schleife läuft solange, bis der EW erreicht ist.

Dann Ausgabe der Summe.

Sorry, aber ich wollte jetzt nicht den Quellcode aufschreiben... Das überlasse ich Dir.

Aber der Ablauf ist soweit klar ?

greetz

EDIT: Ist noch einer vor mir gekommen ...

Aber stimmt eigentlich.

Haste denn überhaupt schon mal mit C programmiert ?

Geschrieben

#include <stdio.h>

#include <math.h>

#include <conio.h>

#include <iostream>

main ()

{

int sw, ew, ergebnis ;

printf ("\nDieses Programm berechnet die gesamte Summe eines Anfangswert.\n");

printf ("bis zu einem beliebeigen Endwert\n");

do{

printf ("\nBitte geben Sie einen ganzzahligen, positiven Startwert ein.\n");

scanf ("%i", &sw);

printf ("\nBitte geben Sie einen ganzzahligen, positiven Endwert ein.\n");

scanf ("%i", &ew);

if (sw >= ew)

system ("cls");

printf ("\nDer Endwert muss logischerweise groesser als der Startwert sein!\n");

getch();

system ("cls");

}while (sw >= ew);

for (ergebnis = 0; sw <= ew; sw++)

{

}

printf ("Ergebnis %i", ergebnis);

}

Geschrieben
Original geschrieben von sunday united

nun, die Schleife kann so nix werden.

probier mal sowas:

int summe=0;

for (int zaehler=sw; zaehler>=ew; zeahler++)

{

summe+=zaehler;

}

greetz

so kann die Schleife aber auch nichts werden.... es muss heißen zaehler <= ew ;)

MfG Roman

Geschrieben
Original geschrieben von CrazyRay

so kann die Schleife aber auch nichts werden.... es muss heißen zaehler <= ew ;)

MfG Roman

Es handelt sich zwar "nur" um einen Tippfehler, aber dennoch hast Du natürlich recht, Roman.

Danke für den Hinweis.

;)

greetz

Geschrieben

Hi

hab mal versucht dein Problem zu lösen!

Vielleicht kann ich dir damit weiterhelfen!

------------------------------------------------------------------------------------------------------

#include <stdio.h>

void main (void)

{

int zahl1,zahl2;

int i=1;

printf("Bitte geben sie den Startwert ein!");

scanf("%i",&zahl1);

printf("Bitte geben sie den Stoppwert ein!");

scanf("%i",&zahl2);

fflush(stdin);

for(i=zahl1;i<=zahl2;i++)

{

if(i==zahl2)

{

printf("%i",i);

}

else

{

printf("%i,",i);

}

}

fflush (stdin);

getchar ();

return 0;

}

-------------------------------------------------------------------------------------------------------

Ich hoffe der Quelltext stimmt!Bei mir funzt es!

Mfg

Red Cap

Geschrieben

Hallo,

ehrlich gesagt, kann ich nicht nachvollziehen was Dein Programm mit der Fragestellung zu tun hat. Es gibt die Zahlen zwischen "zahl1" und "zahl2" auf dem Bildschirm auf (die if-Abfrage ist überflüssig, da der "if" und "else" Fall identisch sind).

Ein paar generelle Anmerkungen noch zum Code: "main" liefert _immer_ ein int zurück, ein flush auf "stdin" liefert nicht definierbare Ergebnisse.

Nic

Geschrieben
Ein paar generelle Anmerkungen noch zum Code: "main" liefert _immer_ ein int zurück

Ich würde hierzu gerne nocheinmal darauf verweisen, dass der Standard (ISO/IEC 9899:1999) dies fuer sogenannte "Freestanding Environments" _nicht_ zwingend vorschreibt.

Auszug:

... In a freestanding environment (in which C program execution may take place without any benefit of an operating system), the name and type of the function called at program startup are implementation-defined...

Nachzulesen in ISO/IEC 9899:1999 Kapitel 5.1.2 "Execution Environments"

Geschrieben

Hallo,

das ist zwar richtig, aber wohl eher theoretischer Natur, da üblicherweise in einem Hosted Environment mit Betriebssystemunterstützung gearbeitet wird. Bei Freestanding Environments existieren noch Reihe weiterer Unterschiede insbesondere in Bezug auf die Kommunikation mit dem Betriebssystem (Programmtermination, File IO, Umgebungsvariablen, etc.). Wenn ich mich richtig entsinne, gabs da auch im Annex eine entsprechende Liste.

Nic

Geschrieben

Hallo,

ich muss nochmal meinen Senf dazugeben.

1. Ich wuerde die Zahl der "freestanding environments" nicht unterschätzen. (Waschmaschinen wollen auch programmiert werden :) )

2. freestanding environments kommunizieren nicht mit einem OS, weil es normal keines gibt. (Oder ein RTOS ist direkt in das Programm integriert)

3. Der von dir angesprochene Zusatz lässt sich hauptsächlich über Systeminitilisierung und Libraries aus.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...