Ciao a tutti premetto che sono uno studente di terza superiore (anzi ora quarta), e ho imparato la programmazione imperativa con c++ durante quest'anno scolastico. Recentemente mio papà mi ha chiesto di fare un programmino che gli permettesse di scrivere una serie di attività e la data di quando le esegue. Ad esempio se il giorno 21/06/2011 fa un lavoro X vorrebbe dire al mio programma che ha fatto quel lavoro e il giorno, e a richiesta stampare tutti i lavori o i lavori divisi per mese o per anno. Se mi sono spiegato male ditemelo che cerco di farlo meglio. Ho pensato di fare un record con due array di caratteri, uno di dimensione 10 per la data e uno di dimensione 1000 per l'attività. Poi una volta inseriti i dati salvo il record in un file. Ho fatto una funzione che rileva la data odierna, chiede all'utente se l'attività è stata svolta in quella data e, se la risposta è no, chiede all'utente la data in cui è stata svolta (con tutti i controlli per giorno, mese, anno), e infine chiede di scrivere l'attività svolta. Per la data l'input è un array di caratteri per l'attività l'input è una stringa e poi la converto in array di caratteri per assegnarla alle variabili del record. Ad esempio:
Poi il record viene restituito alla funzione per scrivere sul file e scritto. Il problema è che se vado a controllare il contenuto della data memorizzata nel record ottengo la data e subito attaccata l'attività. Esempio: la data è "21/06/2011", l'attività "xyz", l'output è:codice:getline(cin, es); strcpy(att.attes,es.c_str());
21/06/2011xyz
Se poi stampo anche l'attività e prima uno spazio, cioè:
ottengo:codice:cout<<att.dataes<<" "<<att.attes;
21/06/2011xyz xyz
Come posso fare per risolvere ciò??
Grazie a tutti...

. Ho pensato di fare un record con due array di caratteri, uno di dimensione 10 per la data e uno di dimensione 1000 per l'attività. Poi una volta inseriti i dati salvo il record in un file. Ho fatto una funzione che rileva la data odierna, chiede all'utente se l'attività è stata svolta in quella data e, se la risposta è no, chiede all'utente la data in cui è stata svolta (con tutti i controlli per giorno, mese, anno), e infine chiede di scrivere l'attività svolta. Per la data l'input è un array di caratteri per l'attività l'input è una stringa e poi la converto in array di caratteri per assegnarla alle variabili del record. Ad esempio:
Rispondi quotando