C课程设计报告歌星管理系统报告

合集下载

C语言课程设计课程管理系统实验报告

C语言课程设计课程管理系统实验报告

课程设计实验报告课程管理系统计算机科学与工程学院14060307班董永博14060307102陈佳兴14060307101田晨光14060307113赵炳舒14060307121欧静14060307126目录题目• ---------------------------------------- 3分析过程与思路・------------------------------- 3算法• ---------------------------------------- 5函数模块介绍• --------------------------------- 9源程序… -------------------------------------- 10运行结果• • ---------------------------------- 36课程设计总结• -------------------------------- 42题目课程管理系统分析过程与思路课程管理系统首先要能够分别实现课程信息的增加、删除、查询、修改。

为了增加程序的实用性,应当能够将输入的课程信息通过存文件的方式将课程信息存入硬盘。

而使用系统的可能是学生和管理员两类,因此要实现根据登录类型来开放应有的功能。

由于课程信息包含很多成员,例如课程编码、课程名等。

因此应该用链表对信息进行记录,由于不清楚课程总数,因此需要用动态链表。

动态链表的使用需要声明合适的结构体,数据域中应包含课程所包含的各个成员、指针域用来指向下一个结点。

动态链表的建立需要用到malloc函数。

对已经建立的链表需要存入文件,需要用到fwrite、fread、feof等文件处理函数,保存文件要多次用到,因此应该独立做一个函数。

删除函数要用到诸如free函数,为了防止删除的结点为首结点,删除后找不到头结点,因此删除函数应该是一个指针函数,用以返回删除后的新的头结点。

登录函数要返回一个值用以在其他函数中判断登录类型,以便针对用户开放相应的功能。

歌曲管理系统c语言课程设计

歌曲管理系统c语言课程设计

歌曲管理系统c语言课程设计一、教学目标本课程的学习目标包括知识目标、技能目标和情感态度价值观目标。

知识目标要求学生掌握歌曲管理系统的基本原理和C语言编程;技能目标要求学生能够运用C语言编写简单的歌曲管理程序;情感态度价值观目标要求学生培养对计算机科学和编程的兴趣,提高解决问题的能力。

二、教学内容教学内容主要包括C语言基础知识、歌曲管理系统的设计与实现。

具体安排如下:1.第一部分:C语言基础知识(2课时)介绍C语言的基本语法、数据类型、运算符、控制结构等。

2.第二部分:歌曲管理系统的设计与实现(4课时)介绍歌曲管理系统的基本功能、设计思路和实现方法。

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

1.讲授法:用于讲解C语言的基本语法和概念。

2.案例分析法:通过分析实际案例,让学生掌握歌曲管理系统的设计与实现。

3.实验法:让学生动手编写代码,培养实际编程能力。

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

1.教材:《C程序设计语言》2.参考书:《C语言编程教程》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、网络环境五、教学评估本课程的评估方式包括平时表现、作业和考试。

平时表现占30%,主要评估学生的课堂参与度和提问回答;作业占30%,主要评估学生的编程能力和对知识的掌握;考试占40%,主要评估学生的综合运用能力。

评估方式客观、公正,全面反映学生的学习成果。

六、教学安排教学进度共安排8课时,每课时45分钟。

第1-2课时进行C语言基础知识讲解,第3-6课时进行歌曲管理系统的设计与实现教学,第7-8课时进行课程总结和复习。

教学地点选在计算机实验室,确保学生能够动手实践。

教学安排合理、紧凑,确保在有限的时间内完成教学任务,同时考虑学生的实际情况和需要。

七、差异化教学根据学生的不同学习风格、兴趣和能力水平,本课程将设计差异化的教学活动和评估方式。

对于学习风格偏向实践的学生,提供更多动手实践的机会;对于学习风格偏向理论的学生,提供更多理论学习的机会。

歌曲信息管理 C语言实习报告

歌曲信息管理 C语言实习报告

