mehr Zeichen in ein char
-
@ Horst irgendwie läuft deins nicht
@ feigling wäre nett wenn du mir noch einiges an deiner funktion erklärst damit ich die auch verstehechar* Sterne(float wert)
{
static char star[3] = {0};if(wert>=1000) strcpy(star,"**");
return(star);
}1)warum ist hinter dem char in Funktionskopf ein *
2)was hat das static zu bedeuten
3)was bedeutet (0) kenn das nur als ' '
4)strcpy(star,"**"); kann das ein wenig genau erklärt werden?
5)bekom immer die Fehlermedleung ` strcpy' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears
-
und dann das open c book.
-
- weil du nen String zurückgeben willst und kein einzelnen Char
- das ist dafür da, damit der Speicher für char star[3] erhalten bleibt und nicht nach Verlassen der Funktion gelöscht wird
- Das füllt das Array mit 0en
- strcpy -> um strings zu kopieren
- #include <string.h> in den Code packen
-
#include<stdio.h> #include<conio.h> #include<string.h> void Ausgabe(float netto); char* Sterne(float netto); int main() { float netto = 0.0; printf("\t\t\tFaelschungssichere Rechung\n\t\t\t=========================="); printf("\n\nWarenwert:"); scanf("%f",&netto); Ausgabe(netto); getch(); } void Ausgabe(float netto) { printf("\n\nWarenwert: Euro%c%.2f***",Sterne(netto),netto); printf("\nMehrwertsteuer: Euro**%.2f***",netto*0.16); printf("\nEndbetrag Euro**%.2f***",netto*1.16); } char* Sterne(float wert) { static char star[3] = {0}; if(wert>=1000) strcpy(star,"***"); return(star); }
-
was mach ich flasch?
PS: die anzahl der Sterne soll je nach größe des Nettowertes eingefügt werden!!
-
man verwendet
[cpp]printf("%s",string);[/cpp]
für strings
-
das array muss
[4]
groß sein, weil 3 sternchen und ein \0 enthalten sein müssen
-
@HoP-PeL
Ein paar kurze Kommentare:
Grundform eines C-Programms:
int main(void) { /* code */ return 0; }
Es muss %s (für einen string) statt %c (für ein character) heißen:
printf("\n\nWarenwert: Euro%s%.2f***", Sterne(netto), netto);
Ein Feld, das einen String der Länge n aufnehmen soll, muss n+1 chars lang sein! Am Besten einen entsprechend großen definieren, so dass nix schief gehen kann:
static char star[16];
-
ja THX das mit dem Feld war mir klar war auch vorher anders habs dann wohl im eifer des Gefechts übersehen thx für die schnelle Hilfe!!
-
lol, sicher