歌手比赛评分系统程序设计

合集下载

歌星大奖赛系统——C语言

歌星大奖赛系统——C语言

歌星大奖赛系统题目要求:(1)、在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1到100分。

选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。

请编写一个程序实现。

(2)、同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接近平均分)和最不公平的评委。

【提示】这个问题的第一个要求算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。

第二个要求为了考虑效率,要用到排序技术。

一、需求分析根据题目第一个要求,有10个评委,需要依次输入10个分数,并在10个数中取出最大值和最小值;而且所输入的分数在1到100之间,否则该分数需要重新输入。

第二个要求,需要将10个分数分别与去掉最大最小值之后的八个数的平均值进行比较。

二、总体设计根据题目要求,定义一个数组,将依次输入的10个分数存入这个数组中,再对数组中的数进行去值、求平均值、差值比较的操作。

三、详细设计根据题目要求,将这个程序设计成2个函数,一个主函数main(),另一个函数impartial()用于进行差值比较。

1、主函数(1)、流程图(2)、具体说明void main(){void impartial(float a[],float aver);float sco[10],max,min,sum,aver,w;int i;max=0;min=100;sum=0;w=0;for(i=1;i<=11;i++){if(i==11) break;printf("Input the score of judger %d =",i);scanf("%f",&sco[i-1]); /*依次输入10个裁判的评分*/if(sco[i-1]>100){w=1;break;} /*判断是否在0到100之间*/sum+=sco[i-1];if(sco[i-1]>max) max=sco[i-1];if(sco[i-1]<min) min=sco[i-1];}aver=(sum-max-min)/8; /*去掉最大最小值之后求平均值*/if(i<11&&w==1){printf("\nSorry, the score is wrong! Please enter again!\n");main();}else{printf ("the max score:%f and the min score:%f is cancled\n",max,min);printf ("average score=%f\n",aver);impartial(sco,aver); /*调用impartial函数进行差值比较,输出结果*/}}2、impartial函数该函数设计较为简单,利用fabs()求每个分数与平均值的差值的绝对值,并对此值进行比较,得出裁判公平与否的结论。

C语言课程设计 歌手比赛系统

C语言课程设计 歌手比赛系统

XXXXX大学本科课程设计课程:C语言程序设计题目:歌手比赛系统学院:xxxxxxxxxx专业班级:xxxxxxx学号:xxxxxxxx学生姓名:xxxxxxx指导教师:庞茂群2011年10月15日目录1、引言·····································································2、系统设计·································································2.1、设计分析·····························································2.1.1、项目描述·······················································2.2、程序结构·····························································2.2.1、程序划分·······················································2.2.2、程序结构流程图·················································3、系统实现·································································3.1、各模块的功能及程序说明···············································3.2、系统各模块的运行效果图···············································4、设计体会·································································5、参考文献·········································6、系统完整源程序···························································引言C语言是一门计算机高级语言,它在Microsoft开发的软件Visual C++ 6.0中执行,C语言具有很多优点:1.C语言具有丰富的数据类型,众多的运算符,体现结构化程序设计的优良控制结构,具有抽象功能及体现信息隐蔽思想的函数。

歌手比赛系统c语言课程设计

歌手比赛系统c语言课程设计

歌手比赛系统c语言课程设计一、教学目标本课程旨在通过歌手比赛系统的设计与实现,让学生掌握C语言编程的基本语法、数据结构及算法,培养学生具备实际问题分析和解决能力。

具体目标如下:1.知识目标:•掌握C语言的基本语法和编程规范。

•理解并掌握常用的数据结构,如数组、链表、栈和队列。

•学习常用的算法,如排序、查找等。

2.技能目标:•能够使用C语言编写简单的程序,解决实际问题。

•学会使用调试工具,分析并优化代码。

•具备团队合作能力,能够分工协作完成项目。

3.情感态度价值观目标:•培养学生对计算机科学的兴趣和热情。

•培养学生勇于探索、积极思考的科学精神。

•培养学生团队协作、共同进步的合作意识。

二、教学内容根据课程目标,教学内容主要包括C语言基础知识、数据结构、算法及实践应用。

具体安排如下:1.C语言基础知识:•C语言概述、基本语法、数据类型、运算符、控制语句。

2.数据结构:•数组、链表、栈和队列、树和图。

•排序算法(冒泡、选择、插入等)、查找算法(顺序、二分等)。

