试运行并成功跑通了已有的项目,简单修改了主页面样式,基本完成了常见问题及解答页面,但未对内部内容进行修改(该部分需后续讨论商量后修改)

This commit is contained in:
musteven 2025-03-06 17:27:30 +08:00
parent 8057d49ebf
commit 4ef89054c9
2 changed files with 233 additions and 1 deletions

View File

@ -1,8 +1,196 @@
<template>
常见问题及解答
<CommonPage show-footer >
<!-- 所有问题 -->
<div id="faq-allProblems">
<n-collapse :default-expanded-names="expandItem?expandItem:'1'" accordion>
<n-collapse-item title="2. 如何向OJ系统提交程序?" name="2">
<div class="panel panel-default">
<div id="collapse2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading2">
<div class="panel-body">
<p>回答:提交程序分两步:</p>
<ol>
<li>
<h4>第1步:提交代码。</h4>
<p>进入一场考试后,从左侧题目列表中选中一个题目,此时将打开该题。进入“代码提交”页(如下图界面),将已编好的代码复制到“源代码”框中,并选择“编程语言”,输入验证码,然后点击“提交代码。</p>
<p><img class="shadow-img" alt="" src="@/assets/images/faq2-1.png"></p>
<p>提交代码后,后台的裁判机进行裁判(此过程可能需要几秒钟),之后可看到运行结果(如下图界面):</p>
<p><img class="shadow-img" alt="" src="@/assets/images/faq2-2.png"></p>
<p>这个结果显示:</p>
<ul>
<li>提交代码的运行结果为“WA”,表示结果错误,从界面下部的“正确测试用例ID”可知,其中有两个测试用例执行正确,而“错误测试用例ID”显示有三个测试用例执行错误。</li>
<li>本题的5个测试用例,其中两个运行正确,如果此时“提交本题”,本题“所得分数”为0.85分。</li>
</ul>
</li>
<li>
<h4>第二步:提交本题。</h4>
<p>以上界面中,如果不想继续修改本题代码,可点“提交本题”,将本题交卷。</p>
<p>提交本题后,将产生以下两个影响:</p>
<ul>
<li>本题所得分数真正被计入本场考试的得分,成绩排名也将相应变动。</li>
<li>本题不可再提交代码。</li>
</ul>
<p>需要注意的是:</p>
<ul>
<li>如果本题裁判结果为AC(即完全正确),“提交本题”的步骤将自动完成。</li>
<li>有些考试,教师设置为只有AC的代码才能“提交本题”,因此,像以上所示WA的代码“提交本题”时,系统将提示:
<img class="shadow-img" alt="" src="@/assets/images/faq2-3.png">
</li>
</ul>
</li>
</ol>
</div>
</div>
</div>
</n-collapse-item>
<n-collapse-item title="3. 我提交了程序,OJ回复的那些评判结果是什么意思?" name="3">
<div class="panel panel-default">
<div id="collapse3" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading3">
<div class="panel-body">
<p>回答:下面是常见的OJ评判结果状态以及它们表示的意思:</p>
<ul>
<li>
WAIT : 已经提交到后台系统,正在等待裁判机的评判。不过这个过程一般只持续几秒钟,除非当前同时提交的代码太多。
</li>
<li>
QUEUE : 您提交的代码已经进入裁判机,开始被裁判机评判。
</li>
<li>
AC (Accepted) : 您的程序经过严格测试完全正确,恭喜!
</li>
<li>
PE (Presentation Error) : 虽然您的程序貌似输出了正确的结果,但是这个结果的格式有点问题。请检查程序的输出是否多了或者少了空格(' ')、制表符('\t')、换行符('\n')或者字符串结束符(’\0’)。
</li>
<li>
WA (Wrong Answer) : 输出结果错,这个一般认为是算法有问题。
</li>
<li>
RE (Runtime Error) : 运行时错误,这个一般是程序在运行期间执行了非法的操作造成的。另外,需要特别提醒的是,main函数需要返回0,如果返回其它的值,也会认为是RE哦。
</li>
<li>
TLE (Time Limit Exceeded) : 您的程序运行的时间已经超出了这个题目的时间限制。如果算法不复杂的话,检查一下是否存在死循环。
</li>
<li>
CE (Compilation Error) : 您的程序语法有问题,编译器无法编译。具体的出错信息可以查看“运行结果”页面的“详细信息”框。
</li>
<li>
COPY : Sorry,教师怀疑您抄袭,所以撤销了您的提交啦。
</li>
<li>
REDO: 由于提交的代码不符合题目要求,所以教师要求您重做。
</li>
</ul>
<p>
注意,一个程序可能存在多种错误,比如,有些测试用例的运行结果是WA,而有些测试用例的运行结果是PE,OJ系统将按照错误程度严重的那种错误进行提示,所以,将提示您该程序是WA。再比如下图所示结果:
</p>
<p><img class="shadow-img" alt="" src="@/assets/images/faq3-1.png"></p>
<p>
图中显示运行状态是RE,从“错误测试用例ID”来看,有三个测试用例发生了错误,从“详细信息”来看,其中的2897和2899两个测试用例发生了“运行时错误”,那么,另外一个错误的测试用例2894,可能是WA或者PE之类的。
</p>
</div>
</div>
</div>
</n-collapse-item>
<n-collapse-item title="5. “运行结果”页面“错误的测试用例ID”那些数字后有一个问号是干什么用的?" name="5">
<div class="panel panel-default">
<div id="collapse5" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading5">
<div class="panel-body">
<p>回答:对于有的考试(或者更确切地说,是练习),教师允许学生查看那些出错的测试用例到底是什么。点击问号后,系统将会给出以下提示:测试数据的输入、正确的输出、您程序的输出。</p>
<p>但是,请求一个提示,会付出一点点代价,会扣除该题2%的分数,但如果对同一个测试用例反复请求提示,不会重复扣分的哦。</p>
<p>对于有的考试,教师不允许请求提示,这时,点击问号后,会提示以下信息:</p>
<p><img class="shadow-img" alt="" src="@/assets/images/faq5-1.png"></p>
</div>
</div>
</div>
</n-collapse-item>
<n-collapse-item title="7. 我提交的代码明明是我自己写的,但提示我“涉嫌抄袭”,我能“提交本题”吗?" name="7">
<div class="panel panel-default">
<div id="collapse7" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading7">
<div class="panel-body">
<p>回答: 所谓英雄所见略同,如果确实是您自己码出来的,那就大胆提交吧,然后记得和老师说明一下。</p>
</div>
</div>
</div>
</n-collapse-item>
<n-collapse-item title="8. 为什么我用scanf/printf的组合能得到'AC'的程序换成cin/cout就得到了'TLE'?" name="8">
<div class="panel panel-default">
<div id="collapse8" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading8">
<div class="panel-body">
<p>回答: 一般情况下,C语言运行时I/O函数比C++的效率高一些,所以处理大数据量的时候,建议使用scanf/printf组合。</p>
</div>
</div>
</div>
</n-collapse-item>
<n-collapse-item title="11.忘记了密码怎么办?" name="11">
<div class="panel panel-default">
<div id="collapse11" class="panel-collapse collapse" role="tabpanel" >
<div class="panel-body">
<p>回答:解决步骤如下</p>
<ul>
<li>
<h4>
第一步:点击忘记密码,回答注册时的密保问题
</h4>
<img class="shadow-img" width="750" alt="" src="@/assets/images/faq11-1.png">
</li>
<li>
<h4>
第二步:如果忘记了密保问题答案或者没有密保问题
</h4>
<p>寻求班级老师的帮助,由班级老师来对密码进行重置</p>
</li>
</ul>
</div>
</div>
</div>
</n-collapse-item>
<n-collapse-item title="12.忘记了账号怎么办?" name="12" id="forgetName">
<div class="panel panel-default">
<div id="collapse12" class="panel-collapse collapse" role="tabpanel" >
<div class="panel-body">
<p>回答:解决的步骤如下</p>
<ul>
<li>
<h4>
点击右上角注册按钮
</h4>
<P>
进入注册界面,输入自己的学校和学号
</P>
<p>再尝试输入剩余信息,弹出提示信息</p>
</li>
<li>
<h4>查看提示信息</h4>
<p>学号与账号是一一对应的关系,对于已经注册的学号会出现以下提示信息</p>
<p>提示信息中的“用户名:”后的内容即为登录账号</p>
<p><img class="shadow-img" width="750" alt="" src="@/assets/images/faq12.png"></p>
</li>
</ul>
</div>
</div>
</div>
</n-collapse-item>
</n-collapse>
</div>
</CommonPage>
</template>
<script setup>
import {useRoute} from "vue-router/dist/vue-router";
import {onMounted} from "vue";
const route=useRoute()
const { expandItem,itemId } = route.query
let id=1
onMounted(()=>{
let element=document.getElementById(itemId?itemId:'faq-allProblems')
element.scrollIntoView()
})
</script>