C语言课程实习报告所在院系班级学号姓名程序已存档:(班长或学习委员签字认可)指导老师评分分:__________分分分:__________分:__________分:__________分:__________分:__________:__________:_________________________________________________________________二零一零年一月十五日零一零年一月十五日一零年一月十五日零年一月十五日年一月十五日一月十五日月十五日十五日五日日一.题目要求制作一个歌曲信息管理系统功能:1)歌曲信息包括歌曲名,作者,演唱者,发行年月等)。

2)可以对歌曲信息进行输入,删除,浏览。

3)可以查询根据歌曲名,作者,演唱者歌曲信息。

4)可以提供按作者分组显示功能。

5)用文件存储信息。

二.需求分析根据题目要求,由于歌曲信息数据以文本文件的方式存放,所以应提供文件的输入、输出等操作;在程序中需要浏览歌曲的信息,应提供显示、查询等操作(其中查询方式可以按歌曲名、作者、演唱者或日期进行查询)。

并且要提供可以按作者进行分组的方法;另外还应提供键盘式选择菜单以实现功能选择。

三.总体设计分析一下整个系统,根据上面的需求分析,可以将系统设计分为以下七大模块。

四.详细设计1.主函数主函数一般设计比较简洁,只提供输入,处理和输出部分的函数调用。

其中各功能模块用菜单方式选择。

[流程图]N [程序]void menu() /*主界面*/{int k,w1;do{puts("\t\t*******************MENU**********************\n\n");puts("\t\t\t\t 1.enter");puts("\t\t\t\t 2.delete");puts("\t\t\t\t 3.browse");puts("\t\t\t\t 4.search");puts("\t\t\t\t 5.devide");puts("\t\t\t\t 6.add");puts("\t\t\t\t 7.exit");puts("\n\n\t\t*********************************************\n"); printf("choice your number(1-7):[ ]\b\b");scanf("%d",&k);if(k<1||k>7) /*对选择的数字作判断*/{w1=1;getchar();}else w1=0;}while(w1==1);switch(k){case 1:enter();break; /*输入模块*/case 2:delet();break; /*删除模块*/case 3:browse();break; /*浏览模块*/case 4:search();break; /*查找模块*/case 5:devide();break; /*分组模块*/case 6:add();break; /*添加模块*/case 7:exit(0); /*退出*/}}main() /*主函数*/{menu();}2. 各功能模块设计(1)输入模块[分析]数据信息存放在文件中,一条记录对应一个歌曲,即符合习惯也方便管理。

c课程设计歌手打分系统

c课程设计歌手打分系统

c 课程设计歌手打分系统一、教学目标本课程旨在让学生掌握歌手打分系统的基本原理和实现方法,通过学习,学生能够了解音乐评分系统的运作机制,掌握评分算法,并能够运用所学知识设计和实现一个简单的歌手打分系统。

1.理解音乐评分系统的原理和构成。

2.掌握歌手打分的主要算法。

3.熟悉歌手打分系统的实现方法。

4.能够运用所学知识分析和解决音乐评分相关问题。

5.能够设计和实现一个简单的歌手打分系统。

情感态度价值观目标:1.培养学生对音乐的热爱和鉴赏能力。

2.培养学生独立思考和解决问题的能力。

二、教学内容本课程的教学内容主要包括以下几个部分:1.音乐评分系统的原理和构成:介绍音乐评分系统的起源和发展,讲解评分系统的核心组件和运作机制。

2.歌手打分算法:讲解常用的歌手打分算法,包括音高准确性、节奏准确性、音色相似度等方面的评估方法。

3.歌手打分系统实现:介绍如何利用编程语言和数据库技术实现一个简单的歌手打分系统。

4.案例分析:分析现实中典型的歌手打分系统,让学生了解实际应用中的系统设计和优化方法。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:讲解音乐评分系统的原理、歌手打分算法和系统实现方法。

2.案例分析法:分析现实中的歌手打分系统案例,让学生了解实际应用中的系统设计和优化方法。

3.实验法:让学生动手设计和实现一个简单的歌手打分系统,提高学生的实际操作能力。

