软件工程结对作业02,软件工程结对02_PHP教程
软件工程结对作业02,软件工程结对02
1.设计思想:
本次任务我用php实现的主要功能,默认必须有加减法。
首先,创建index.php文件,在HTML语句里创建表单,表单内容包括,出题数目,最大最小值,及其他的一些选项。
然后,创建rubric.php文件,将表单信息提交到此文件下,四则运算方法实现时调用传递过来的值。实现四则运算的方法和前几次用Java时的方法差不多,将代码做了修改和优化。将题目和答案分别放入question.txt和answer.txt文件里,以备后用。
第三,创建submitAnswer.php、acceptAnswer.php、deleteAnswer.php和judgeAnswer.php文件,分别用于在线提交答案,接收答案,删除答案和判断答案。提交的答案放在answer1.txt文件里,判断答案时通过比较answer.txt和answer1.txt文件里的内容即可。
2.源程序代码

41
43 44 72
"; 410 $d[$i]=$b[$i]."\n"; 411 $e[$i]=$r->r1."\n"; 412 fwrite($question,$d[$i]); 413 fwrite($answer,$e[$i]); 414 } 415 fclose($question); 416 fclose($answer); 417 } 418 419 /* 两个数的加减乘法 */ 420 if(($num1==2) && ($mul=='t') && ($div=='f')) 421 { 422 $question = fopen("question.txt", "w"); 423 $answer= fopen("answer.txt", "w"); 424 for($i=0;$i$num;$i++) 425 { 426 $j=0; 427 $bool=true; 428 $b[$i]= addSubMul($min, $max, $num1, $r); 429 while(($r->r1)//当结果为负时,重新随机 430 { 431 $b[$i]= addSubMul($min, $max, $num1, $r); 432 } 433 while(($bool) && ($i!=0))//避免重复 434 { 435 while($b[$i]==$b[$j]) 436 { 437 $b[$i]= addSubMul($min, $max, $num1, $r); 438 while(($r->r1)//结果为负,重新出题 439 { 440 $b[$i]= addSubMul($min, $max, $num1, $r); 441 } 442 $j=0; 443 } 444 $j++; 445 if($j==$i) 446 { 447 $bool=false; 448 } 449 } 450 echo "( ".($i+1)." ) ".$b[$i]."
"; 451 $d[$i]=$b[$i]."\n"; 452 $e[$i]=$r->r1."\n"; 453 fwrite($question,$d[$i]); 454 fwrite($answer,$e[$i]); 455 } 456 fclose($question); 457 fclose($answer); 458 } 459 460 /* 两个数的加减除法 */ 461 if(($num1==2) && ($mul=='f') && ($div=='t')) 462 { 463 $question = fopen("question.txt", "w"); 464 $answer= fopen("answer.txt", "w"); 465 for($i=0;$i$num;$i++) 466 { 467 $j=0; 468 $bool=true; 469 $b[$i]= addSubDiv($min, $max, $num1, $r); 470 while(($r->r1)//当结果为负时,重新随机 471 { 472 $b[$i]= addSubDiv($min, $max, $num1, $r); 473 } 474 while(($bool) && ($i!=0))//避免重复 475 { 476 while($b[$i]==$b[$j]) 477 { 478 $b[$i]= addSubDiv($min, $max, $num1, $r); 479 while(($r->r1)//结果为负,重新出题 480 { 481 $b[$i]= addSubDiv($min, $max, $num1, $r); 482 } 483 $j=0; 484 } 485 $j++; 486 if($j==$i) 487 { 488 $bool=false; 489 } 490 } 491 echo "( ".($i+1)." ) ".$b[$i]."
"; 492 $d[$i]=$b[$i]."\n"; 493 $e[$i]=$r->r1."\n"; 494 fwrite($question,$d[$i]); 495 fwrite($answer,$e[$i]); 496 } 497 fclose($question); 498 fclose($answer); 499 } 500 501 /* 两个数的加减乘除法 */ 502 if(($num1==2) && ($mul=='t') && ($div=='t')) 503 { 504 $question = fopen("question.txt", "w"); 505 $answer= fopen("answer.txt", "w"); 506 for($i=0;$i$num;$i++) 507 { 508 $j=0; 509 $bool=true; 510 $b[$i]= addSubMulDiv($min, $max, $num1, $r); 511 while(($r->r1)//结果为负,重新出题 512 { 513 $b[$i]= addSubMulDiv($min, $max, $num1, $r); 514 } 515 while(($bool) && ($i!=0))//判断重复 516 { 517 while($b[$i]==$b[$j]) 518 { 519 $b[$i]= addSubMulDiv($min, $max, $num1, $r); 520 while(($r->r1)//结果为负,重新出题 521 { 522 $b[$i]= addSubMulDiv($min, $max, $num1, $r); 523 } 524 $j=0; 525 } 526 $j++; 527 if($j==$i) 528 { 529 $bool=false; 530 } 531 } 532 echo "( ".($i+1)." ) ".$b[$i]."
"; 533 $d[$i]=$b[$i]."\n"; 534 $e[$i]=$r->r1."\n"; 535 fwrite($question,$d[$i]); 536 fwrite($answer,$e[$i]); 537 } 538 fclose($question); 539 fclose($answer); 540 } 541 542 /* 三个数的加减法 */ 543 if(($num1==3) && ($mul=='f') && ($div=='f')) 544 { 545 $question = fopen("question.txt", "w"); 546 $answer= fopen("answer.txt", "w"); 547 for($i=0;$i$num;$i++) 548 { 549 $j=0; 550 $bool=true; 551 $b[$i]= addSub($min, $max, $num1, $r); 552 while(($r->r1)//结果为负,重新出题 553 { 554 $b[$i]= addSub($min, $max, $num1, $r); 555 } 556 while(($bool) && ($i!=0))//判断重复 557 { 558 while($b[$i]==$b[$j]) 559 { 560 $b[$i]= addSub($min, $max, $num1, $r); 561 while(($r->r1)//结果为负,重新出题 562 { 563 $b[$i]= addSub($min, $max, $num1, $r); 564 } 565 $j=0; 566 } 567 $j++; 568 if($j==$i) 569 { 570 $bool=false; 571 } 572 } 573 echo "( ".($i+1)." ) ".$b[$i]."
"; 574 $d[$i]=$b[$i]."\n"; 575 $e[$i]=$r->r1."\n"; 576 fwrite($question,$d[$i]); 577 fwrite($answer,$e[$i]); 578 } 579 fclose($question); 580 fclose($answer); 581 } 582 583 /* 三个数的加减乘法 */ 584 if(($num1==3) && ($mul=='t') && ($div=='f')) 585 { 586 $question = fopen("question.txt", "w"); 587 $answer= fopen("answer.txt", "w"); 588 for($i=0;$i$num;$i++) 589 { 590 $j=0; 591 $bool=true; 592 $b[$i]= addSubMul($min, $max, $num1, $r); 593 while(($r->r1)//结果为负,重新出题 594 { 595 $b[$i]= addSubMul($min, $max, $num1, $r); 596 } 597 while(($bool) && ($i!=0))//判断重复 598 { 599 while($b[$i]==$b[$j]) 600 { 601 $b[$i]= addSubMul($min, $max, $num1, $r); 602 while(($r->r1)//结果为负,重新出题 603 { 604 $b[$i]= addSubMul($min, $max, $num1, $r); 605 } 606 $j=0; 607 } 608 $j++; 609 if($j==$i) 610 { 611 $bool=false; 612 } 613 } 614 echo "( ".($i+1)." ) ".$b[$i]."
"; 615 $d[$i]=$b[$i]."\n"; 616 $e[$i]=$r->r1."\n"; 617 fwrite($question,$d[$i]); 618 fwrite($answer,$e[$i]); 619 } 620 fclose($question); 621 fclose($answer); 622 } 623 624 /* 三个数的加减除法 */ 625 if(($num1==3) && ($mul=='f') && ($div=='t')) 626 { 627 $question = fopen("question.txt", "w"); 628 $answer= fopen("answer.txt", "w"); 629 for($i=0;$i$num;$i++) 630 { 631 $j=0; 632 $bool=true; 633 $b[$i]= addSubDiv($min, $max, $num1, $r); 634 while(($r->r1)//结果为负,重新出题 635 { 636 $b[$i]= addSubDiv($min, $max, $num1, $r); 637 } 638 while(($bool) && ($i!=0))//判断重复 639 { 640 while($b[$i]==$b[$j]) 641 { 642 $b[$i]= addSubDiv($min, $max, $num1, $r); 643 while(($r->r1)//结果为负,重新出题 644 { 645 $b[$i]= addSubDiv($min, $max, $num1, $r); 646 } 647 $j=0; 648 } 649 $j++; 650 if($j==$i) 651 { 652 $bool=false; 653 } 654 } 655 echo "( ".($i+1)." ) ".$b[$i]."
"; 656 $d[$i]=$b[$i]."\n"; 657 $e[$i]=$r->r1."\n"; 658 fwrite($question,$d[$i]); 659 fwrite($answer,$e[$i]); 660 } 661 fclose($question); 662 fclose($answer); 663 } 664 665 /* 三个数的加减乘除法 */ 666 if(($num1==3) && ($mul=='t') && ($div=='t')) 667 { 668 $question = fopen("question.txt", "w"); 669 $answer= fopen("answer.txt", "w"); 670 for($i=0;$i$num;$i++) 671 { 672 $j=0; 673 $bool=true; 674 $b[$i]= addSubMulDiv($min, $max, $num1, $r); 675 while(($r->r1)//结果为负,重新出题 676 { 677 $b[$i]= addSubMulDiv($min, $max, $num1, $r); 678 } 679 while(($bool) && ($i!=0))//判断重复 680 { 681 while($b[$i]==$b[$j]) 682 { 683 $b[$i]= addSubMulDiv($min, $max, $num1, $r); 684 while(($r->r1)//结果为负,重新出题 685 { 686 $b[$i]= addSubMulDiv($min, $max, $num1, $r); 687 } 688 $j=0; 689 } 690 $j++; 691 if($j==$i) 692 { 693 $bool=false; 694 } 695 } 696 echo "( ".($i+1)." ) ".$b[$i]."
"; 697 $d[$i]=$b[$i]."\n"; 698 $e[$i]=$r->r1."\n"; 699 fwrite($question,$d[$i]); 700 fwrite($answer,$e[$i]); 701 } 702 fclose($question); 703 fclose($answer); 704 } 705 706 /* 四个数的加减法 */ 707 if(($num1==4) && ($mul=='f') && ($div=='f')) 708 { 709 $question = fopen("question.txt", "w"); 710 $answer= fopen("answer.txt", "w"); 711 for($i=0;$i$num;$i++) 712 { 713 $j=0; 714 $bool=true;

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.
