Newsgroup: it.comp.lang.pascal
Titolo: programma??

Ciao, qualcuno ha una minima idea per fare un programma che dato un giorno
ti dice il successivo?
Ciao e grazie mille!!!!!
Paolo


wrote:

In più o meno di 24 ore? (scusa, ma la battutaccia è così...)
Seriamente, cosa intendi per il successivo? Vuoi sapere se sarà un
lunedì o un giovedì, giusto?
PV

 lunedì o un giovedì, giusto?
Io vorrei sapere, immessi da tastiera data, mese e anno, qual'è la data, il
mese e l'anno il giorno successivo.
Il fatto del giorno non c'è problema se c'è ok se non c'è ok lo stesso!!!!!
Ciao e ancora grazie!!!!!1
Paolo

 Il fatto del giorno (il lunedi ecc....) non c'è problema se c'è ok se non


Io ho provato a fare il programma ma mi da tanti errori SOPRATTUTTO DOPO IL
CASE QUANDO DEVO SCRIVERE VARI NUMERI,
qui di seguito ecco il programma che ho provato a fare!!!!
Dateci e non occhiata e vedete se riuscita a trovare errori?
Ciao e grazie
Paolo
Program data1;
uses crt;
var m, s, g, a, g1, g2,l:Integer;
Begin
clrscr;
writeln ('Inserisci il giorno del mese');
readln (s);
writeln ('Inserisci il mese da 1 a 12');
readln (m);
writeln ('Inserisci l''anno');
readln (a);
g:=a mod 4;
g1:=a mod 400;
g2:=a mod 100;
if (g=0) and (g2<>0) or (g1=0)
then
Begin
case m of
1,3,5,7,8,10,12:Begin
                Begin
                if s=31 then
                Begin
                l:=1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m+1 , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end
                else
                Begin
                l:=s+1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end;
                end;
        4,6,9,11:Begin     {qui la macchina mi da l'errore mi dice  }
                if s=30 then   {Unknow identifier riferito al 4 con tutti}
                begin          {i suoi compagni}
                l:=1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m+1 , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end
                else
                Begin
                l:=s+1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end;
               2:Begin        {qui la macchina mi da lo stesso errore}
                if s=29 then  {di sopra per. ora riferito al 2}
                Begin         {tutto ci. con il due, il 4 e tutti i suoi
amici}
                l:=1;         {succede anche sotto dopo l'else del
primissimo if}
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m+1 , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end
                else
                Begin
                l:=s+1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end;
                end;
                end;
                end
                else
                Begin
                writeln ('Il numero che hai inserito S sbagliato riprova');
                end;
                end
else
                case m of
1,3,5,7,8,10,12:Begin
                if s=31 then
                Begin
                l:=1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m+1 , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end
                else
                Begin
                l:=s+1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end;
                end;
       4,6,9,11:Begin {QUI MI DA UN ERRORE  E MI METTE IL CURSORE SUL 4}
                if s=30 then        {L'ERRORE č UNKNOWN IDENTIFIER E IL
CURSORE č SUL 4}
                Begin
                l:=1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m+1 , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end
                else
                Begin
                l:=s+1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end;
                end;
              2:Begin                       {QUI MI DA UN ERRORE  E MI METTE
IL CURSORE SUL 2}
                 if s=28 then              {L'ERRORE č UNKNOWN IDENTIFIER E
IL CURSORE č SUL 2}
                 Begin
                l:=1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m+1 , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end
                else
                Begin
                l:=s+1;
                write ('Il giorno successivo al giorno che tu hai');
                write (' scelto cioS il ', s ,' del mese ', m , '' );
                writeln (' dell''anno ', a ,' S il seguente: ' , l);
                end;
                end;
                end
readln
end.

Su due piedi potresti:
- usare un vettore di 7 celle di tipo stringa e sfruttare l'indice
- definirti un nuovo tipo di dato, magari enumerativo ed eseguire un
incremento partendo dal giorno inserito dall'utente
Ciauz
--
KNOWLEDGE IS POWER
http://www.sverzat.com
¯`·.           .·´¯`:
'·.   .`·.   .·´.   .·'
   `:--·´   `·--:´
      `·. '_' .·
        ;`·-·´;

 ( -snip- a stecca )
il casino e' tutto nei blocchi begin end... ci sono end di meno ed end
di troppo... in generale e' tutto un po' incasinato...
prova ad indentare ogni blocco e la cosa dovrebbe prendere una
forma migliore... e l'errore saltera' fuori da solo :-)
--
Dreadnaut (dn)
drea...@liberoDALLASPAM.it
(Life would be easier if I had the source code)