The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Grunder hjälpa .. detta gör mig galen hckygoli31 Shell-programmering och Skript 0 05-13-2008 05:59
Test körning OpenOffice.org 3.0 iBot UNIX och Linux RSS Nyheter 0 04-04-2008 12:10
Dum fråga, men det driver mig till nötter jepombar UNIX for Dummies Frågor & Svar 3 07-03-2007 03:32
Enkel test driver mig galen! alarmcall Shell-programmering och Skript 6 10-27-2003 10:29
UNIX driver mig till vansinne Tendernisin UNIX for Dummies Frågor & Svar 1 11-29-2001 10:38

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 02-09-2009
daddygrant daddygrant is offline
Registered User
  
 

Join Date: februari 2009
Inlägg: 5
Kort nummer kör mig nötter.

Hej grabbar jag försöker lära perl och har en enkel kalkylator jag försöker att köra men jag får fel rusning multi-line. Kan någon punkt här rookie i rätt riktning.


# # #

print "Välkommen till Kalkylator"
print "Vill du gå in räknaren? Skriv y eller n ';
$ run \u003d <stdin>;
chomp $ körning;
while ($ köra \u003d\u003d y)
(
(
print "Lägg \u003d en | Subtrahera \u003d s | Multiplicera \u003d m | Divide \u003d d | Exponent \u003d e | Mod \u003d O ';
print "Ange motsvarande antal till caluclation som skall utföras:";
$ calc \u003d <stdin>;
chomp $ calc;
print "Ange första värde:";
$ A \u003d <stdin>;
chomp $ A;
print "Ange andra värde:";
$ B \u003d <stdin>;
chomp $ B;

if ($ calc \u003d\u003d a)
(
$ answer \u003d $ a + $ b;
)
elsif ($ calc \u003d\u003d s)
(
$ answer \u003d $ a - $ b;
)
elsif ($ calc \u003d\u003d m)
(
$ answer \u003d $ A * $ B;
)
elsif ($ calc \u003d\u003d d)
(
$ answer \u003d $ A / $ B;
)
elsif ($ calc \u003d\u003d e)
(
$ answer \u003d $ A ** $ B;
)
elsif ($ calc \u003d\u003d o)
(
$ answer \u003d $ A% $ B;
)
print "Svaret är $ answer."
)
print "Vill du göra en beräkning? Skriv y eller n ';
$ run \u003d <stdin>;
chomp \u003d $ körning;
)


print "Ansökan är nu avslutas."

# # #

Senast redigerad av daddygrant; 02-09-2009 vid 01:14..
  #2 (permalänk)  
Old 02-09-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.789

Kod:
if ($answer eq "a" )

strängar använda EQ eller ne, osv för jämförelse
  #3 (permalänk)  
Old 02-09-2009
daddygrant daddygrant is offline
Registered User
  
 

Join Date: februari 2009
Inlägg: 5
Samma fel på när jag ersätta \u003d\u003d med ekv.
Citat:
if ($ calc \u003d\u003d a)
  #4 (permalänk)  
Old 02-09-2009
avronius avronius is offline VIP Member  
VIP Medlem
  
 

Join Date: april 2008
Location: Calgary
Inlägg: 305
Strängen jämförelse skulle vara att y / n - inte matematik
  #5 (permalänk)  
Old 02-09-2009
daddygrant daddygrant is offline
Registered User
  
 

Join Date: februari 2009
Inlägg: 5
Jag ändra värdena för jämförelse från sträng till heltal men jag fortfarande får samma felmeddelande. "Syntaxfel .. kan vara en skenande multi-line"


Kod:
print 'Welcome to the Calculator';
print 'Would you like to enter the calculator? Please Type y or n';
$run = <stdin>;
chomp $run;
while ($run == y)
    {
        {    
        print 'Add = 1 | Subtract = 2 | Multiply = 3 | Divide = 4 |Exponent = 5 | Mod = 6 ';
        print 'Enter the corresponding number to the caluclation to be performed:';
        $calc = <stdin>;
        chomp $calc;
        print 'Please enter the first value: ';
        $A = <stdin>;
        chomp $A;
        print 'Please enter the second value: ';
        $B = <stdin>;
        chomp $B;
        
        if($calc == 1)
            {
            $answer = $A + $B;
            }
        elsif($calc == 2)
            {
            $answer = $A - $B;    
            }
        elsif($calc == 3)
            {
            $answer = $A * $B;
            }    
        elsif($calc == 4)
            {
            $answer = $A / $B;
            }    
        elsif($calc == 5)
            {
            $answer = $A ** $B;
            }
        elsif$4calc == 6)
            {
            $answer = $A % $B;
            }
        print "The answer is $answer .";
        }
    print 'Would you like to perform another calculation? Please Type y or n';
    $run = <stdin>;
    chomp = $run;
    }


print 'The application is now terminated.';

  #6 (permalänk)  
Old 02-09-2009
pludi's Avatar
pludi pludi is online now Forum Staff  
Moderator
  
 

Join Date: Dec 2008
Ort:. Tillhör
Inlägg: 1.924
Detta bör arbeta

Kod:
print 'Welcome to the Calculator';
print 'Would you like to enter the calculator? Please Type y or n';
$run = <stdin>;
chomp $run;
while ($run eq "y")
    {
# Not needed        {    
        print 'Add = 1 | Subtract = 2 | Multiply = 3 | Divide = 4 |Exponent = 5 | Mod = 6 ';
        print 'Enter the corresponding number to the caluclation to be performed:';
        $calc = <stdin>;
        chomp $calc;
        print 'Please enter the first value: ';
        $A = <stdin>;
        chomp $A;
        print 'Please enter the second value: ';
        $B = <stdin>;
        chomp $B;
        
        if($calc == 1)
            {
            $answer = $A + $B;
            }
        elsif($calc == 2)
            {
            $answer = $A - $B;    
            }
        elsif($calc == 3)
            {
            $answer = $A * $B;
            }    
        elsif($calc == 4)
            {
            $answer = $A / $B;
            }    
        elsif($calc == 5)
            {
            $answer = $A ** $B;
            }
        elsif$4calc == 6)
            {
            $answer = $A % $B;
            }
        print "The answer is $answer .";
# Not needed        }
    print 'Would you like to perform another calculation? Please Type y or n';
    $run = <stdin>;
    chomp $run;
    }


print 'The application is now terminated.';

Noter för framtiden
  • Börja alltid din Perl kod med använda varningar, använda strikt, vilket kan hjälpa dig att fånga en hel del buggar innan de blir fel.
  • Vänligen skicka mer av felet utgångsenergi nästa gång (t.ex. "(kan vara en skenande multi-line)) strängen börjar på rad 22)" istället för "kan vara en skenande multi-line"
  • Om du vill ha ett snöre i PerlAnvänd "eller" för att bifoga och EQ för att testa dem
    [+] Print inte bifoga en newline till sin produktion, måste du lägga till det själv
  #7 (permalänk)  
Old 02-09-2009
avronius avronius is offline VIP Member  
VIP Medlem
  
 

Join Date: april 2008
Location: Calgary
Inlägg: 305
Jag skulle rekommendera att du skapar en subrutin med din miniräknare fungerar inuti.
Have your script fråga om användaren vill skriva in räknaren - ringa subrutin.
Have your script be om användaren vill fortsätta - om ja, ringa subrutin. Om nej, avsluta.

Edit: Jag såg format inte syntax ... dålig Avron!
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 02:21.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0