|
You last visited: Today at 06:27
Advertisement
C Anfänger braucht hilfe :)
Discussion on C Anfänger braucht hilfe :) within the General Coding forum part of the Coders Den category.
06/07/2010, 18:34
|
#1
|
elite*gold: 150
Join Date: Feb 2010
Posts: 42
Received Thanks: 18
|
C Anfänger braucht hilfe :)
Also, ich versuche mich gerade ein bissl in C. Bin da noch ganz am Anfang. Ich habe mir ein TUT durchgelesen und habe einfach mal losgelegt, weil ich so am besten lerne, aber irgentwie will das nicht so ganz klappen. ^^
Ich wollte mir ein ganz simplen Rechner basteln:
Code:
#include <stdio.h>
int main()
{
int eingabe=0, zahl1=0, zahl2=0;
printf ("\nBitte die erste Zahl eingeben: \n");
scanf ("%d", &zahl1);
printf ("\nBitte + - * oder : eingeben: \n");
scanf ("%d", &eingabe);
printf ("\nBitte die zweite Zahl eingeben: \n");
scanf ("%d", &zahl2);
if (eingabe = "+")
printf ("Ergebnis: %d", zahl1 + zahl2);
else{
if (eingabe = "-")
printf ("Ergebnis: %d", zahl1 - zahl2);
else{
if (eingabe = "*")
printf ("Ergebnis: %d", zahl1 * zahl2);
else{
if (eingabe = ":")
printf ("Ergebnis: %d", zahl1 / zahl2);
}
}
}
return 0;
}
Der Spukt mir aber 4 Warnungen aus.
Mag mir da mal jemand helfen?
|
|
|
06/07/2010, 20:01
|
#2
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by xXFunyXx
Also, ich versuche mich gerade ein bissl in C. Bin da noch ganz am Anfang. Ich habe mir ein TUT durchgelesen und habe einfach mal losgelegt, weil ich so am besten lerne, aber irgentwie will das nicht so ganz klappen. ^^
Ich wollte mir ein ganz simplen Rechner basteln:
Code:
#include <stdio.h>
int main()
{
int eingabe=0, zahl1=0, zahl2=0;
printf ("\nBitte die erste Zahl eingeben: \n");
scanf ("%d", &zahl1);
printf ("\nBitte + - * oder : eingeben: \n");
scanf ("%d", &eingabe);
printf ("\nBitte die zweite Zahl eingeben: \n");
scanf ("%d", &zahl2);
if (eingabe = "+")
printf ("Ergebnis: %d", zahl1 + zahl2);
else{
if (eingabe = "-")
printf ("Ergebnis: %d", zahl1 - zahl2);
else{
if (eingabe = "*")
printf ("Ergebnis: %d", zahl1 * zahl2);
else{
if (eingabe = ":")
printf ("Ergebnis: %d", zahl1 / zahl2);
}
}
}
return 0;
}
Der Spukt mir aber 4 Warnungen aus.
Mag mir da mal jemand helfen?
|
Das sind keinen Warnungen, sondern Errors .
Du darfst bei den Überprüfungen von 2 Werten nie 1 = schreiben , da es sonst als Wertzuweisung interpretiert wird :
Code:
#include <stdio.h>
int main()
{
int eingabe=0, zahl1=0, zahl2=0;
printf ("\nBitte die erste Zahl eingeben: \n");
scanf ("%d", &zahl1);
printf ("\nBitte + - * oder : eingeben: \n");
scanf ("%d", &eingabe);
printf ("\nBitte die zweite Zahl eingeben: \n");
scanf ("%d", &zahl2);
if (eingabe == "+")
printf ("Ergebnis: %d", zahl1 + zahl2);
else{
if (eingabe == "-")
printf ("Ergebnis: %d", zahl1 - zahl2);
else{
if (eingabe == "*")
printf ("Ergebnis: %d", zahl1 * zahl2);
else{
if (eingabe == ":")
printf ("Ergebnis: %d", zahl1 / zahl2);
}
}
}
return 0;
}
|
|
|
06/07/2010, 20:17
|
#3
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
Quote:
|
Das sind keinen Warnungen, sondern Errors .
|
Nein es sind Warnungen. Prinzipiell ist es erlaubt, z.B. folgendes zu schreiben:
Code:
if( a = 1 )
//do sth.
Nur ist deine if-Abfrage damit völlig sinnlos, da der Ausdruck immer als wahr interpretiert wird und so immer der Code der innerhalb der if-Abfrage steht ausgeführt wird.
Aber es ist kein Fehler  Trotzdem hat der Schreiber über mir recht. Um eben die Verwechslung zwischen Zuweisung und Abfrage auszuschließen, verwendet man hier zwei "=".
|
|
|
06/07/2010, 20:39
|
#4
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Quote:
Originally Posted by xXFunyXx
|
Und um die beiden noch zu ergänzen:
Gaaanz böser Fehler!
Hiermit vergleichst du nicht den String selbst, sondern den Zeiger, der auf ihn zeigt (in C/C++ ist ein String einfach ein Zeiger, der auf eine Kette von Zeichen zeigt)!
Wenn du also die Eingabe in den ASCII Wert konverierst, musst du
schreiben.
Damit wird der ASCII Wert des Zeichens ":" genommen, anstatt einem Zeiger auf das Zeichen ":".
|
|
|
06/07/2010, 21:33
|
#5
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
ausserdem würde ich die geschweifeten klammern nach den else weglassen, die sind in den meisten fällen unnötig un verwirren nur:
Code:
#include <stdio.h>
int main()
{
int zahl1=0, zahl2=0;
char eingabe;// <-- wenn eingabe ein char sein soll auch als solches deklarieren
printf ("\nBitte die erste Zahl eingeben: \n");
scanf ("%d", &zahl1);
printf ("\nBitte + - * oder : eingeben: \n");
//scanf ("%c", &eingabe); hier muss daür gesorgt werden dass er nicht die entertaste als nöchstes zeichen nimmt, der einfachste, wenn auch nicht der schönste weg ist, einach noch ein zweitesscanf;
scanf ("%c", &eingabe);// <-- "%c" für char einlasen
printf ("\nBitte die zweite Zahl eingeben: \n");
scanf ("%d", &zahl2);
if (eingabe == '+')//<- '+' statt "+"
printf ("Ergebnis: %d", zahl1 + zahl2);
else if (eingabe == '-')//<- kein überflüssigen klammern
printf ("Ergebnis: %d", zahl1 - zahl2);
else if (eingabe == '*')
printf ("Ergebnis: %d", zahl1 * zahl2);
else if (eingabe == ':')
printf ("Ergebnis: %d", zahl1 / zahl2);
else
printf ("Ungültige Eingabe");
return 0;
}
|
|
|
06/08/2010, 20:20
|
#6
|
elite*gold: 150
Join Date: Feb 2010
Posts: 42
Received Thanks: 18
|
Vielen Dank für eure Hilfe.
Ich glaube ich muss da doch noch etwas Theorie machen.
Wenn mir jemand ein gutes TUT empfehlen kann, immer her damit. ^^
|
|
|
06/08/2010, 20:35
|
#7
|
elite*gold: 271
Join Date: Mar 2008
Posts: 9,459
Received Thanks: 2,082
|
lesen hilft...
|
|
|
06/08/2010, 20:43
|
#8
|
elite*gold: 150
Join Date: Feb 2010
Posts: 42
Received Thanks: 18
|
Quote:
Originally Posted by Spacii
lesen hilft...

