投票和排名系统C语言顺序表,电视大赛观众投票及排名系统C语言设计.docx
word
word文档可自由复制编辑
课程设计报告
课程名称:数据结构
课题:电视大赛观众投票及排名系统(排序应用)
专业班级:计算机系网工12102班
学 号:201217030219
姓 名:黄婷
指导老师:周慧灿
日
期:2013 年1月2日
教师评语:
成绩评定:
指导教师(签名):
TOC \o "1-5" \h \z 课题简介3
设计方案 4
\o "Current Document" 具体设计 4
3.1 程序原理 4
3.2关键代码段源码及分析 5
测试 10
4.1测试过程中遇到的问题记录 13
4.2测试结果 13
总结 15
设计体会 15
参考文献 15
课题简介
在本例中,首先输入参赛选手的人数(范围为1-9个),然后根据人数通过 malloc函数
来开辟存放选手信息的顺序表。将选手的编号和姓名依此存入顺序表单兀中,观众通过按键
进行投票,按’1为1号选手投票,按’2为2号选手投票,以此类推,以按 ’0乍为投票结束 标志。投票结束后进行排序,在此采用希尔排序,然后为每个选手计算名次,得票相同的名
次也相同,
在很多的电视大赛中, 通常当选手表演结束后, 现场观众通过手中的按键对参赛选手进 行投票,然后对选手获得的票数进行统计,从高到低进行降序排序,从而自动产生冠军、亚 军和季军。现在要求编写一程序模拟实现上述系统的功能
设计方案
总体思路:利用学到的C语言编程知识和编程技巧,完成一个小型管理信 息系统的开发,帮助学生熟悉开发一个系统的整个过程: 系统分析、程序的 设计、编写与调试等过程。
课程设计内容:.
输入的形式和输入值的范围:
由于本程序主要运用于观众投票以及选手信息的输入,所以输入的形式是数字及 字符,范围不限;
输出的形式:根据观众投票情况输出排名情况
程序实现的功能:实现观众投票以及选手得分情况的排名4.测试数据:
输入选手的个数以及每个选手的信息输入“ 4” “ a s d f”
根据菜单输入选号“ 2”输出“ 1号a得分是0,排名是0; 2号s得分是0, 排名是0; 3号d得分是0,排名是0; 4号f得分是0,排名是0;”
给选手投票,输入“ 12 3 3 3 3 4 3 2 210”。
根据菜单输入选号“ 4” ,输出“第1名是3号选手d;第2名是2号选手 s;第3名是1号选手a;第4名是4号选手f ” “冠军是3号选手d;亚军是2号 选手s;季军是1号选手a”
具体设计
原理:为了实现上述程序功能,需要定义顺序表的抽象数据类型如下
ADT list {、
数据对象:D={ai|ai €
Elem Set,i=0,1,2,, ,n,n > 0}
数据关系:R={|ai,ai+1€ D}
基本操作:Ini tlist_Sq(&L)
操作结果:构造一个空的顺序表
L.ListI nsert_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、投票模块
实现观众对选手的投票;
d、排序模块:
实现对选手的成绩的排序;
4 ?源代码
#i nclude
#in clude
#in clude
#in clude
#defi ne N9//假设选手人数不超过9
typedef struct node
{
int num;// 编号
char name[20];// 姓名
int sum;// 票数
}
in fo[N+1];
in fo*p;
int numbers;//总共的选手人数
FILE*fp;
void tianjia()
{
int i=1, n;
char a[10],b[10];
p=(i nfo*)malloc(sizeof( in fo));
if((fp=fope n("xua nshou.txt","r"))!=NULL)
{
fscan f(fp,"%d%s\n",&p[i]-> num,p[i]-> name); i++;
fclose(fp);
printf("读取文件记录成功!\n");
}
else
{
printf("不存在记录文件,请输入选手的数量:\n");
sca nf("%d",&n) ;g
投票和排名系统C语言顺序表,电视大赛观众投票及排名系统C语言设计.docx相关推荐
- c语言顺序表有效元素长度,用C语言描述的顺序表类型
2.2.1 顺序表 用C语言描述的顺序表类型如下所示: // 存储结构 const int MAXLISTSIZE=80; // 预设的存储空间最大容量 typedef struct { ElemTy ...
- 考试报名管理系统C语言顺序表,学生信息管理系统(顺序表)实验
<学生信息管理系统(顺序表)实验>由会员分享,可在线阅读,更多相关<学生信息管理系统(顺序表)实验(29页珍藏版)>请在人人文库网上搜索. 1.精品文档数 据 结 构 课 程 ...
- c语言顺序表所需的头文件,数据结构【顺序表】
1.线性表定义 线性表是一种线性结构.线性结构的特点是数据元素之间是一种线性关系,数据元素"一个接一个的排列".在一个线性表中数据元素的类型是相同的,或者说线性表是由同一类型的数据 ...
- c语言顺序表有效元素长度,C语言版数据结构顺序表的问题
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 52.Status ListInsert_Sq(SqList *L, int i, ElemType e) 53.{ 54. ElemType * ...
- c语言顺序表的例子,本文实例讲述了C语言实现的顺序表功能。分享给大家供大家参考,具体如下:seqlist.h#ifndef __SEQLIST_H__#define __...
本文实例讲述了C语言实现的顺序表功能.分享给大家供大家参考,具体如下: seqlist.h #ifndef __SEQLIST_H__ #define __SEQLIST_H__ #include # ...
- c语言三元组作用,三元组顺序表,稀疏矩阵的三元组表示及(C语言)实现
本节介绍稀疏矩阵的三元组顺序表压缩存储方式. 通过<矩阵的压缩存储>一节我们知道,稀疏矩阵的压缩存储,至少需要存储以下信息: 矩阵中各非 0 元素的值,以及所在矩阵中的行标和列标: 矩阵的 ...
- C语言顺序表的定义以及各类操作
#include <stdio.h> #include <string.h> #include <stdlib.h>#define maxsize 1024 typ ...
- C语言顺序表,合并并排序(代码注释讲解)
/*.已知有两个按元素值递增有序的顺序表A和B,设计一个算法将表A和表B的全部元素归并为一个按元素值非递减有序的顺序表C. 要求: 从键盘输入顺序表A和B的各元素,编程实现上述算法,输出顺序表A.顺序 ...
- 顺序表的基本操作(增删改查)——C语言
一.定义 1.存储空间一定连续 2.可以进行随机访问 二.代码 1.定义结构体 typedef struct {datatype *element;int length; }sqList, *LPsq ...
- C语言顺序表:1、顺序表的存储、2、顺序表的实现.
[1]顺序表的存储:一对一的关系,如下图所示:找到张三就可以顺序查找找到李四 [2]顺序表的实现: 首先我们来创建两个.c文件和一个.h文件,比如:seqlist.c .main.c.seqlist. ...
最新文章
- [转]ghost手动备份及遇见的问题
- python32bit改64bit,从32位Python更改64位注册表
- 使用 Flex 布局与其他普通布局的简单对比
- C# 调用Java接口
- 检测到目标服务器启用了trace方法_综述:目标检测中的多尺度检测方法
- 四种解法——求子序列的最大连续子序和(普通解法、求和解法、分治法、O(n)级解法)(面试经典题)
- c语言解三元一次方程组_七年级下学期《8.3 一元一次不等式组》2020年高频易错题集...
- 状态机-面向对象编程
- 调试 acf 的时候发现问题
- C#实现重新启动计算机
- 拉里·佩奇 密歇根大学演讲
- Android 游戏开发入门 视频+源码
- Python Socket模块实现服务端与客户端通信
- error LNK2005: public: virtual __thiscall CMemDC::~CMemDC(void) (??1CMemDC@@UAE@XZ) already de
- 冰点还原忘记密码怎样删除?
- ssh与ftp连接免费使用
- gulp+webpack工具整合简介
- Macbook如何更换固态硬盘【亲测有效】
- 【淘宝API开发系列】获取商品详情,商品评论、卖家订单接口
- 《C#零基础入门之百识百例》(二十一)数组遍历 -- 删除数组零元素
热门文章
- 安洵信息渗透工程师面试经验分享
- 四、案例:北京二手房价影响因素分析
- 加载类型库/DLL 时出错。 (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
- 工具 - UI原型设计工具Pencil Project
- PHP+H5全栈工程师培训视频教程
- 办公室电脑如何共享计算机,办公室电脑如何互相共享文件?
- ADNI数据_PET——官方预处理
- 1 常用邮箱SMTP/POP3地址及端口
- ZDM按横断面水位线河道开挖
- bledner做MMD心得(二)