Ich bin neu in C und ich war in Ordnung in meiner Klasse (online) bis die letzten paar Programme. Sie werden komplizierter und ich bin kein großer Stratege. Aber ich versuche es und ich bin frustriert.Wie lege ich einen Integer-Wert in ein Char-Array? Ich möchte die Nummer 1234 im Char-Array haben. Ich kann es nicht von einer Aufforderung lesen
Ich habe eine Weile daran gearbeitet (es ist überfällig) und mein Ziel ist es, eine Zahl in Wörter für einen Gehaltsscheck umzuwandeln.
Was ich versuche hier zu tun ist, konvertieren Sie den doppelten Wert in ein int und setzen Sie das int in ein char-Array, so dass schließlich die "Array-Betrag" wird lesen (wenn Pay $ 1234.56) 0. Dann war ich Ich denke, dass ich Wenns oder Fälle für jede Position tun könnte (hundThous = 0, tenThous = 0, Thous = 1, etc ..), um es zu konvertieren. Ich bleibe hier jedoch stecken und brauche Hilfe.
Wie lege ich den Wert 1234 in das Char-Array?
Auch in der Funktion oben, rief ich "checkWriter (Geld);" wo Geld doppelt ist. Ist das korrekt? Ich möchte nur, dass diese Funktion aufgerufen wird, um das konvertierte Doppelwort auszudrucken.
void checkWriter(double z)
{
double v;
int w, y, cents;
int b, c, x, length;
char array[SIZE];
char amount[SIZE]; /*size = 7, our largest value will be in the hundred thousands*/
v = 100 * z; /*make z a whole number*/
w = ((int)v); /*convert z to an integer w*/
cents = w % 100; /*cents equals the remainder of w/100*/
y = (w - cents)/100; /*y equals the converted integer minus cents, divided by 100*/
sprintf(array, "%-6d", y); /* ATTEMPTING TO PUT y INTO array (saw this on google) */
printf("%s\n\n", array); /* Just wanted to see if it worked. It didn't. I got -2big
number.*/
length = strnlen(array); /*find length of the value in array*/
array[length] = '\0'; /* affix terminating null character to array */
b = SIZE - length - 1; /* b is amount of zeroes needed */
for(c = 0; c < length - 1; c++) { /* loops, plugging zeroes in amount until b=c,
then attaches array to amount */
if(b == c) {
amount[c] = '\0';
strcat(amount, array);
}
else {
amount[c] = '0';
}
}
printf("%s\n\n", amount); /* Checking to see if it worked. Nope. All zeroes. And
sometimes extra symbols at the end*/
return;
}
Würde wirklich Hilfe zu schätzen wissen. Vielen Dank!!!