View File

@ -4,6 +4,18 @@
<div class="container">
<!-- 测试标题 -->
<p id="indexTitle" class="lead">在线报告评测系统(首页)</p>
<!-- 图片和文字说明的外层容器 -->
<div class="index-content">
<!-- 图片 -->
<div class="index-left-div">
<img src="@/assets/images/index.jpg" alt="首页图片" class="shadow-img" />
</div>
<!-- 文字说明 -->
<div class="index-right-div">
<p class="index-right-line1">第一条文字说明(可能的链接控件)</p>
<p class="index-right-line2">第二条文字说明(可能的链接控件)</p>
</div>
</div>
</div>
</CommonPage>
</template>
@ -68,4 +80,36 @@ img.shadow-img {
display: block;
outline: none;
}
/* 图片和文字说明的外层容器样式 */
.index-content {
display: flex;
align-items: center; /* 垂直对齐图片和文字 */
justify-content: space-between;
margin-left: auto;
margin-right: auto;
width: 800px;
}
/* 文字说明样式 */
.index-right-div {
margin-left: 30px; /* 根据需要调整左边距 */
width: 400px; /* 根据需要调整宽度 */
}
.index-right-line1,
.index-right-line2 {
color: #4e627a;
padding-top: 35px; /* 调整行距 */
white-space: nowrap; /* 防止文字换行 */
}
.container {
background-image: url('@/assets/images/login_bg.webp'); /* 设置背景图片 */
background-size: cover;
background-position: center;
background-repeat: no-repeat;
height: 100vh;
width: 100%;
}
</style>