1.课题简介 (3)
2.设计方案 (4)
3.具体设计 (4)
3.1 程序原理 (4)
3.2关键代码段源码及分析 (5)
4.测试 (10)
4.1测试过程中遇到的问题记录 (13)
4.2测试结果 (13)
5.总结 (15)
设计体会 (15)
参考文献 (15)
1.课题简介
在本例中,首先输入参赛选手的人数(范围为1-9个),然后根据人数通过malloc函数来开辟存放选手信息的顺序表。将选手的编号和姓名依此存入顺序表单元中,观众通过按键进行投票,按’1’为1号选手投票,按’2’为2号选手投票,以此类推,以按’0’作为投票结束标志。投票结束后进行排序,在此采用希尔排序,然后为每个选手计算名次,得票相同的名次也相同,
在很多的电视大赛中,通常当选手表演结束后,现场观众通过手中的按键对参赛选手
进行投票,然后对选手获得的票数进行统计,从高到低进行降序排序,从而自动产生冠军、亚军和季军。现在要求编写一程序模拟实现上述系统的功能
2.设计方案
1.总体思路:利用学到的C语言编程知识和编程技巧,完成一个小型管理
信息系统的开发,帮助学生熟悉开发一个系统的整个过程:系统分析、程序的设计、编写与调试等过程。
2.课程设计内容:.
1.输入的形式和输入值的范围:
由于本程序主要运用于观众投票以及选手信息的输入,所以输入的形式是数字及字符,范围不限;
2.输出的形式:根据观众投票情况输出排名情况
3.程序实现的功能:实现观众投票以及选手得分情况的排名
4.测试数据:
a.输入选手的个数以及每个选手的信息输入“4”“a s d f”
b.根据菜单输入选号“2”输出“1号a得分是0,排名是0;2号s得分是0,排名
是0;3号d得分是0,排名是0;4号f得分是0,排名是0;”
c.给选手投票,输入“1 2 3 3 3 3 4 3 2 2 1 0”。
d. 根据菜单输入选号“4”,输出“第1名是3号选手d;第2名是2号选手s;第3名是1号选手a;第4名是4号选手f”“冠军是3号选手d;亚军是2号选手s;季军是1号选手a”
3.具体设计
原理:为了实现上述程序功能,需要定义顺序表的抽象数据类型如下
ADT list {、
数据对象:D={ai|ai∈
Elem Set,i=0,1,2,…,n,n≥0}c语言listinsert函数
数据关系:R={<ai,ai+1>|ai,ai+1 ∈D}
基本操作:Initlist_Sq (&L)
操作结果:构造一个空的顺序表
L.ListInsert_Sq (&L,i,e)
初始条件:顺序表
L已存在
操作结果:将元素
e插入到顺序表L的第i位
ListDelete_Sq (&L,i,&e)
初始条件:顺序表L已存在操作结果:将顺序表L中i位置的元素删除,元素值置入e中返回    locate_Sq (L,e)
初始条件:顺序表L依存在
操作结果:顺序表L中查元素e并返回其位置
2、本程序分为四个模块
a、主程序模块:实现对函数的调用;
b、顺序表模块:实现选手信息存储;
c、投票模块

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。