4.讨论法:学生进行小组讨论,分享学习心得和解决问题的方法。

四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:提供相关的教材和参考书籍,供学生自学和复习。

2.多媒体资料:提供视频、音频等多媒体资料,帮助学生更好地理解音乐评分系统的原理和应用。

3.实验设备:提供计算机、音响等实验设备,让学生能够动手实践,设计和实现歌手打分系统。

4.网络资源:引导学生利用网络资源,了解最新的音乐评分系统和歌手打分技术。

五、教学评估本课程的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。

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

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

C语言课程设计-歌手比赛系统
C语言歌手比赛系统是一款能够方便评委对歌手参赛作品进行打分的软件系统。

它采
用C语言作为开发语言,利用结构化编程的编码思想,结合界面处理技术,将模块间的复
杂关系归纳到一个明确的思路,利用控制台输入输出的技术让评委对参赛者作品进行评分。

首先,基于C语言,编写各个模块函数,完成参赛方的登记功能,同时具备查看、修改、删除等功能,以及保存所有参赛歌手的相关信息,如性别、歌手名称、介绍、歌曲名称、作品类型等;
其次,通过编写算法程序,对评委对歌手的打分情况进行总结,统计个每位参赛者的
总得分,最终以此来确定参赛歌手的获奖名次;
最后,基于C语言,编写出控制台处理界面,让评委在电脑上使用控制台输入输出操作,进行比赛打分,这样可以节省评委的纸笔式打分时间,提高速度和效率。

总之,C语言歌手比赛系统可以实现参赛歌手信息的记录、评委打分以及获奖者的记录,采用面向对象的编程理念,提高了比赛系统的可靠性与性能,极大地丰富了评委的体验,提升了比赛的效率。

C语言课设之歌曲信息管理系统

C语言课设之歌曲信息管理系统

C语言课程设计目录1、题目要求2、需求分析;3、系统总框图;4、总体设计;5、列出所有定义的函数及说明;6、上机操作7、学习心得前言计算机科学技术的发展,不仅极大地促进了整个科学技术的发展,而且明显地加快了经济信息化和社会信息化的进程。

因此,计算机教育在全国备受重视,计算机知识与能力已成为21世纪人才素质的基本要素之一。

如今,高等教育的计算机教育发展十分迅速。

十多年前,只有部分理工科专业开设计算机课程。

今天,几乎所有高校的所有专业都开设了程度不同的计算机课程.人们已经认识到,计算机知识已成为当代知识分子知识结构中不可缺少的重要组成部分。

而除了掌握计算机的基础知识和操作的基本能力外,掌握一门高级编程语言,并可以熟练运用它,已成为当代大学生综合能力必要组成。

计算机技术发展如此迅猛,计算机应用如此广泛,需要学习的东西愈来愈多,而我们的总学时是有限的。

一般来说,计算机课程学习可以分为两部分:一部分是理论课程学习,一部分是上机应用实习.根据我们专业的性质和要求,则应侧重于上机操作运用。

为此,学校特意在暑期最后一星期安排了32个学时的上机实习。

现将一星期的实习内容及结果分析分列如下:歌曲信息管理系统一.题目要求1.歌曲信息包括歌曲名,作者,演唱者,发行年月等。

2.可以对歌曲信息进行输入,删除,浏览。

3.可以查询歌曲名,作者,演唱者信息。

4.可以提供按作者分组显示功能.二.需求分析根据题目要求,数据以文件的形式存储,所以应提供文件的输入,输出等操作;还需要文件具有查找,替换,修改数据的功能。

三.总体设计根据上面的需求分析,可以将这个系统的设计分为如下五大模块:四.详细设计具体程序:1。