4.实践应用:•利用C语言实现歌手比赛系统的部分功能,如选手信息管理、比赛成绩统计等。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法,以激发学生的学习兴趣和主动性。

1.讲授法:用于讲解C语言基本语法、数据结构和算法。

2.案例分析法:通过分析实际案例,让学生更好地理解知识点。

3.实验法:让学生动手实践,培养实际问题分析和解决能力。

四、教学资源教学资源包括教材、多媒体资料、实验设备等。

1.教材:选用权威、实用的C语言教材,如《C程序设计语言》。

2.多媒体资料:制作精美的PPT,辅助讲解和演示。

3.实验设备:为学生提供足够的计算机,安装必要的编程环境和调试工具。

五、教学评估本课程的教学评估主要包括平时表现、作业、考试三个方面,以全面、客观、公正地评价学生的学习成果。

1.平时表现:占比30%,包括课堂参与度、提问、讨论等,以激发学生的学习积极性和主动性。

歌唱比赛选手评分系统

歌唱比赛选手评分系统

歌唱比赛选手评分系统第一篇:歌唱比赛选手评分系统#include#include< windows.h >#include#include#define NUM 10void zr();void search();static struct compete{int num;char name[20];double score[11];int range;}compete[NUM];void main(){zr();}double max[NUM],min[NUM],sum[NUM];void input(){ int i,j,temp,a;double maxscore;double tempscore;char tempname[20];for(i=0;i{printf(“请输入选手编号:”);scanf(“%d”,&a);getchar();if(a==0)zr();compete[i].num=a;printf(“请输入选手选手姓名:”);scanf(“%s”,compete[i].name);compete[i].range=i+1;for(j=0;j<10;j++){printf(“%d号评委打分:”,j+1);scanf(“%lf”,&compete[i].score[j]);}}getchar();for(i=0;imax[i]=min[i]=compete[i].score[0];for(j=0;j<10;j++){if(compete[i].score[j]>max[i])max[i]=compete[i].score[j];if(compete[i].score[j]min[i]=compete[i].score[j];}}for(i=0;i{sum[i]=0;for(j=0;j<10;j++)sum[i]+=compete[i].score[j];compete[i].score[10]=(sum[i]-max[i]-min[i])/8.0;}for(i=0;i{maxscore=compete[i].score[10];for(j=i+1;jif(compete[j].score[10]>compete[i].score[10]){temp=compete[i].num;compete[i].num=compete[j].num;compete[j].num=temp;strcpy(tempname,compete[i].name);strcpy(compete[i].name,compete[j].name);strcpy(compete[j].name,tempname);tempscore=compete[i].score[10];compete[i].score[10]=compete[j].score[10];compete[j].score[10]=tempscore;}}system(“pause”);zr();}void searchnum(){int i,j,flag=0;printf(“请输入你想查询的选手编号:”);scanf(“%d”,&j);getchar();for(i=0;iif(compete[i].num==j){printf(“编号t姓名tt平均分t名次t最高分t最低分n”);printf(“%dt%stt%.2lft%dt%.2ft%.2fn”,compete[i].num,co mpete[i].name,compete[i].score[10],compete[i].range,max[i],min [i]);flag=1;break;}}if(flag!=1)printf(“没有此项资料n”);system(“pause”);search();}void searchname(){int i,flag=0;char a[20];printf(“请输入你想查询的选手名字:”);gets(a);for(i=0;i{if(!strcmp(compete[i].name,a)){printf(“编号t姓名tt平均分t名次t最高分t最低分n”);printf(“%dt%stt%.2lft%dt%.2ft%.2fn”,compete[i].num,co mpete[i].name,compete[i].score[10],compete[i].range,max[i],min [i]);flag=1;break;}}if(flag!=1)printf(“没找到n”);system(“pause”);search();}void search(){char c;system(“cls”);printf(“nnnn”);printf(“tt**********1---按选手编号查询********** n”);printf(“tt**********2---按选手姓名查询********** n”);printf(“tt**********3---返回上级菜单********** n”);printf(“nnt请选择:”);c=getchar();getchar();switch(c){case '1':searchnum();break;case '2':searchname();break;case '3':zr();default:printf(“输入错误”);system(“pause”);}search();}void zr(){char c;do{system(“cls”);printf(“nnttt歌唱比赛评分查询nnn”);printf(“tt*****1---输入选手的编号、姓名及所得分数***** nn”);printf(“tt*****2---查询选手的最后得分*****nn”);printf(“tt*****3---退出程序***** nn”);printf(“nntt选择:”);c=getchar();getchar();switch(c){case '1':system(“cls”);input();break;case '2':system(“cls”);search();break;case '3':c='n';exit(0);default:zr();}}while(0);}第二篇:卡拉OK歌唱比赛评分规则卡拉OK歌唱比赛评分规则一、参赛选手按指定时间和地点提前20分钟签到,比赛正式开始后未签到的则视为自动弃权;参赛选手按抽签号顺序上场演唱;二、每位参赛选手演唱一首歌曲,唱法不限、风格不限、语言种类不限,不受伴舞和伴唱的限制;鼓励业主家庭全员参与,有参与者在评委打分基础上加2分。

