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

要自动化任务和管理多个系统,任务计划软件是您武器库中的宝贵工具,尤其是对于系统管理员而言。Windows任务计划程序完美地完成了这项工作,但最近许多人报告说操作员拒绝了请求错误。该问题存在于操作系统的所有迭代中,即使已经广泛报告和涵盖,也没有有效的解决方案。继续阅读以找到真正对其他人有用的内容!操作员或管理员拒绝了任务计划程序0x800710e0中的请求是什么?任务计划程序允许在没有用户输入的情况下自动执行各种任务和应用程序。您可以使用它来安排和组织特定应用程序、配置自动通知、帮助传递消息等。它

如何在Windows11和Windows10中暂停任务管理器进程更新按CTRL+窗口键+删除打开任务管理器。默认情况下,任务管理器将打开“进程”窗口。正如您在此处看到的,所有应用程序都在无休止地移动,当您想要选择它们时,可能很难将它们指向下方。因此,按CTRL并按住它,这将暂停任务管理器。您仍然可以选择应用程序,甚至可以向下滚动,但您必须始终按住CTRL按钮。

冻结或无响应的程序很容易从任务管理器中杀死。但是Microsoft最近为用户提供了直接从任务栏终止这些任务的便利。虽然该选项并未向所有人推出,但如果您有WindowsInsider版本,则很容易获得。以下是启用“结束任务”按钮并从任务栏关闭任务所需的一切。如何从任务栏中获取“结束任务”按钮以杀死应用目前,为任务栏应用启用“结束任务”按钮的选项仅作为具有Windows预览体验成员版本的用户的开发人员选项提供。但是,这在即将推出的功能更新中可能会发生变化,因为它将在稳定版本上向全球用户推出。如果您尚

实现任务通用是深度学习基础模型研究的核心问题,也是近期大模型方向的主要关注点之一。然而,在时间序列领域,各类分析任务的差别较大,既有需要细粒度建模的预测任务,也有需要提取高层语义信息的分类任务。如何构建统一的深度基础模型高效地完成各类时序分析任务,此前尚未有成型方案。为此,来自清华大学软件学院的团队围绕时序变化建模这一基本问题展开研究,提出了任务通用的时序基础模型TimesNet,论文被ICLR 2023接收。作者列表:吴海旭*,胡腾戈*,刘雍*,周航,王建民,龙明盛链接:https://ope

简介人工通用智能(AGI)可以被认为是一个人工智能系统,它能够像人类一样理解、处理和响应智力任务。这是一项具有挑战性的任务,需要深入了解人脑的工作方式,以便我们能够复制它。然而,ChatGPT的出现引起了研究界对开发此类系统的巨大兴趣。微软已经发布了这样一个由AI驱动的关键系统,名为HuggingGPT(MicrosoftJarvis)。在深入了解HuggingGPT的新内容以及它工作原理的相关细节之前,让我们首先了解ChatGPT的问题,以及为什么它在解决复杂的AI任务方面很困难。像ChatG

很多小伙伴在使用电脑的时候遇见某个软件卡住。电脑动不了的情况,这个时候就需要调出任务管理器来结束这个进程,但是发现任务管理器无法打开,这是怎么一回事呢?可能是你的文件丢失或者病毒入侵了,具体的解决方法下面一起来看看吧。 任务管理器无法使用的解决方法一般来说打开的任务管理器的方法有以下几种1、Ctrl+Shift+Esc组合键2、ctrl+alt+del组合键3、在空白地方右击,选择“启动任务管理器”也能打开“任务管理器"4、打开“运行”对话框,输入“taskmgr.exe”来打开任务管理器如果

学习通作业被打回怎么重交?1、找到被打回作业的通知。2、找到被打回的作业的消息。3、点击那个蓝色的作业,就可以重新修改并提交作业了。怎么看学习通章节学习次数?首先,进入学习通,点击右下角的“我”。接着,在个人名字旁边,有一个小标志,点击。最后,该标志点开,就有学习通的使用次数了。

Go语言中如何处理并发任务重试问题?在并发编程中,任务重试是一个常见的问题。当一个任务执行失败后,我们可能希望重新执行该任务直到成功为止。Go语言的并发模型使得处理并发任务重试问题变得相对简单。本文将介绍如何在Go语言中处理并发任务重试问题,并提供具体的代码示例。一、使用goroutine和channel进行并发任务执行在Go语言中,我们可以使用gorout


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),