学生答疑系统实验报告_第1页
学生答疑系统实验报告_第2页
学生答疑系统实验报告_第3页
学生答疑系统实验报告_第4页
学生答疑系统实验报告_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验报告1. 实验任务:学生答疑系统: 为一个学生答疑系统 , 最基本的服务学生排队、 教师答疑及查看学生排队情 况。至于其他功能 , 可以发挥自己的深入理解和想象。对于学生排队功说 , 其功能为登记学 生的相关信息 (主要信息为学号和姓名 )。对于教师答疑来说 , 其功能为根据学生排队情况, 为队列最前面的同学答疑。查看学生排队情况是看目前还有多少学生等候答疑。由于学生答疑系统是遵循 “先到先答疑 ”的原则 , 也就是符合队列的操作原则 , 因此可以 使用队列存储结构处理学生答疑服务。2.算法思想与结构描述:由于模拟的是学生答疑系统, 遵循先进先出的特点, 也就是符合队列的操作原则, 因此我

2、们 可以选择队列来实现。 又由于学生人数不确定, 因此我们应该选择的事链队。 只需要创建一 个链队来存放我们的学生队列, 用元素进队模拟学生排队, 用元素出出队模拟答疑, 然后用 元素顺序输出模拟查看排队学生情况即可。在主函数中,运用循环和选择结构3.算法实现:学生答疑系统算法即是链队的应用, 要实现将学生入队出队的操作既是链队元素进队出队的 操作。系统运用 switch 选择来模拟答疑系统的排队答疑情况,而运用大循环来模拟答疑的 整个过程, 基本实现既是链队的运用。 本系统较好的将此知识结合了起来。 算法比较简单易 读。4.实验测试结果:|0-退岀何退岀皐查看排队情况孔退岀0退岀”欢迎进入学

3、生彎i系统排队議答疑昭查着琳队情况贏退岀 蠶豐学生的BKH 20H01丄”排队2.答疑羅查看排队情况肛退岀 李四 201102匚排队 霞答疑 丸查看排队情况 齧啓生为解三 201101丄”排队趴答疑 証查看排队情况 崔看乘赊学生排队悄况窖四 2011021.#2-答疑討浮評库四 201102盯排队2 答疑羅查看排队情况5心得体会:对于不同的实际问题要选择与之相应的数据存储结构,这样既便于操作,也会在一定程度上简化算法,使问题较好的实现,减少程序的时空复杂度。6源代码:#include #include #include #include typedef char ElemType;typede

4、f struct ElemType n ame10;ElemType num10;stu;typedef struct qnodestu data;struct qnode *next;QNode;typedef struct QNode *front,*rear;QuType;void enQueue(QuType *&q,stu *s)QNode *t;t=(QNode *)malloc( sizeof (QNode); strcpy(,s-name); strcpy(t-data.num,s-num); t-next=NULL;if (q-front=NULL)q-

5、front=q-rear=t;else q-rear-next=t;q-rear=t;/ 进队一个元素void deQueue(QuType *&q)QNode *t;if (q-rear=NULL)printf( 没有学生排队等候 n );return ;if (q-front=q-rear)t=q-front;printf(本次答疑的学生为n姓名学号n”);printf( %s %s,,t-data.num);q-front=q-rear=NULL;free(t);else t=q-front;printf(本次答疑的学生为n姓名学号n”);printf( %s %s

6、n,,t-data.num);q-front=q-front-next;free(t);/ 出队一个元素void DispQueue(QuType *q)QNode *p;if (q-front=NULL)printf( 没有学生排队 n );return ;p=q-front;while (p!=NULL)printf( %s %s,,p-data.num); p=p-next;/ 顺序输出链队中用元素int main()QuType *qu;qu=(QuType *)malloc( sizeof (QuType); qu-front=qu-rear=NULL;stu *s;int choice,flag=1;printf( 欢迎进入学生答疑系统 name,s-num); enQueue(qu,s);break ; case 2: deQueue(qu); printf( n );break ;case 3:printf( 查看剩余学生排队情况 n ); DispQueue(qu);break ; default : printf( 输入指令错误 n )

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论