歌手比赛系统c语言课程设计

歌手比赛系统c语言课程设计

歌手比赛系统c语言课程设计一、课程目标知识目标:1. 掌握C语言的基本语法,包括变量声明、数据类型、运算符、控制结构等;2. 学会使用C语言进行数组、函数、指针的操作;3. 了解结构体和文件在C语言中的应用,并能应用于歌手比赛系统的设计;4. 掌握C语言编程规范,养成良好的编程习惯。

技能目标:1. 能够运用所学知识,独立设计并实现一个歌手比赛系统的基本功能;2. 学会使用C语言进行问题分析、程序设计和调试;3. 提高学生的逻辑思维能力和解决问题的能力;4. 培养学生的团队协作能力和沟通能力。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,培养其主动学习的热情;2. 培养学生面对困难时的坚持和毅力,树立克服困难的信心;3. 引导学生认识到编程对于解决实际问题的意义,提高社会责任感;4. 强调诚信、公正、合作的价值观念,培养学生的职业道德。

本课程针对高年级学生,结合C语言课程特点,注重理论与实践相结合,通过歌手比赛系统课程设计,使学生在巩固C语言知识的基础上,提高实际编程能力和综合运用能力。

课程目标旨在培养学生的编程素养,提升其运用计算机技术解决实际问题的能力,同时注重情感态度价值观的引导,为学生未来的学习和工作奠定坚实基础。

二、教学内容1. C语言基础回顾:变量、数据类型、运算符、控制结构(选择、循环);2. 数组与函数:一维数组、二维数组、函数定义、调用、传参;3. 指针与内存管理:指针的概念、指针操作、动态内存分配;4. 结构体与文件操作:结构体定义、结构体数组、文件读写;5. 歌手比赛系统设计:需求分析、功能模块划分、数据结构设计;6. 系统实现:编写程序代码,实现歌手比赛系统的各项功能;7. 系统测试与调试:测试用例设计、系统测试、错误调试;8. 编程规范与团队协作:代码规范、文档编写、团队分工与协作。

教学内容依据课程目标,结合教材相关章节,制定以下教学大纲:1. 复习C语言基础知识,为期2周;2. 数组与函数教学,为期2周;3. 指针与内存管理教学,为期2周;4. 结构体与文件操作教学,为期2周;5. 歌手比赛系统设计,为期1周;6. 系统实现,为期4周;7. 系统测试与调试,为期1周;8. 编程规范与团队协作,贯穿整个教学过程。

java课程设计歌手比赛系统

java课程设计歌手比赛系统

1.选题背景当下,无论是社会上还是校园内,经常举办一些歌手演唱比赛,一般不会在像以前用笔记录比赛的情况,歌手比赛因此产生,他几乎•包含了•切应有的功能,歌手的信息输入,评委打分,成绩排序等功能,省去「许多麻烦的环节,完全可以满足一次歌手比赛的要求。

本程序是可以统计歌手们的得分情况。

2.开发技术概述本程序采用Java,开发者应具有Java程序设计语言,Swing基本GUI组件,多线程,文件使用的基本知识和技能,程序初始显示出当前的日期,而后根据用户的选择来跳转至用户想要查看的年份与月份。

3.功能需求分析用户可以自行输入选手id,姓名,评委打分等功能,可以体现该程序的灵活性(1)选手信息输入根据程序提示,输入相应的选手的信息。

(2)评委打分按指定的数组,进入评委打分环节,输入五个评委的打分,便是选手的打分。

(3)按成绩排序提供一个按钮,即可算出五个评委对不同的选手的平均分,并且按照大小排序。

