-
-Tonix-.
User deleted
Ciao ragazzi ho bisogno di una mano..
Dopo due corsi di programmazione in C mi sto dando un po al PHP e al PERL..
Ho scritto questo piccolo programmino dove si deve indovinare un numero e si hanno 10 possibilità..CODICE#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
printf "Inserisci il nome del giocatore: ";
my $g1 = <STDIN>;
printf "Premi un testo per iniziare a giocare..";
getc();
printf "\n";
my $valore = 76;
my $val = 0;
for(my $i=1; $i<=10; $i++)
{
printf "Tentativo $i -> Inserisci un numero: ";
$val = <STDIN>;
if ($val == $valore)
{
printf "Hai indovinato!!";
getc();
exit 0;
}
if ($val < $valore)
{
printf "Sbagliato! Il numero è più grande!!";
}
if ($val > $valore)
{
printf "Sbagliato! Il numero è più piccolo!!";
}
printf "\n";
}
getc();
il programma funziona solo che io ho usato tre volte if nel ciclo for.. Sul mio manuale c'è scritto che è possibile in questi casi scrivere if, elsif e else ma in questo modo il programma non parte..
ultima cosa.. conoscete qualche compilatore per il perl? o per windows o per ubuntu è la stessa cosa.. io per adesso li scrivo e li avvio con il terminale di ubuntu..
grazie!. -
.
Perl è interpretato, non ha bisogno di un compilatore, ma di un programma chiamato interprete che lo esegui, e sulle distro GNU/Linux è già preinstallato.
Comunque a me funziona conCODICE#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
printf "Inserisci il nome del giocatore: ";
my $g1 = <STDIN>;
printf "Premi un testo per iniziare a giocare..";
getc();
printf "\n";
my $valore = 76;
my $val = 0;
for(my $i=1; $i<=10; $i++)
{
printf "Tentativo $i -> Inserisci un numero: ";
$val = <STDIN>;
if ($val == $valore)
{
printf "Hai indovinato!!";
getc();
exit 0;
}
elsif ($val < $valore)
{
printf "Sbagliato! Il numero è più grande!!";
}
elsif ($val > $valore)
{
printf "Sbagliato! Il numero è più piccolo!!";
}
printf "\n";
}
getc();. -
-Tonix-.
User deleted
Funziona mettendo 2 volte elsif.. perchè else non lo legge?? . -
.
Perchè non devi dargli nessuna condizione, perchè il blocco che contiene viene invocato quando nessuno degli if/elsif è true.
Comunque nel tuo caso non mi sembra ci sia il bisogno di un else.. -
-Tonix-.
User deleted
hai ragione.. che stupido! .