|
Schon klar, aber vielleicht hat ja jemand ein anderes TUT, das er/sie mir empfehlen kann.
|
|
|
06/08/2010, 20:48
|
#9
|
elite*gold: 271
Join Date: Mar 2008
Posts: 9,459
Received Thanks: 2,082
|
wenn jemand hier ein zu empfehlendes tut hätte würde er es dort posten oder? 
ansonsten empfehle ich dir Bücher(die man im Laden kauft)
|
|
|
06/08/2010, 21:33
|
#10
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
Quote:
Originally Posted by phrenesis
**** yeah :/
Code:
int*_;scanf("%d%c%d", &_[0], &_[1], &_[2]);printf("=%d",(_[1]=='+')?_[0]+_[2]:(_[1]=='-')?_[0]-_[2]:(_[1]=='*')?_[0]*_[2]:_[0]/_[2]);
|
so sollte man es lieber nicht machen, wennman will das man(oder irgendwer anders) den code am nächsten tag noch versteht:P
ausserdem is er ziemlich unsicher, da die variable _ igrendwohin im speicher zeigt.
|
|
|
06/08/2010, 21:40
|
#11
|
elite*gold: 0
Join Date: Mar 2008
Posts: 747
Received Thanks: 245
|
Ein tutorial für C was ich für die grundlagen recht gut fand ist das  .
|
|
|
06/08/2010, 22:37
|
#12
|
elite*gold: 150
Join Date: Feb 2010
Posts: 42
Received Thanks: 18
|
Quote:
Originally Posted by phrenesis
**** yeah :/
Code:
int*_;scanf("%d%c%d", &_[0], &_[1], &_[2]);printf("=%d",(_[1]=='+')?_[0]+_[2]:(_[1]=='-')?_[0]-_[2]:(_[1]=='*')?_[0]*_[2]:_[0]/_[2]);
|
Nicht unbedingt für Anfänger geeignet ...
@Akorn Danke dir
|
|
|
 |