Main函数main(){int a;while(1){printf(”\t\t=============< 欢迎来到歌曲信息查询系统〉============\n");printf("\t\t ———5407328 20071004192 戴敏泽\n");printf(”\t\t****************************************************\n”);printf(”\t\t**** ** ************** ***\n”);printf("\t\t***** ********** ** ** *\n”);printf(”\t\t***** ****** *\n");printf("\t\t* **** *******\n”);printf(”\t\t* **** ****** *\n");printf("\t\t*** *********\n");printf(”\t\t*******************==〉系统菜单〈==*******************\n\n");printf(”\t\t\t(1)。

c语言课程设计学生成绩管理系统报告

c语言课程设计学生成绩管理系统报告一、教学目标本课程旨在通过C语言编程实现一个学生成绩管理系统,让学生掌握C语言的基本语法、数据结构、函数、文件操作等知识,培养学生编写程序解决实际问题的能力。

具体目标如下:1.知识目标:(1)掌握C语言的基本语法和编程技巧;(2)了解数据结构的基本概念,学会使用数组、链表等数据结构;(3)熟悉函数的定义和调用,掌握函数的参数传递和返回值;(4)掌握文件操作,了解文件读写的原理和方法。

2.技能目标:(1)能够独立编写C语言程序,解决实际问题;(2)具备良好的编程习惯,代码结构清晰、可读性强;(3)掌握调试和优化程序的方法,提高程序的运行效率;(4)学会使用版本控制系统,如Git,进行代码管理和协作开发。

3.情感态度价值观目标:(1)培养学生的编程兴趣,激发学习C语言的积极性;(2)培养学生团队协作精神,提高沟通与协作能力;(3)培养学生的问题解决能力,培养创新意识和持续学习的态度;(4)培养学生具有良好的职业道德,遵守编程规范,尊重他人代码。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、函数、文件操作等。

具体安排如下:1.C语言基本语法:介绍C语言的数据类型、运算符、表达式、控制语句等基本概念;2.数据结构:讲解数组、链表、栈和队列等数据结构的基本原理和应用;3.函数:讲解函数的定义、声明、调用,以及函数的参数传递和返回值;4.文件操作:介绍文件的概念、文件读写的方法和技巧。

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

具体方法如下:1.讲授法:通过讲解C语言的基本语法、数据结构、函数和文件操作等知识,使学生掌握课程的基本概念和编程技巧;2.案例分析法:分析实际编程案例,让学生学会将理论知识应用于实际问题解决;3.实验法:安排上机实验,让学生动手编写程序,培养实际编程能力;4.小组讨论法:学生进行小组讨论,培养团队协作和沟通能力。

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


case 1:Inistplayer(a,N);break; case 2:srand((unsigned)time(NULL));
for(i=0;i<N;i++) {
printf("%d 位选手的成绩:",i+1); Inputscore(a[i].score,M); for(j=0;j<M;j++) printf("%d ",a[i].score[j]); printf("\n"); } break; case 3:for(i=0;i<N;i++) {Max[i]=a[i].score[0];
本次实践我们选择了使用 C 语言编写基于链表的程序,不仅使大家对程序设计、编程 方法有了进一步提高,而且掌握了使用 C 语言动态内存分配及数据结构等方面的知识。
一、系统设计
2.1 设计分析
2.1.1 项目描述
1.项目名称:歌手打分系统
2.功能描述:
(1)生成字符界面的功能菜单
**************************************
printf("\n"); } break; case 5:printf("请输入要追加的选手数据:\n"); add += 1; scanf("%d %s",&a[add].num,&a[add].name); break; case 6:printf("将数据写入文件中:\n"); for (i = 0 ; i < add+1 ; i++) {
4、设计体会································································· 5、参考文献········································· 6、系统完整源程序···························································

c语言课程设计歌曲信息管理系统

告设计报课程歌曲信息管理系统题计目:课程设********学号:***姓名:专外包务业:电子商与软件*******:级班***指导教师:062014 月01 年日课程设计评分表学号:林禹森班级:学生姓名:课程设计题目:歌曲信息管理系统目录1.需求分析: (4)2.总体设计: (4)3.详细设计: (5)(1)主函数main(): (5)(2)初始化函数 (6)(3)歌曲录入函数 (8)(4)文件输入函数。

(9)(5)信息修改函数。

(10)(6)歌曲删除函数。

(12)(7 按歌手查询函数。

(13)(8)按公司查询函数。

(14)(9)歌曲导出或保存函数。

(15)(10)浏览函数。

(16)4.函数功能测试。

(18)初始化函数initialize(): (18)主菜单函数menu_song(): (19)浏览函数output_song(): (19)录入函数input_song(): (20)修改函数revise_song(): (21)删除函数delete_song(): (22)查询函数search_singer():(按歌手查询) (22)查询函数search_corporation():(按公司查询) (23)导入函数load_song(): (24)保存函数save_song(): (24)5.软件使用说明书。

(25)..............................................................................................................................................25总结6.计程设理系统课歌曲信息管:分求析1.需”,以方便对根据歌曲信息管理系统的需要,建立一个“歌曲信息管理系统成绩的各项管理操作。

要求完成:能对歌曲进行录入和修改;i.能按唱片公司和歌手统计歌曲信息;ii.能对歌曲进行删除、导入和导出。

C语言课设.歌曲信息管理系统

C语言课程设计实习报告姓名:汪通辉学号:20161003364 专业:电子信息工程班学号:071162院(系):机械与电子信息学院指导教师:董理君2016 年 1 2月2016.12 中国地质大学C语言课程设计 1第一章§1.1题目描述1.题目与要求1)制作一个歌曲信息管理系统2) 歌曲信息包括歌曲名,作者,演唱者,发行年月等。

3) 可以对歌曲信息进行输入,删除,浏览。

4) 可以查询根据歌曲名,作者,演唱者歌曲信息。

5) 可以提供按作者分组显示功能。

