Buonasera a tutti, sono nuovo del forum, volevo un chiarimento su come inserire spazi in una stringa utilizzando come funzione printf,sto impazzendo, provo in vari modi ma niente. Posto il codice confidando in un vostro aiuto:
L'algoritmo simula la gestione di un giornale solo che appena inserisco una frase e quindi parole distanziate dal carattere spazio il programma salta delle istruzioni...
Come potrei risolvere?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//BOZZA di Soluzione. Mancano ancora l'utilizzo di funzioni per inserire articoli e per stamparli
// al fine di rispettare i vincoli dell'esercizio
#define MAXNUMPAGINE 10
#define MAXARTICOLIPERPAGINA 3
#define MAXDIMSTRINGHE 200
// definiamo il tipo "articolo del giornale"
typedef
struct{
char titolo[MAXDIMSTRINGHE];
char corpo[MAXDIMSTRINGHE];
} articolodelgiornale;
//definiamo il tipo pagina del giornale
typedef
struct{
int numeropagina;
articolodelgiornale articolo[MAXARTICOLIPERPAGINA];
} PaginaDelGiornale;
//definiamo il tipo giornale
typedef
struct{
int NumArticoliTotali;
int NumPagineTotali;
PaginaDelGiornale Pagina[MAXNUMPAGINE];
} Giornale;
int main() {
Giornale IlMattino;
//dichiarazione di variabili
int i,j, numero,numeri;
char tmpStr[MAXDIMSTRINGHE];
//Inserimento degli articoli nel giornale
printf("Inserire il numero di pagine del giornale: ");
scanf("%d", &numero);
IlMattino.NumPagineTotali=numero;
printf("Inserire il numero di articoli per pagina: ");
scanf("%s", &numeri);
IlMattino.NumArticoliTotali=numeri;
// mancano le funzioni aggiungere le funzioni inserimento articolo e stampa articolo per esercizio
// e modificare il codice in modo opportuno
for(i=0;i<IlMattino.NumPagineTotali;i++){
IlMattino.Pagina[i].numeropagina=i;
for(j=0;j<IlMattino.NumArticoliTotali;j++)
printf("Inserisci il titolo dell'articolo: ");
scanf("%s", tmpStr);
strcpy(IlMattino.Pagina[i].articolo[j].titolo,tmpStr);
printf("Inserire il corpo dell'articolo: ");
scanf("%s", tmpStr);
strcpy(IlMattino.Pagina[i].articolo[j].corpo,tmpStr);
printf("numpagina i=%d numarticolo j=%d", i, j);
}
}
for(i=0;i<IlMattino.NumPagineTotali;i++){
printf("\nPagina%d\n", IlMattino.Pagina[i].numeropagina);
for(j=0;j<IlMattino.NumArticoliTotali;j++){
printf("\nTitoloarticolo : %s\n", IlMattino.Pagina[i].articolo[j].titolo);
printf("\nCorpoarticolo : %s\n", IlMattino.Pagina[i].articolo[j].corpo);
}
}
system("PAUSE");
return 0;
}
[\code]