ich habe mich nach einigem Hin und Her dazu bewegt doch mal in die C Programmierung einzusteigen, um mich schonmal etwas fürs das Studium mit Programmiersprachen auseinander zu setzen.
Vorher habe ich schon einiges mit PHP zu tuen gehabt, desshalb ist mir der Einstieg doch leichter gefallen aus ich gedacht hätte.
So hab ich dann mal einfach los getippelt und habe einen kleinen Rechner geschrieben, welcher doch schon recht anständig läuft.
Code: Alles auswählen
#include <stdio.h>
#include <conio.h>
int main()
{
float
zahl1,
zahl2; //Die beiden Zahlen die zum Start der berechnung stehen.
float zwischenergebnis = 0; //Das Zwischenergebnis
int
rechenprogramm, //1=Addieren 2=Subtrahieren 3=Multiplizieren 4=Dividieren
programmstatus = 1; //Soll das Programm fortgeführt werden? 1=Neustart 2=Berechnungsart gewählt 4=Beenden
printf("Basisrechner V1\n");
while(programmstatus != 4) // Schleife für die Programmausführung
{
while(programmstatus == 1) // Berechnungsart auswählen
{
printf("Bitte Berechnungsart angeben.\n\n");
printf("\t1 = Addieren\n\t2 = Subtrahieren\n\t3 = Multiplizieren\n\t4 = Dividieren\n\n");
scanf("%1d", &rechenprogramm);
fflush(stdin);
if(rechenprogramm<1 || rechenprogramm>4)
{
printf("Berechnungsart muss zwischen 1 und 4 liegen.\n\n");
}
else
{
programmstatus = 2;
}
}
while(programmstatus == 2) //Schleife für Zahlen eingabe und durchführen der Berechung.
{
if(zwischenergebnis == 0) // Wenn kein Zwischenergebnis angegeben ist zwei Zahlen anfordern
{
printf("\nGeben sie zwei Zahlen zur Berechnung an.\n\n");
scanf("%f %f", &zahl1, &zahl2);
fflush(stdin);
}
else // Wenn Zwischenergebnis vorhanden ist nur eine Zahl zur Weiterberechnung anfordern
{
printf("\nGeben sie eine weiter Zahlen zur Berechnung mit %f an.\n\n", zwischenergebnis);
scanf("%f", &zahl2);
fflush(stdin);
zahl1 = zwischenergebnis;
}
switch(rechenprogramm) // Rechung durchführen
{
case 1:
zwischenergebnis = zahl1 + zahl2;
break;
case 2:
zwischenergebnis = zahl1 - zahl2;
break;
case 3:
zwischenergebnis = zahl1 * zahl2;
break;
case 4:
zwischenergebnis = zahl1 / zahl2;
break;
}
printf("\nDas Ergebnis der Berechnung lautet %f.\n\n", zwischenergebnis);
printf("Weitere Berechnungen?\n\n");
printf("\t1 = Mit dem Ergebnis weiterrechnen (Andere Berechnungsart)\n\t2 = Mit dem Ergebnis weiterrechnen (Selbe Berechungsart)\n\t3 = Neue Berechung\n\t4 = Programm beenden\n\n");
scanf("%d", &programmstatus);
fflush(stdin);
if(programmstatus == 3) // Zwischenspeicher auf 0 setzten und Berechungsart auswählen lassen.
{
zwischenergebnis = 0;
programmstatus = 1;
}
}
}
}
/* Geschrieben von <edit> */
Ganz vorne weg wie man Sätze in einer Variable speichern kann. Weil von PHP her hab ich mir angewöhnt einfach
Code: Alles auswählen
$lang['erklaerung']='Hier ist ein Text';
Ich habe schon dieses thema hier gefunden http://proggen.org/viewtopic.php?f=21&t=105 wo auf fflush(stdin); hingewieses wird das man es besser austauschen kann. FAQ Frage 2 Jedoch steige ich durch diese Funktion noch nicht ganz durch
Code: Alles auswählen
void clear_stdin()
{
int ch; /* Wichtig! Muss int, und nicht char sein. */
while(c = getchar()) != '\n' && c != EOF)
/* Nichts tun */;
}
Dazu würde mich interessieren was ihr zum Thema übersichtlichkein des Quellcodes sagt und ob ihr einen tipp habt wir ich die Nachkommastellen des Ergebnissen kürzen kann.
gruß
<edit>
Edit By Xin: Namen auf Wunsch des Autors entfernt.