2013-11-12 7 views
0

Моя программа должна состоять из цикла for, использовать как уже созданные входные функции (имя и номер), так и итоговые значения. Мне также нужно иметь возможность ОТМЕНА и перейти к моему doc.write, где я буду вводить имя и номер. Мне также нужно дать пользователю еще один шанс ввести свое имя или номер, если они случайно набрали номер, где должны быть буквы, и наоборот. Я думаю, что у меня есть большая часть структуры правильно, любая помощь будет принята с благодарностью!Основная программа Javascript, нужна помощь

function inputName() { 

var nameIn = prompt("Enter your Name"); 
while(!isNaN(nameIn)) { 
nameIn = prompt("Must contain only letters"); 


} 
return nameIn; 

} 
/* INPUT NUMBER */ 

function inputNum(){ 

var numIn=parseFloat(prompt("Enter the number of hours worked \n 0-60 hours")); 

var min=0; 
var max=60; 

while(numIn>min && numIn>max){ 
numIn=prompt("Enter a valid number between 0-60"); 
return numIn; 
} 
</script> 
<body> 


<script type="text/javascript"> 

//DECLARATIONS 
var wage=10.00; 
var earned; // hrsWrked*wage 
var totHrsWrked=0; 
var totEarning=0; 
var BR= " 
"; 
var howMany; 
var loopControl; 

//INPUT & PROCESSING 

howMany=parseFloat(prompt("How many employees are you inputing?")); 

for(loopControl=1 ; loopControl <= howMany; ++loopControl){ 

var inpNam=inputName(); 

var inpNumber=inputNum(); 


earned= inpNumber*wage; 
totEarning+=earned; 
totHrsWrked+=inpNumber; 

//OUTPUT 
document.write("Name: "+ inpNam+ BR); 
document.write("Hours Worked: " + inpNumber + BR); 
document.write("Money Earned: $ " + earned + BR +BR); 

} 
document.write("Total Hours Worked: " + totHrsWrked.toFixed(2) + BR); 
document.write("Total Earnings: " + "$"+totEarning.toFixed(2)+ BR+BR); 

</script> 
</body> 
</html> 
+0

Добро пожаловать в SO! Правильно отформатируйте свой код - это упростит чтение и понимание вашего вопроса. – georg

+1

Я не думаю, что '! IsNan (name)' найдет, если это только буквы, регулярное выражение лучше подходит для этого – Markasoftware

+0

, так как вы определили 'BR', на самом деле не создадите разрыв строки, вы должны сделайте это: 'var BR = '
' ', и это вызовет новую строку – Markasoftware

ответ

0

Вот отредактированная версия вашего кода. :)

<! doctype html> 
<html> 
<body> 
<script> 

//DECLARATIONS 
var wage=10.00, earned, totHrsWrked=0, totEarning=0, howMany; 

//INPUT & PROCESSING 
howMany=parseFloat(prompt("No of employees")); 
for(var loopControl=1 ; loopControl <= howMany; ++loopControl) 
{ 

    var inpNam=inputName(); 
    var inpNumber=inputNum(); 
    earned= inpNumber*wage; 
    totEarning+= (+earned); 
    totHrsWrked+= (+inpNumber); 
    //OUTPUT 
    document.write("Name: "+ inpNam+ "<br>");  
    document.write("\n Hours Worked: " + inpNumber + "<br>"); 
    document.write("Money Earned: $ " + earned + "<br><br>"); 
} 
document.write("Total Hours Worked: " + totHrsWrked.toFixed(2)+ "<br>"); 
document.write("Total Earnings: " + "$"+totEarning.toFixed(2)+ "<br>"); 

//INPUT NAME 
function inputName() { 

var nameIn = prompt("Enter your Name"); 
while(!isNaN(nameIn)) { 
nameIn = prompt("Must contain only letters"); 
} 
return nameIn; 
} 

//INPUT NUMBER 
function inputNum(){ 
var numIn=parseFloat(prompt("Enter the number of hours worked \n 0-60 hours")); 
var min=0; 
var max=60; 

while(numIn<=min || numIn>=max){ 
numIn=prompt("Enter a valid number between 0-60"); 
} 
return numIn; 
} 
</script> 
</body> 
</html> 
Смежные вопросы