| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

数据结构综合性实验

文***享

贡献于2023-03-11

字数:9010



 
数结构实验
实验六
数结构综合性实验 



计算机科学技术系X班
组 长:X
日 期:2011年X月X日
 











 实验报告
2009级 X班 2011年X月X日
实验类型:综合设计型 实验点:软件实验室三
组长:  组员:
             实验题目
选票统计系统
二              需求分析
定数量参赛选手进行投票求输入投票者姓名址记录十投票投票结束查新轮选手排名查前十名选手分情况票数情况
三              概设计
退出
查新轮排行榜信息选手名次分票数
显示投票结果确认信息
输入姓名址选手编号
投票














四              详细设计
1投票
int vote()
{
int ijmnp
char a
char num3[3]
printf(\n\n\n\t\t投票\n\n)
T ticket初始化选票
printf(\t\t\t请输入您姓名)
scanf(sticketname)
printf(\t\t\t请输入您家庭住址)
scanf(sticketadress)
for(i1i<10i++){
ticketlist[i]order2i
strcpy(ticketlist[i]num200)
}
for(){
printf(\t请次序分输入选手编号(01~40)十#键结束\n)
printf(\t注意次输入必须空格隔开输入完毕回车键\n)
for(j1j<10j++){
scanf(snum3)
if(strcmp(num3#)0)
break
strcpy(ticketlist[j]num2num3)
}
system(cls)
printf(\n\n\n\t\t\t您选票\n)
for(m1m<10m++)&&strcmp(ticketlist[m]num200)0
printf(\t\t\t第2d名s\nticketlist[m]order2ticketlist[m]num2)
printf(\t\t\t确定(yn)确定更改\n)
aagetch()
if(a'y'||a'Y')
break
else{
if(a'n'||a'N'){
system(cls)
continue
}
else{
printf(\t\t\t输入误请重试\n)
goto a
}
}
}
2009100145
2排行榜
void list()
{
int ijrtmaxmark[10]
int nksm1
T *head*p*q
printf(\n\n\n\t\t新排行榜\n\n)
char f[2]{0}初始化
char b[9][2]{123456789}
for(i0i<4i++)
{
char e[4][2]{1234}
char c[4][2]{0123}
char a[4][2]{0123}
for(j0j<8j++)
{
waiters[m]mark waiters[m]order1waiters[m]Total_Ticket0
strcpy(waiters[m]num1strcat(a[i]b[j]))
strcpy(a[i]c[i])
m++
}
waiters[m]mark waiters[m]order1waiters[m]Total_Ticket0
strcpy(waiters[m]num1strcat(e[i]f))
m++
}
for(int z1z<40z++)
waiters[z]statu0
2009100122

3排序
int temptemp1求出十值
for(t0t<10t++){
int max0
for(r1r<40r++){
if(waiters[r]statu1)
continue
if(max maxwaiters[r]mark
tempr
}
}
waiters[temp]statu1
maxmark[t]temp
}
2009100122

4检查值中没等值
for(int x0x<9x++){
for(int yx+1y<10y++)
{分数相较票数
if(waiters[maxmark[x]]markwaiters[maxmark[y]]mark)
{前面票数面票数交换位置
if(waiters[maxmark[x]]Total_Ticket tempmaxmark[x]
maxmark[x]maxmark[y]
maxmark[y]temp
}
}
}
}
2009100132

5文件中选票信息导入链表中
ifstream infile
infileopen(sourcetxtiosin|iosnocreate)
if(infile){
printf(\t\t\t文件开失败\n)
exit(1)
}
head(T *)malloc(sizeof(T))
head>nextNULL
phead
while(infile){
q(T *)malloc(sizeof(T))
infileread((char *)qsizeof(T))
p>nextq
q>nextNULL
pq
}
phead
while(p>nextNULL)
{
for(k1k<10&&strcmp(p>list[k]num200)0k++){
for(s1s<40s++){
if(strcmp(p>list[k]num2waiters[s]num1)0){
waiters[s]Total_Ticket++
switch(p>list[k]order2){
case 1{waiters[s]mark+15
break}
case 2{waiters[s]mark+12
break}
case 3{waiters[s]mark+9
break}
case 4{waiters[s]mark+7
break}
case 5{waiters[s]mark+6
break}
case 6{waiters[s]mark+5
break}
case 7{waiters[s]mark+4
break}
case 8{waiters[s]mark+3
break}
case 9{waiters[s]mark+2
break}
case 10{waiters[s]mark+1
break}
}
}
}
}
pp>next
}
2009100136

6废票处理
for(n1n<10&&strcmp(ticketlist[n]num200)0n++){
if(ticketlist[n]num2[0]>51*4*||ticketlist[n]num2[0]<48*0*){
printf(\n\n\t\t\t编号越界次投票效\n)
return 0
}
for(pn+1p<10&&strcmp(ticketlist[n]num200)0p++){
if(strcmp(ticketlist[n]num2ticketlist[p]num2)0){
printf(\n\n\t\t\t编号出现重复次投票效\n)
return 0
}
}
}
2009100145

7符合求选票写进文件中
ofstream outfile
outfileopen(sourcetxtiosout|iosapp)
if(outfile){
printf(文件开失败\n)
exit(1)
}
outfilewrite((char *)&ticketsizeof(T))
outfileclose()
printf(\n\n\t\t\t投票成功感谢您参\n)
return 0
}
2009100136

8函数
void main()
{
char choice
char mark
for(){
menu()
for(){
choicegetch()
if(choice<49||choice>51)
printf(\t\t\t输入误请重试\n)
else break
}
switch(choice){
case '1'{
system(cls)
vote()
break}
case '2'{
system(cls)
list()
break}
case '3'{
exit(1)
break}
}
printf(\t\t\t返回菜单请E号键\n)

for(){
markgetch()
if(mark'e'||mark'E'){
system(cls)
break
}
else
printf(\t\t\t输入误请重试\n)
}

}
2009100132
五              调试分析
运行程中输入正确导致调试出错时应反复调试应运行前计算运行时需数量避免失误
六              说明
选手投票时候应注意操作规范性十名选手投票统计新轮选手排名情况选手票数
七              测试结果




八              实验总结
1实验前应充分做准备数需参数提前列举出减少实验程中时间
2调试分析时应注意实验步骤步骤进行漏应程
3注意调试运行容进行合理排版运行时候条理容易找步运行指令
九              模块分工
2009100145  辛志鹏  投票废票处理
            2009100136  张发辉  文件中选票信息导入链表中
符合求选票写进文件中
2009100122  赵金桃  排行榜排序
2009100132  田  飞  函数检查值中没等值
附完整代码:
#include stdioh
#include conioh
#include stringh
#include fstreamh
#include stdlibh
#define N 4140名员工编号00~39

数结构
typedef struct Waiter
{
char num1[3]选手编号
int order1选手排名
int mark总分
int Total_Ticket总票数
int statu
struct Waiter *next1
}W
W waiters[N]

typedef struct List
{
int order2名次
char num2[3]选手编号
}L

typedef struct Ticket
{
char name[10]姓名
char adress[30]址
L list[11]投
struct Ticket *next
}T

菜单
void menu()
{
printf(\n\n\n\t欢迎投票统计系统\n)
printf(\t|\t\t\t 1投 票 \t\t\t|\n)
printf(\t|\t\t\t 2排行榜 \t\t\t|\n)
printf(\t|\t\t\t 3退 出 \t\t\t|\n)
printf(\t\n)
printf(\t\t\t请选择相应功(1~3)\n)
}

投票
int vote()
{
int ijmnp
char a
char num3[3]
printf(\n\n\n\t\t投票\n\n)
T ticket初始化选票
printf(\t\t\t请输入您姓名)
scanf(sticketname)
printf(\t\t\t请输入您家庭住址)
scanf(sticketadress)
for(i1i<10i++){
ticketlist[i]order2i
strcpy(ticketlist[i]num200)
}
for(){
printf(\t请次序分输入选手编号(01~40)十#键结束\n)
printf(\t注意次输入必须空格隔开输入完毕回车键\n)
for(j1j<10j++){
scanf(snum3)
if(strcmp(num3#)0)
break
strcpy(ticketlist[j]num2num3)
}
system(cls)
printf(\n\n\n\t\t\t您选票\n)
for(m1m<10m++)&&strcmp(ticketlist[m]num200)0
printf(\t\t\t第2d名s\nticketlist[m]order2ticketlist[m]num2)
printf(\t\t\t确定(yn)确定更改\n)
aagetch()
if(a'y'||a'Y')
break
else{
if(a'n'||a'N'){
system(cls)
continue
}
else{
printf(\t\t\t输入误请重试\n)
goto a
}
}
}
废票处理
for(n1n<10&&strcmp(ticketlist[n]num200)0n++){
if(ticketlist[n]num2[0]>51*4*||ticketlist[n]num2[0]<48*0*){
printf(\n\n\t\t\t编号越界次投票效\n)
return 0
}
for(pn+1p<10&&strcmp(ticketlist[n]num200)0p++){
if(strcmp(ticketlist[n]num2ticketlist[p]num2)0){
printf(\n\n\t\t\t编号出现重复次投票效\n)
return 0
}
}
}
符合求选票写进文件中
ofstream outfile
outfileopen(sourcetxtiosout|iosapp)
if(outfile){
printf(文件开失败\n)
exit(1)
}
outfilewrite((char *)&ticketsizeof(T))
outfileclose()
printf(\n\n\t\t\t投票成功感谢您参\n)
return 0
}

排行榜
void list()
{
int ijrtmaxmark[10]
int nksm1
T *head*p*q
printf(\n\n\n\t\t新排行榜\n\n)
char f[2]{0}初始化
char b[9][2]{123456789}
for(i0i<4i++)
{
char e[4][2]{1234}
char c[4][2]{0123}
char a[4][2]{0123}
for(j0j<8j++)
{
waiters[m]mark waiters[m]order1waiters[m]Total_Ticket0
strcpy(waiters[m]num1strcat(a[i]b[j]))
strcpy(a[i]c[i])
m++
}
waiters[m]mark waiters[m]order1waiters[m]Total_Ticket0
strcpy(waiters[m]num1strcat(e[i]f))
m++
}
for(int z1z<40z++)
waiters[z]statu0

文件中选票信息导入链表中
ifstream infile
infileopen(sourcetxtiosin|iosnocreate)
if(infile){
printf(\t\t\t文件开失败\n)
exit(1)
}
head(T *)malloc(sizeof(T))
head>nextNULL
phead
while(infile){
q(T *)malloc(sizeof(T))
infileread((char *)qsizeof(T))
p>nextq
q>nextNULL
pq
}
phead
while(p>nextNULL)
{
for(k1k<10&&strcmp(p>list[k]num200)0k++){
for(s1s<40s++){
if(strcmp(p>list[k]num2waiters[s]num1)0){
waiters[s]Total_Ticket++
switch(p>list[k]order2){
case 1{waiters[s]mark+15
break}
case 2{waiters[s]mark+12
break}
case 3{waiters[s]mark+9
break}
case 4{waiters[s]mark+7
break}
case 5{waiters[s]mark+6
break}
case 6{waiters[s]mark+5
break}
case 7{waiters[s]mark+4
break}
case 8{waiters[s]mark+3
break}
case 9{waiters[s]mark+2
break}
case 10{waiters[s]mark+1
break}
}
}
}
}
pp>next
}
排序
int temptemp1求出十值
for(t0t<10t++){
int max0
for(r1r<40r++){
if(waiters[r]statu1)
continue
if(max maxwaiters[r]mark
tempr
}
}
waiters[temp]statu1
maxmark[t]temp
}
检查值中没等值
for(int x0x<9x++){
for(int yx+1y<10y++)
{分数相较票数
if(waiters[maxmark[x]]markwaiters[maxmark[y]]mark)
{前面票数面票数交换位置
if(waiters[maxmark[x]]Total_Ticket tempmaxmark[x]
maxmark[x]maxmark[y]
maxmark[y]temp
}
}
}
}
输出前十名
printf(\t\t|\t名次 选手编号 合计分 合计票数\t|\n)
for(int o0o<10o++)
printf(\t\t|\t 2d s 2d 2d\t|\no+1
waiters[maxmark[o]]num1
waiters[maxmark[o]]mark
waiters[maxmark[o]]Total_Ticket)
printf(\t\t\n)
printf(\n)
}

函数
void main()
{
char choice
char mark
for(){
menu()
for(){
choicegetch()
if(choice<49||choice>51)
printf(\t\t\t输入误请重试\n)
else break
}
switch(choice){
case '1'{
system(cls)
vote()
break}
case '2'{
system(cls)
list()
break}
case '3'{
exit(1)
break}
}
printf(\t\t\t返回菜单请E号键\n)

for(){
markgetch()
if(mark'e'||mark'E'){
system(cls)
break
}
else
printf(\t\t\t输入误请重试\n)
}

}
}








文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

数据结构实验报告

实验报告课程:数据结构 班级:网络工程 学号: 姓名: 实验1 链表的插入和删除一、实验目的 1、 了解单链表、循环链表和双链表的基本知识;2、 掌握算法思想和数据结构的描述;3、 掌握链表的插入、删除的相关语句及基本方法。二、 实验步骤

z***u 2年前 上传337   0

数据结构实验报告《三、串及其应用》

数据结构实验报告- - - - 串及其应用之文学研究助手 专业班级: 电信班 时间:2011年X月X日数据结构实验报告- - - -

文***享 3年前 上传1318   0

链表排序北邮数据结构实验

数 据 结 构实验报告实验名称:________链表排序___________学生姓名:_____________________班 级:________________班内序号:_________________________学 号:________________日 期:_______________1.实验要求使用链表实现下面各种排序

z***u 1年前 上传266   0

c语言综合性实验总结

华北科技学院计算机学院综合性实验实 验 报 告 课程名称 程序设计语言(C) 实验学期 2011 至 2012 学年 第 二 学期学生所在学院 建筑工程学院 年级 11级 专业班级 土木B112班

l***i 4年前 上传597   0

数据结构实习报告

数据结构实习报告  一、需求分析1、  程序所实现的功能;2、  程序的输入,包含输入的数据格式和说明;3、  程序的输出,程序输出的形式;4、  测试数据,如果程序输入的数据量比较大,需要给出测试数据;5、  合作人及其分工二、设计说明1、  主要的数据结构设计说明;2、  程序的主要流程图;3、  程序的主要模块,要求对主要流程图中出现的模块进行说明4、  程序的主要函数及其伪代码说明

s***n 8年前 上传1051   0

数据结构练习题及答案

数据结构练习题及答案第1章 绪论一、 判断题1. 数据的逻辑结构与数据元素本身的内容和形式无关。 (√)2. 一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。 (√)3. 数据元素是数据的最小单位。 (

文***享 3年前 上传1092   0

数据结构试题及答案多套

数据结构试卷(一) 1数据结构试卷(二) 4数据结构试卷(三) 6数据结构试卷(四) 8数据结构试卷(五) 11数据结构试卷(六) 14数据结构试卷(七) 16数据结构试卷(八) 18数据结构试卷(九) 20数据结构试卷(十) 23数据结构试卷(一)参考答案 26数据结构试卷(二)参考答案 27数据结构试卷(三)参考答案 28数据结构试卷(四)参考答案 30数据结构试

文***享 3年前 上传894   0

数据结构试验迷宫问题

数据结构试验——迷宫问题(一)基本问题1.问题描述这是心理学中的一个经典问题。心理学家把一只老鼠从一个无顶盖的大盒子的入口处放入,让老鼠自行找到出口出来。迷宫中设置很多障碍阻止老鼠前行,迷宫唯一的出口处放有一块奶酪,吸引老鼠找到出口。简而言之,迷宫问题是解决从布置了许多障碍的通道中寻找出路的问题。本题设置的迷宫如图1所示。图1 迷宫示意图迷宫四周设为墙;无填充处,为可通处。设每个

文***品 3年前 上传528   0

数据结构实践报告

 数据结构实践报告学 号: 姓 名: 班 级: 班 指导老师: 时 间: 2016-12-21

文***享 1年前 上传595   0

数据结构练习题(含答案)

数据结构练习题习题1 绪论1.1 单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的① 、数据信息在计算机中的② 以及一组相关的运算等的课程。 ① A.操作对象   B.计算方法  C.逻辑结构  D.数据映象 ② A.存储结构 B.关系 C.运算 D.算法2. 数据结构DS(Data S

文***享 3年前 上传1519   0

数据结构大作业(含源代码)

数据结构大作业作业题目: 职工信息管理系统 姓 名: 学 号: 班 级: 计算机班 指导教师: 日 期: 2010年X月X日 职工信息管理系统(学院计算机科学

文***享 3年前 上传456   0

十套数据结构试题及答案

数据结构试卷(一) 1数据结构试卷(二) 4数据结构试卷(三) 6数据结构试卷(四) 8数据结构试卷(五) 11数据结构试卷(六) 14数据结构试卷(七) 16数据结构试卷(八) 18数据结构试卷(九) 20数据结构试卷(十) 23数据结构试卷(一)参考答案 26数据结构试卷(二)参考答案 27数据结构试卷(三)参考答案 28数据结构试卷(四)参考答案 30数据结构试

文***品 3年前 上传652   0

数据结构习题集附答案

数据结构习题集附答案第一章 绪 论一、选择题1.组成数据的基本单位是( )A.数据项 B.数据类型 C.数据元素 D.数据变量2.数据结构是研究数据的( )以及它们之间的相互关系。A.理想结构,物理结构 B.理想结构,抽象结构C.物理结构,逻辑结构 D.抽象结构,逻辑结构3.在数据结构中,从逻辑上可以把数据结构分成( )。A.动态结构和静态结构 B.紧凑结构和非紧凑结构

文***享 3年前 上传867   0

《数据结构(C语言版)》教案

2011 至2012 学年第 一 学期教  案课程名称 数据结构 使用教材《数据结构(C语言版)》教学时数 56    课程性质 必修    任课班级(人数)信管(53人)   信息 系(部)    信管 教研室任课教师山东科技大学泰山科技学院课 时 授 课 计 划2011-2012学年第 二学期                           第1周

文***享 3年前 上传657   0

数据结构简答题打印版

 数据结构简答题1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的集合,是数据

文***品 3年前 上传477   0

数据结构和算法课程设计题目

XX大学课程设计课程名称: 数 据 结 构 与 算 法院(部)名 称: 信息与计算科学学院组长姓名学号 同组人员姓名指导教师姓名: 设 计 时 间: 2010.6.7----2009.6.27一、《数据结构与算法》课程设计参考题目(一)参考题目一(每位同学选作一个,同组人员

文***品 1年前 上传383   0

数据结构 第九章 查找

.折半查找是否适合链表结构的序列,为什么?用二分查找的查找速度必然比线性查找的速度快,这种说法对吗?

九***1 5年前 上传1706   0

099《环境医学》综合性实验-某省精神疾病流行病学调查病例

某省精神疾病流行病学调查病例资料综合分析[适用对象] 环境科学专业                 [实验学时] 4学时一、实验目的通过对调查研究实例资料的综合分析,掌握分析调查研究资料的根本步骤,熟悉各种分析方法在环境流行病调查研究资料中的综合应用,统计结果相互之间的关系及统计结果推断。二、实验原理根据数理统计原理和环境流行病学的分析方法,利用SPSS统计软件工具,结合调查

天***猩 2周前 上传51   0

初中毕业综合性评语

初中毕业综合性评语  丁:该生在校期间,各方面表现突出。能严格遵守校纪班规,尊敬师长,友爱同学。有较强的责任心,在担任数学科代表期间,工作认真负责,是老师的好帮手。有强烈的进取心,学习自觉性强,各科成绩优异。在体育锻炼方面,兴趣广,态度积极。审美情趣健康,为人端正,是师生公认的优秀学生。  贾:该生性格开朗,为人正直,有健康的心态,能正确对待身边的人和事。上进心强,总能时时严格要求自己,

n***u 11年前 上传504   0

2017年综合性评语4篇

综合性评语4篇本文目录1. 综合性评语2. 初中毕业综合性评语3. 中学生综合性评语4. 学校对学生综合性评语  该生聪慧多思,善于把握自己,把握时间。成绩稳定,能保持前列。热爱体育运动,在班级中起到了很好的带头作用。望今后能更注重小节、细节、以图将来能具备更加过硬的素质参与社会的竞争。  该生学习刻苦、认真,成绩在班级、年级始终处于前列。帮助别人热心、诚恳,是同学的

r***k 7年前 上传377   0

浅谈综合性学习教学

综合性学习的教学与传统的文本教学有着明显的不同,这集中体现在教学内涵的扩展,教师教的作用的逐步消解。传统教育中的教学指的是教师把知识、技能传授给学生的过程

平***7 2年前 上传417   0

中学生综合性评语

中学生综合性评语  你是一个听话内向的男孩,能遵守学校的各项规章制度。希望你今后能进一步增强自信心,课堂上大胆发言,树立竞争意识,讲求学习方法,提高学习效率,特别要重视自己薄弱学科如语文成绩的提高,使自己的总体学习成绩再有所提高。  你是一个懂事的女孩,平时能遵章守纪,学习较认真刻苦,但学科发展不平衡。希望你今后能学会及时总结学习方法,巩固学习成果,并努力提高薄弱学科成绩,增强综合实力,

x***3 12年前 上传530   0

诗歌的综合性学习总结

诗歌的综合性学习总结 诗歌有着悠久的历史,在二千多年前,我国就有了第一部诗歌总集——《诗经》。诗歌在中国文化的宝库中,就像一颗闪亮的明珠,散发出灿烂的光辉。接下来我搜集了诗歌的综合性学习总结,仅供大家参考,盼望关心到大家。 篇一:诗歌的综合性学习总结 好玩的“轻叩诗歌的大门”综合性学习即将落下帷幕,现将活动状况总结如下。 一、 总体状况 (一)活动分模块、分步骤有序进行。活动分

xiaochuichui 3年前 上传602   0

综合性医院安全工作总结

综合性医院安全工作总结 我院是一所有600张床位的综合性医院,日均住院病人450人,门诊人次700余人次。医院日均人流量达3000多人次,汽车达400车次,自行车、电动车、摩托车、三轮车达1800车次(不包含职工)。由于人车流量大,案件发生率较高。为了保证医院安全,领导高度重视,设置了警务室,由公安局派住干警2名,长期值守。并采取了其它一系列措施进行综合治理,收效显著。现将个中情况扼要总结如下

s***3 12年前 上传12542   0

SQLserver实验实验6实验6答案

第7章 创建数据类型、表报告书名称实验7-2创建数据类型和表姓名指导教师学号日期任务清单l 场景Adventure Works 的销售经理请求修改公司数据库,以包含有关已退货物和已退款销售的信息。高级数据库开发人员针对退货和退款数据设计了一些新的数据类型和表,并且将在数据库中创建这些对象的任务分配给你。该任务的要求如下:l 必须使用 SQL Server Mana

z***u 3年前 上传1017   0