(4)成绩查询按指定的数字,便可显示已经输入程序的选手信息,五个评委的打分以及平均分。

大大的增强了程序的可读性。

(5)追加学生数据:按指定数字,便可在已有学生数据上追加学生的数据。

(6)写入数据文件4 .功能设计(1)成绩查询功能通过组合框,显示成绩列表信息,可以选择下拉列表选项实现对不同成绩的选择。

具体说明如下表所示。

(2)评委打分功能通过组合框,显示评委列表信息,可以选择下拉列表选项实现不同评委的打分。

具 体说明如下表所示。

表月份列表(3)成绩排序使用sortStudent ()方法,即可对student 的成绩进行排序,并输出。

具体说明如下表 所示。

表按钮功能表(4)成绩查询首先创建菜单条,若干菜单,和若干菜单项。

再把菜单项放到菜单上,把菜单放到菜单条上,把菜单条放到窗体上。

具体说明如下表所示。

表4-4菜单功能(5)追加学生数据创建JPanol 面板,设置网格布局方式,添加按钮控件显示口历信息。

具体说明如 下表所示。

c++课程设计报告--歌手比赛系统

c++课程设计报告--歌手比赛系统

面向对象程序设计课程设计报告学号:姓名:题目:成绩:____________指导老师:2014.12C++课程设计目录项目任务书 (1)第一章项目概况 (2)1.1项目研究的意义 (2)1.2 项目研究的背景 (2)1.3项目设计的要求 (2)第二章项目设计过程 (3)2.1项目功能 (3)2.2 开发环境 (4)2.3项目结构 (5)2.4 开发模式 (6)2.4.2 歌手信息管理的实现 (7)2.4.3 类 (7)2.5项目特点 (7)2.5.1 用户选择界面 (7)2.5.2 管理员账户与登录界面 (8)2.5.3 输入异常处理 (8)2.5.4 歌手数据读入与读出 (8)2.5.5 字符串与字符数组相互转换 (9)2.5.5单链表实现歌手信息管理 (9)三、项目运行 (10)3.1项目测试过程 (10)3.2项目运行方法 (11)四、小结 (16)附录1:[参考文献] (17)附录2:[程序清单] (17)文件1 (17)文件2: (20)文件3: (31)文件4: (42)面向对象程序设计评阅表 (46)项目任务书题目歌手比赛系统作者第一章项目概况1.1项目研究的意义1.复习、巩固C++语言的基础知识,进一步加深对C++语言的理解和掌握;2.课程设计为将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力。

提高适应实际,实践编程的能力。

1.2 项目研究的背景当下,无论是社会上某些场合还是校园内,经常举行一些歌手演唱比赛,一般不会再像以前那样用笔记录比赛的情况,歌手比赛系统由此产生。

它几乎包含了一切应有的功能,歌手信息的输入,评委打分,成绩排序等功能应有尽有,省去了很多麻烦的环节,完全可以满足一次歌手比赛的需求。

开发此系统只为方便一般的歌手比赛。

1.3项目设计的要求1.对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;2.系统设计要实用,编程简练,可用,功能全面3.说明书、流程图要清楚4.记录设计情况(备查,也为编写设计说明书作好准备);5.要求采用模块化程序设计方法,要求上机调试通过和按设计报告格式。

c语言课程设计歌手比赛系统

c语言课程设计歌手比赛系统

c语言课程设计歌手比赛系统一、教学目标本课程的目标是让学生掌握C语言的基本语法和编程技巧,学会使用C语言设计简单的歌手比赛系统。

通过本课程的学习,学生应达到以下知识目标:1.理解C语言的基本语法和数据类型。

2.掌握C语言的运算符和表达式。

3.学会使用C语言进行流程控制和函数调用。

4.掌握C语言的文件操作和字符串处理。

5.能够使用C语言编写简单的程序。

6.能够独立思考和解决编程问题。

7.能够协作完成项目任务。

情感态度价值观目标:1.培养学生的编程兴趣,提高学生的自主学习能力。

2.培养学生团队合作意识和沟通能力。

3.培养学生面对挑战、解决问题的勇气和决心。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、流程控制、函数、文件操作和字符串处理等。

具体安排如下:1.第1-2周:C语言基本语法和数据类型。

2.第3-4周:运算符和表达式。

3.第5-6周:流程控制。

4.第7-8周:函数。

5.第9-10周:文件操作和字符串处理。