6) 用文件存储信息。

[需求分析]1)根据题目要求,数据以文件的形式存储,所以应提供文件的输入,输出等操作;还需要文件具有查找,修改数据,删除等功能。

§1.2算法设计1.流程图根据上面的需求分析,可以将这个系统的设计分为如下五大模块:*(其中“分组显示”功能未在程序中实现)2汪通辉 2016.12§1.3程序设计及代码分析1.定义声明程序:struct song { char name[20]; char author[20]; char singer[20]; char data[20];}so[N]; //定义结构体void menu(); void input(int i); void save(int n); void enter(); void browse(); void delet(); void search();void back(); //声明调用函数2.main 函数程序: int main() {system("color 74"); //改变界面颜色 menu(); exit(0); return 0; }2016.12 中国地质大学C语言课程设计 3 3.menu函数程序:void menu(){int n;system("cls");printf("\n\n\n\n\n\n\n\t\t\t\t ***************歌曲管理系统***************\n\n\n");printf("\t\t\t\t\t\t 1.存入歌曲。

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

C语言课程设计报告学生:定明静学号:20061003225班级:19106922一、题目要求(1)在歌星打奖赛中,有10个评委为参赛的选手打分,分数为1~100分。

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

请编写一个程序实现。

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

二、需求分析根据题目要求,第一个的算法要在程序中判断最大最小的变量是如何赋值的。

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

