Ich versuche ein Basisprogramm zu entwickeln, das Ihren Namen trägt und die Ausgabe im Standardformat liefert. Das Problem ist, dass ich möchte, dass der Benutzer eine Option hat, den zweiten Vornamen nicht hinzuzufügen.Drucken eines Namens im Standardformat
Zum Beispiel: Carl Mia Austin gibt mir C. M. Austin, aber ich will, dass selbst wenn der Input Carl Austin ist, sollte es mir C. Austin geben, ohne den Benutzer zu fragen, ob sie einen zweiten Vornamen haben oder nicht. Also, gibt es einen Weg oder eine Funktion, die das automatisch erkennen könnte ??
#include <stdio.h>
int main(void) {
char first[32], middle[20], last[20];
printf("Enter full name: ");
scanf("%s %s %s", first, middle, last);
printf("Standard name: ");
printf("%c. %c. %s\n", first[0], middle[0], last);
return 0;
}
Die einzige problemI se in diesem Code ist semantische @chqrlie. Für den Fall, dass die Person keinen zweiten Vornamen hat, sondern nur den Vor- und Nachnamen eingibt, wird der Nachname als "Mitte" interpretiert. – user3078414
@ user3078414: Ich bin mir nicht sicher, was Sie in Ihrem Kommentar meinen. Wenn der Benutzer einen Namen mit nur 2 Teilen eingibt, werden nur 'first' und' middle' durch 'sscanf()' konvertiert und der * Standardname * wird als Initial des 'first' und des vollen' middle' gedruckt. Das ist wirklich der Nachname. Das Umbenennen dieser 3 Felder "part1", "part2" und "part3" würde potentielle Verwirrung reduzieren. – chqrlie
Danke für Ihre Reaktion, @chqrlie. Ich denke an den Code, der möglicherweise Daten organisiert und sie in die benötigte Datenbank kopieren kann. Ich glaube nicht, dass jemand einen solchen Code nur zum Einspeisen von 'printf()' benötigt. (-: – user3078414