Programmierung C

04/04/2013 17:47 I3lackFlash#1
Hi versuche derzeit mir etwas programmieren beizubringen nur leider klappt es gerade nicht und ich bräuchte Hilfe beim Fehlerberichtigen
Hier was ich biss jetzt habe:
Code:
#include <stdio.h>
 #include <stdlib.h>

 int main(int argc, char *argv[])
{

system("color 0E");
printf("Wilkommen in einem kleinen Test\n");
system("PAUSE");
system("Cls");

system("color 1F");
printf("Zuerst einen kleine Frage\n");
system("PAUSE");

system("Cls");

int Jahre;
system("color 0A");
printf("Gebe bitte ein,wie alt du bist:");
scanf("%d",&Jahre);
fflush(stdin);//man kann auch getchar() wahlweise nehmen
printf("\nDu bist %d Jahre alt.\n",Jahre);

system("PAUSE");

printf("Das war wars bis jetzt schon\n");
system("PAUSE");

system("Cls");

int Alter;
printf("Wie alt ist den dein Sohn:");
scanf("%d",&Alter);
fflush(stdin);//auch wahlweise getchar(); möglich
if(Alter<14)
{
printf("Er ist ja noch ein kleines Bübchen\n");
}
system("Cls");
if(Alter>=14 && Alter<18)
{
printf("Er ist ein Teenager\n");
}
system("Cls");
if(Alter>=18 && Alter<60)
{
printf("Er ist erwachsen\n");
}
system("Cls");
if(Alter>=60 && Alter<100)
{
printf("Er ist alt wie ein Stein\n");
}
system("Cls");
if(Alter>100)
{
printf("Er ist eine Leiche\n");

system("PAUSE");
return 0;
}





Bedanke mich jetzt schon mal für die Hilfe.
04/04/2013 17:54 Kita_epvp#2
Was den der Debugger dazu ?
04/04/2013 17:58 I3lackFlash#3
Bloodshed Def-C++

push
04/04/2013 18:25 Frutex#4
#moved


Pack das ganze mal in den BB-Code.
Also: ["code][/code"] nur ohne "
04/04/2013 19:44 Delinquenz#5
Quote:
leider klappt es gerade nicht
Was klappt nicht? Vielleicht mal eine Fehlermeldung oder ein Bericht über das Abweichen des Verhaltens von dem, was du gern hättest posten? Nicht alle hier sind Hellseher oder möchten deinen Code ohne Fehlermeldung durchgehen.

Anscheinend hast du die letzte If-Abfrage nicht geschlossen (eine Klammer fehlt) - beim nächsten Mal versuch bitte, dein Problem besser zu beschreiben.

Zudem kannst du auch else if statt nur if benutzen, kannst ja mal nach googeln.
04/04/2013 22:21 .NoThx#6
Also ich würde statt printf cout und cin nutzen.

Dazu brauchst du die include" iostream" und mach

"using namespace std"

zum easugeben dann
Code:
cout << "text" << endl;
und zum einlesen:
Code:
char einlesen[256]
cin >> einlesen
Falls ich etwas Falsches sage, bitte Korrigieren, bin auch grad erst am lernen :)
04/04/2013 22:25 _Roman_#7
Das namespace std ist ja nicht zwingend notwendig, ich benutze es seit kurzem selber nicht mehr, weil es mit dem std:: einfach besser aussieht.
04/04/2013 22:28 dowhile#8
Quote:
Falls ich etwas Falsches sage, bitte Korrigieren, bin auch grad erst am lernen
Der Titel ist "Programmierung ___C___"
04/05/2013 02:49 Schlüsselbein#9
Dann fangen wir mal an:
1. C kennt weder namespaces, noch cout oder cin -> nicht verwenden.

2.
Code:
fflush(stdin)
erzeugt undefiniertes verhalten, ergo könnte auch dein Rechner in die Luft fliegen.

3. system() ist böse (vermeide es, wenn immer möglich; das ist es meistens!). Für Begründungen einfach mal Google benutzen. Keine Lust, das ständig wiederzugeben, was sich sowieso leicht finden lässt.

4. Rücke deinen Code ein.
5. Lerne den Debugger zu benutzen.
6. Schmeiß Dev-C++ vom Rechner (für Begründung gleiches wie 3.)
7. Du hattest Fehler mit den Klammern (deswegen richtig formatieren!)
8. Du hattest auch Fehler mit falschen Variablennamen (case-sensitivity beachten!)

Hier mal etwas aufgeräumter, wenn sicherlich auch nicht perfekt:
Code:
#include <stdio.h>
#include <stdlib.h>

void clear_stdin_buf(void);

int main(void)
{
	int alter = 0;
	int alter_sohn = 0;

	printf("Wilkommen in einem kleinen Test [Taste druecken, um fortzufahren]\n");
	getchar();

	printf("Zuerst einen kleine Frage [Taste druecken, um fortzufahren]\n");
	getchar();

	printf("Gebe bitte ein, wie alt du bist: ");
	scanf("%d", &alter);
	printf("\nDu bist %d Jahre alt [Taste druecken, um fortzufahren]\n", alter);

	clear_stdin_buf();
	getchar();

	printf("Das war wars bis jetzt schon [Taste druecken, um fortzufahren]\n");
	getchar();

	printf("Wie alt ist den dein Sohn: ");
	scanf("%d", &alter_sohn);

	if(alter_sohn < 14)
	{
		printf("Er ist ja noch ein kleines Bübchen\n");
	}
	else
	{
		if(alter_sohn < 18)
		{
			printf("Er ist ein Teenager\n");
		}
		else
		{
			if(alter_sohn < 60)
			{
				printf("Er ist erwachsen\n");
			}
			else
			{
				if(alter_sohn < 100)
				{
					printf("Er ist alt wie ein Stein\n");
				}
				else
				{
					printf("Er ist eine Leiche\n");
				}
			}
		}
	}

	clear_stdin_buf();

	printf("\nDruecke eine beliebige Taste, um das Programm zu beenden\n");
	getchar();
	return 0;
}

void clear_stdin_buf(void)
{
	char c;
	while((c = getchar()) != '\n' && c != EOF);
}