三、总体设计四、详细设计#include<stdio.h>#include"math.h"#define stu struct judgestu{int score; /*结构体*/double cha;char name[20];};void main() /*主函数*/{ int i,max=1,min=100,sum=0;double aver,h=1.0,k=100.0;stu jud[10];printf("Please input datas:");for(i=0;i<10;i++)scanf("%d,%s",&jud[i].score,&jud[i].name);for(i=0;i<10;i++){ sum+=jud[i].score;if(jud[i].score<min)min=jud[i].score; /*找出最低分*/if(jud[i].score>max)max=jud[i].score; /*找出最高分*/}printf("\nmax=%d,min=%d",max,min);aver=((sum-max-min)/8);printf("\naver=%f",aver); /***平均分***/for(i=0;i<10;i++){ jud[i].cha=fabs(jud[i].score-aver);printf("\n%f",jud[i].cha);if(jud[i].cha<k)k=jud[i].cha;if(jud[i].cha>h)h=jud[i].cha;}for(i=0;i<10;i++){if(k==jud[i].cha)printf("\nThe most fair judge's name is %s",jud[i].name);/*最公平评委*/if(h==jud[i].cha)printf("\nThe most unfair judge's name is %s",jud[i].name);/*最不公平评委*/ }运行结果如图:杂志订阅管理软件一、题目要求使用计算机对一种杂志的订阅进行管理,该杂志拥有最多订户不超过10人,每个订户的信息包括:姓名、性别、地址、电话号码、杂志单价、订阅数、订阅期限(至年月).现要求用彩旦选者并完成下述的功能:(1)增加新订户,即将订户的全部信息输入到文件中;(2)根据当天的日期对订户文件进行查询, 删除已经到期的订户记录;(3)(3)统计本期杂志订户数并打印运算结果;本期订户信息表订户名订阅数单价金额李平 2 5.5 11.0黄海 1 5.5 5.5合计 3 1.0 16.5一、 需求分析根据题目要求,订户的信息用文件存储,提供文件的输入输出操作;提供文件的添加操作增加新订户 ;对订户文件的查寻,提供文件的查找操作;通过文件的删除操作删除已到期的订户记录;提供统计和显示操作统计本期杂志订户数并打印运算结果;另外还要提供键盘式选择菜单以实现功能选择。