三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。

在教学过程中,教师将讲解C语言的基本概念和语法,通过案例分析让学生掌握编程技巧,并通过实验环节让学生动手实践,巩固所学知识。

同时,鼓励学生参与讨论,提高学生的主动性和积极性。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

教材选用《C程序设计语言》作为主教材,参考书包括《C语言编程入门》等。

多媒体资料包括教学PPT、视频教程等。

实验设备包括计算机、网络设备等,以支持学生动手实践和协作完成项目任务。

五、教学评估本课程的评估方式包括平时表现、作业、考试等。

平时表现主要评估学生的课堂参与度、提问回答等情况,占总评的20%。

作业分为编程作业和实践项目,占总评的30%。

考试分为期中和期末考试,占总评的50%。

平时表现评估:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和积极性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计通学院课程设计报告课程名称___高级程序设计语言 __ 题目名称___歌唱比赛评分系统_ __ 学生学院_ 计通学院_ __ __ 专业班级_ 软件181 _ 学号学生姓名指导教师_____ __ ____2019年1月7号目录1. 设计目的与要求 (3)1.1 题目与设计要求 (3)1.2 本程序涉及的知识点 (3)2.功能设计 (3)2.1总体设计 (3)2.2详细设计 (4)3. 程序实现 (27)3.1程序实现时应考虑的问题 (27)3.2 XX模块核心代码 (27)4.测试分析 (32)4.1 测试结果及分析 (32)5.总结 (35)参考文献 (35)1. 设计目的与要求1.1题目与设计要求题目:歌手比赛评分系统设计要求:有十个选手参加歌唱比赛,十个裁判对每个选手的演唱进行打分,去掉一个最高分,去掉一个最低分,剩下分数的平均值作为每位选手最后的成绩。

功能要求:(1)采用结构体定义每个选手的参赛编号,姓名以及十个裁判打出的分数;(2)从键盘输入每个选手的相关信息:参赛编号,姓名和十个得分;(3)计算每位选手的最后得分,并按分数由高到低排序;(4)查询功能:输入参赛选手的编号或姓名,便可输出该选手的得分以及排名;以上功能采用菜单操作方式,即从键盘输入1到3这三个数,分别完成以上(2)到(4)的功能。

1.2本程序设计的知识点结构体、数组、指针、文件操作。

2.功能设计2.1总体设计○1选手信息浏览,○2选手信息录入,○3选手信息保存,○4选手成绩查询,○5选手信息修改,○6选手信息删除,○7选手数据:编号、姓名、成绩、平均成绩。

2.2详细设计○1浏览选手数据browse()分析:实际为链表的遍历,将头节点的指针给予临时节点p1,用while语句实现链表的遍历。

void browse(){SONGER_MESSAGE *p1;if(head==NULL&&tail==NULL){printf("\n--------当前信息记录为空--------\n");}else{printf("\n-----------你要浏览的选手信息如下---------\n");printf("--------|--------\n");printf(" 编号 | 姓名 \n");p1=head;while(p1!=NULL){printf("--------|--------\n");printf("%-9d%-6s\n",p1->num,p1->name);p1=p1->next;}printf("--------|--------\n");}}○2查询选手成绩search()分析:提供详细成绩查询,排名查询的函数调用。

其中各功能均采用菜单选择的方式。

void search(){int c;printf("\n请选择查询内容:\n");printf("1.选手详细成绩查询 2.选手排名查询\n请输入您的选择:");scanf("%d",&c);switch(c){case1:system("cls");print();break;case2:system("cls");rank();break;}}○3查询选手信息print()分析:实际为输出链表中的某个节点,输出某个选手的编号与姓名较为好实现,输出10位评委成绩则用的for语句来实现。