Similar Threads
|
Cheat Engine, Anfänger braucht Hilfe
05/18/2015 - Guild Wars - 4 Replies
So, Hallo,
Und zwar möchte ich mit Cheat Engine den Inhalt einer Speicheradresse verändern.
Wäre nett wenn mir das jemand erklären könnte.
|
Wie lange braucht ein Anfänger auf 60 ?
08/03/2010 - Flyff - 12 Replies
Siehe oben
danke im vorraus
|
wow anfänger braucht hilfe
07/25/2010 - World of Warcraft - 11 Replies
hey
also ich habe mir nun auch wow + tbc geholt und wollte mal fragen ob wer lust hat mir ein bisschen zu helfen ich habe vorher noch kein wow gespielt und ihr mir vielleicht ein bisschen erklären könntet wie man schnell hoch kommt wann und wo die ersten raids sind usw ich bin nachtelf schurke auf den realm Ysera ich habe auch ts skype und icq ihr könnt mich ja gerne mal anschreiben ...
p.s. jetzt kommt mir bitte nicht mit lass es lieber sein zu große sucht gefahr etc. ich weiß was ich...
|
Blader anfänger braucht hilfe
03/20/2010 - Cabal Private Server - 3 Replies
So hallo ich habe auf GPCabal mal angefangen bin mit meinem blader schon level 60 nach 2-3 tagen bin aber immernoch novice und würde gerne aufsteigen aber ich habe leider keine Ahnung wie hab schon gegoogelt und nichts gscheittes gefunden wär nett von euch wenn ihr es mir erklärt.
MFG
|
anfänger braucht hilfe beim botten
03/23/2009 - GW Bots - 2 Replies
hey leute ^^
hab mich hier nurma angemeldet um nen bot runterzulade und möchte jetzt auch gerne ma selbst mitm botten anfangen^^
kann mir da ma wer die wichtigsten/alle befehle von autoit und wie man des richtig benutzt aufschreiben ?
auf deutch bitte :D
danke schonma im vorraus ^^
|
All times are GMT +1. The time now is 06:27.
|
|