Benutzer mit den meisten Antworten
C Programm wo liegt mein Fehler?

Frage
-
Ich lerne grade etwas C.
Und bin grad bei Funktionen nun habe ich allerdings ein Problem bei dem ich net weiter komme :(
Das Programm soll zwei integer Werte ausgeben und einen Text ("Text123") (char) ausgeben.
Bin grade drauf gekommen das ich den char ja angeben muss wie viel zeichen ich ihn übergeben will. Doch nun habe ich ein das Problem:
Error C2665: "PrintNumber": Durch keine der 3 Überladungen konnten alle Argumententtypen konvertiert werden.
Quelltext:
#include "stdafx.h" #include <stdio.h> //Funktionsprototypen void PrintNumber( int Number ); void PrintNumber( double Number ); void PrintNumber( char Number[10] ); //Hauptfuntkion der Anwendung void main() { PrintNumber(66); PrintNumber(19.990000); PrintNumber("Text123"); getchar(); } //Gibt die übergebene Nummer auf dem Bildschirm aus void PrintNumber( int Number ) { printf( "Ein Int: %d", Number ); printf( "\n\n" ); } //Gibt die übergebene Nummer auf dem Bildschirm aus void PrintNumber( char Number[10] ) { printf( "Ein long: %d", Number[10]); } //Gibt die übergebene Nummer auf dem Bildschirm aus void PrintNumber( double Number ) { printf( "Ein double: %f", Number); }
Danke für eure Hilfe!
Antworten
-
Wenn number ein char[] ist, dann solltest Du %s als Formtierung verwenden.
Zudem solltest du "const char* Number" anstatt charNumber[10]. Oder "const char Number[]".
PS: Machen wir jetzt hier Deine Hausaufgaben? ;)
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
- Als Antwort markiert icekeuter Donnerstag, 18. Oktober 2012 14:28
Alle Antworten
-
Wenn number ein char[] ist, dann solltest Du %s als Formtierung verwenden.
Zudem solltest du "const char* Number" anstatt charNumber[10]. Oder "const char Number[]".
PS: Machen wir jetzt hier Deine Hausaufgaben? ;)
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
- Als Antwort markiert icekeuter Donnerstag, 18. Oktober 2012 14:28
-
nein macht ihr nicht :)
Ich bin fertig mit der schule und lerne in der Ausbildung momentan C :)
Und wen ich fragen habe frage ich entweder meine Ausbilder oder euch :)
Danke für die Antwort.
PS: In der schule habe ich keine Programmiersprache oder ähnliches gelernt :(
-
Hab ihn jetzt so geändert.
Nur ist mir ein Fehler aufgefallen! Wenn ich char angebe das er zum Beispiel 3 Zeichen
übertragen soll überträgt er trodtzdem alle.
Wo ist de Fehler hier bei?
#include "stdafx.h" #include <stdio.h> //Funktionsprototypen void PrintNumber( int Number ); void PrintNumber( double Number ); void PrintNumber (const char Number[] ); //Hauptfuntkion der Anwendung void main() { PrintNumber(66); PrintNumber(19.990000); PrintNumber("Text123456789"); getchar(); } //Gibt die übergebene Nummer auf dem Bildschirm aus void PrintNumber( int Number ) { printf( "Ein Int: %d", Number ); printf( "\n\n" ); } //Gibt die übergebene Nummer auf dem Bildschirm aus void PrintNumber( const char Number[] ) { printf( "\n\nEin char: %s", Number ); } //Gibt die übergebene Nummer auf dem Bildschirm aus void PrintNumber( double Number ) { printf( "Ein double: %f", Number); }