{SONGER_MESSAGE *p1=(SONGER_MESSAGE *)malloc(LEN);int check=0,i;long seeknum;printf("\n请输入要查找的选手编号:");scanf("%d",&seeknum);if(head==NULL&&tail==NULL ){printf("\n对不起,当前记录为空!\n");}else{p1=head;printf("\n-----------你要找的选手的成绩如下---------\n");//在这里找到了要查找的选手成绩printf("------|------|-----|----|----|----|----|----|----|----|----|----|----|----------|--------\n"); printf(" 编号 | 姓名 | 成绩| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 平均成绩\n"); printf("------|------|-----|----|----|----|----|----|----|----|----|----|----|----------|--------\n"); while(p1 != NULL){if(p1->num==seeknum){printf("%-7d%-6s",p1->num,p1->name);printf(" ");for(i=0;i<N;i++){printf("%.1f",p1->grades[i]);}printf("%-6.2lf\n",p1->ave);check=1;getchar();return;}else{p1=p1->next;}}}if(head!=NULL&&check==0){printf("\n对不起,你查看的选手成绩不存在!\n");}}○4选手信息录入creat()分析:录入信息表现为创建链表节点并给节点的元素赋值,然后对评委的分数进行排序(链表的排序),排序选择冒泡排序法,最后去掉一个最高分去掉一个最低分。

void creat(){int i,j;float t;char c='y';while(c=='y’||c=='Y'){SONGER_MESSAGE *p1=(SONGER_MESSAGE *)malloc(LEN);printf("\n请输入要录入的选手信息:\n");printf("\n选手编号:");scanf("%d",&p1->num);printf("\n选手姓名:");scanf("%s",p1->name);printf("\n请输入10位评委点评成绩:");p1->ave =0;for(i=0;i<N;i++){scanf("%f",&(p1->grades[i])); //runtime error//p1->ave+=p1->grades[i];}for(i=0; i<N-1; i++)//冒泡排序法让那个成绩从小到大排列,然后选出最大值是最后一个,最小值是第一个//for(j=0;j<N-1-i;j++)if(p1->grades[j]>p1->grades[j+1]){t=p1->grades[j];p1->grades[j]=p1->grades[j+1];p1->grades[j+1]=t;}p1->ave=(p1->ave-(p1->grades[0]+p1->grades[9]))/8;//去掉一个最高分,去掉一个这一低分,得出最后的平均分//p1->next=NULL;if(p1==NULL){printf("\n内存分配失败\n");n=n-1;}if(head==NULL&&tail==NULL) //当前没有结点,创建第一个结点//{head=p1;head->next=NULL;tail=head;printf("\n------选手信息录入成功------\n");}Else //如果当前还有节点则插入到尾部//{tail->next=p1;tail=p1;tail->next=NULL;printf("\n------选手信息录入成功------\n");}printf("是否继续(Y/N):");getchar();scanf("%c",&c);}}○5选手信息保存函数save()分析:保存文件的流程。

使用fopen()函数打开txt文件,“w”参数代表打开只写文件,再利用fprintf()函数写入选手内容,最后用fclose()函数关闭文件。

void save() //将数据保存到文件//{FILE *fp;SONGER_MESSAGE *p1; //=(SONGER_MESSAGE *)malloc(LEN);//p1=head;fp=fopen("参赛选手名单.txt","w");fprintf(fp,"--------|--------\n");fprintf(fp," 编号| 姓名\n");while(p1!=NULL){fprintf(“fp--------|--------\n");fprintf(“fp %-9d%-6s\n",p1->num,p1->name);p1=p1->next;}fprintf(“fp--------|--------\n");fclose(fp);printf("\n\t文件已将保存到\"参赛选手名单.txt\”");}○6选手信息修改函数update()分析;实现选手信息的修改,核心内容为链表的遍历。

找出要修改的选手,修改其个人信息。

void update(){SONGER_MESSAGE *p1;//=(SONGER_MESSAGE *)malloc(LEN);//int check=0; //用来进行判断,是否找到了要修改的信息// long updatenum;printf("\n请输入要修改的选手编号:");scanf("%d",&updatenum); //查找到要修改的选手//if(head==NULL&&tail==NULL){printf("\n--------当前信息记录为空--------\n");}else{p1=head;while(p1!==NULL){if(p1->num==updatenum){printf("\n-----------你要修改的选手信息如下---------\n"); printf("--------|--------\n");printf(" 编号| 姓名\n");printf("--------|--------\n");printf(" %-9d%-6s\n",p1->num,p1->name);printf("--------|--------\n");printf("\n-----------请重新写入此选手信息:---------\n"); check=1;//从新写入修改项目printf("\n修改选手编号为:");scanf("%d",&p1->num);printf("\n修改选手姓名为:");scanf("%s",p1->name);return;}else{p1=p1->next;}}}if(head!=NULL&&check==0){printf("\n对不起,你要修改的选手信息不存在!\n");}getchar();}○7选手信息删除函数del()分析:节点的删除较为繁琐。

相关文档
最新文档