软件工程结对作业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;

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.