二、 总体设计四 详细设计主函数1、2、3、4、5、6、7、#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 10struct user{char name[10];char sex[5];char address[10];char phone[20];int amount;float price;char date[20];} U[N];void input(int);void printf_one(int i);void printf_back();void add();void printf_head();void enter();void del();void browse();void search();int printf_message();int save(int n);int load();void printf_face();void printf_one(int i);void menu();void menu(){int n,w1;do{puts("\t\t************************MENU********************");puts("\t\t** **");puts("\t\t** **");puts("\t\t** 1.enter message **");puts("\t\t** 2.addition message **");puts("\t\t** 3.browse all message **");puts("\t\t** 4.delete message **");puts("\t\t** 5.search by date **");puts("\t\t** 6.printf_message **");puts("\t\t** 7.exit **");puts("\t\t** **");puts("\t\t** **");puts("\t\t************************************************\n\n"); printf("\t\tchoice your number(1-7):[ ]\b\b");scanf("%d",&n);if(n<1||n>7)w1=1;getchar();}else w1=0;}while(w1==1);switch(n){case 1:enter();break;case 2:add();break;case 3:browse();break;case 4:del();break;case 5:search();break;case 6:printf_message();break;case 7:exit(0);}}void main(){menu();}输入模块void enter(){int i,n;printf("\t\thow many users(1-%d)?:>>>",N);scanf("%d",&n);printf("\n\t\t enter message now\n\n");for(i=1;i<=n;i++){printf("\n\t\t input %dth user message.\n",i); input(i-1);if(i!=0) save(n);}追加模块void add(){ int i,n,m,k;FILE *fp;n=load();printf("\t\t how many users are you want to add(1-%d)?:",N-n); scanf("%d",&m);k=m+n;for(i=n+1;i<=k;i++){printf("\n\t\t input %dth user message.\n",i-n);input(i-1);}if((fp=fopen("message.txt","ab"))==NULL){printf("cannot open file\n");}for(i=n;i<k;i++){if(fwrite(&U[i],sizeof(struct user),1,fp)!=1)printf("file write error\n");}fclose(fp);printf_back();}void browse(){int i,n;n=load();printf_face();for(i=0;i<n;i++){if((i!=0)&&(i%10==0)){printf("\n\n\t\t pass any key to continue ...");getchar();puts("\n\n");}printf_one(i);}printf("\n\t\t there are %d message.\n",n);printf("\n\t\t pass any key to back ...\n");getchar();menu();}删除模块void del(){int n,k,i,w1=1,w2;struct user W;n=load();do{do{ k=-1;printf("\n\n\t\t enter date that you want to search! date:"); scanf("%s",W.date);printf_face();for(i=0;i<n;i++) if(strcmp(W.date,U[i].date)>0){ k=i; U[k].amount=0; printf_one(k); }if(k==-1){printf("\n\n\t\t NO exist!please");printf("\n\n\t\t are you again?\n\t 1).again 2).no and back [ ]\b\b");scanf("%d",&w1);if(w1!=1) break;}} while(k==-1&&w1==1);if(k!=-1){ printf("\n\n\t\t what do you want to do?\n\t 1).seach another 2).delete 3).back menu []\b\b");scanf("%d",&w2);switch (w2){case(2):{printf("\n\n\t\t do you want to delete?\n\t 1).yes 2). no and back [ ]\b\b");scanf("%d",&w1);}}if(w1==1) U[k].amount=0;save(n);printf("\n\n\t\t successful.^_^.");printf("\n\n\t\t what do you want to do?\n\t 1).seach another 2).back [ ]\b\b");scanf("%d",&w2);}}while(w2==1);menu();}查找模块void search(){int i,n,k,w1=1;struct user W;n=load();do{k=-1;printf("\n\n\t\t enter today's date! date:");scanf("%s",W.date);printf_face();for(i=0;i<n;i++){if(strcmp(W.date,U[i].date)<=0)k=i;printf_one(k);if(k==-1)\b\b");if(w1==2)menu();}}{int i,n,sum1=0;n=load();FILE *fp;float sum2=0.0,sum3=0.0,b[11];char p[]={"total"};if((fp=fopen("message.txt","rb"))==NULL){printf("\n\t\t cannot write file\n");return NULL;}// fwrite(&U[i],sizeof(struct user),1,fp); for(b[0]=0.0,i=0;i<n;i++){b[i]=U[i].amount*U[i].price;sum1+=U[i].amount;sum2+=U[i].price;sum3+=b[i];}printf_head();for(i=0;i<n;i++){printf("\t\t%9s %d %4.2f %4.2f \n",U[i].name,U[i ].amount,U[i].price,b[i]);}printf("\t\t%9s %d %4.2f %4.2f \n",p,sum1,sum2,s um3);printf_back();}void input(int i){printf("\t\t name:");scanf("%s",U[i].name);printf("\t\t sex:");scanf("%s",U[i].sex);printf("\t\t address:");scanf("%s",U[i].address);printf("\t\t phone:");scanf("%s",U[i].phone);printf("\t\t amount:");scanf("%d",&U[i].amount);printf("\t\t price:");scanf("%f",&U[i].price);printf("\t\t last date:");scanf("%s",U[i].date);}int save(int n){FILE *fp;int i;if((fp=fopen("message.txt","wb"))==NULL){printf("\n cannot open file\n");return NULL;}for(i=0;i<n;i++)if(U[i].amount!=0)if(fwrite(&U[i],sizeof(struct user),1,fp)!=1)printf("file write error\n");fclose(fp);}int load(){FILE *fp;int i;if((fp=fopen("message.txt","rb"))==NULL){printf("\n\t cannot open file\n");return NULL;}for(i=0;!feof(fp);i++){fread(&U[i],sizeof(struct user),1,fp);}fclose(fp);return(i-1);}void printf_face(){printf("\n\t name sex address phone amount price date\n");}void printf_one(int i){//int j;printf("\n\t%7s %8s %7s %7s %7d %4.2f %s",U[i].name,U[i].se x,U[i].address,U[i].phone,U[i].amount,U[i].price,U[i].date);}void printf_head(){printf("\n\t\t user name amount price money\n");}void printf_back(){int w;printf("\n\n\t\t successful.^_^\n\n");printf("\t\t what do you want to do?\n\n\t\t 1).browse allnow\t 2).back: [ ]\b\b");scanf("%d",&w);if(w==1) browse();else menu();}运行截图如下:输入模块追加模块浏览模块删除模块查找模块打印模块退出练习一编写一个函数,这个函数同时求出个学生成绩的最高分、最低分、平均分以及超过平均分的认输,并编写主函数完成:1、输入个学生的成绩;2、调用此函数进行统计;3、输出统计结果。

相关文档
最新文档