[C] Stampa nome e cognome

Omar791
buona sera...
ho questo problema che non riesco a risolvere:
devo scrivere un programma in cui io devo inserire ilo nome e il cognome, ma venga stampato: il cognome, una virgola e l'iniziale del nome seguito dal punto.
ESEMPIO OUTPUT:


Enter first and last name: Mario Rossi
Rossi, M.


Il mio programma è questo(ovviamente non è corretto)...


#include
int main(void)
{
char n;
printf("inserisci il nome e il cognome: ");
n=getchar();
while(n!='\n'){
printf("%c",n);
n=getchar();}

return 0;
}

Risposte
apatriarca
Ci sono principalmente due metodi per risolvere questo problema:
1. Memorizzare le due stringhe in due array di char e poi stampare il valore. A questo punto è immediato stampare il risultato.
char nome[80], cognome[80];
int ret = scanf("%79s %79s", nome, cognome);
if (ret != 2) { /* ERRORE */ }
printf(...)

2. Leggere un carattere per volta e quindi seguire un algoritmo più complicato simile al seguente pseudocodice
1. Ignorare ogni spazio
2. Memorizzare la prima lettera del nome.
3. Ignorare ogni altra lettera del nome.
4. Ignorare ogni spazio dopo il nome.
5. Stampare ogni carattere del cognome.
6. Stampare una virgola e uno spazio.
7. Stampare l'iniziale del nome.
8. Stampare il punto.

Omar791
buongiorno, scusa se rispondo solo ora.
Ho provato a svolgere il secondo metodo che mi hai consigliato ma non riesco a sviluppare il codice corretto.
Se puoi darmi un ultimo aiuto ti ringrazio molto..
Grazie mille in anticipo

Omar791
volevo solo farti sapere che alla fine sono riuscito a creare il programma....
ancora grazie pre l'aiuto

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.