欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言课程设计题目及相关要求.docx

    • 资源ID:50256174       资源大小:47.35KB        全文页数:37页
    • 资源格式: DOCX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言课程设计题目及相关要求.docx

    C 语言课程设计题目及相关要求说明语言课程设计题目及相关要求说明1.选题考虑到时间比较紧张,同时也锻炼同学之间的团结协作能力,可可采用最多采用最多 2 2 人一组选作一题人一组选作一题、每组题目不得相同每组题目不得相同。课程设计题目见后面附件附件 2 2(每个题目均给出了主要数据结构提示和实现过程提示)。分组可采用自由组合或按学号顺序安排,由各班级同学自己解决。2.设计时间为期 1 周,在第 17 周完成。3.课程设计要求完成相应课程设计题目的基本功能;撰写课程设计报告报告封面及内容要求见附 1;报告格式要求:(一)标题课程设计题目黑体小二(居中)(二)正文1、报告正文部分主要包括:问题要求及任务描述、解决问题的主要思路和方法、程序实现、测试和小结。2、报告正文打印要求论文分三级标题:一级标题:左对齐顶格,黑体,小三号;二级标题:左对齐顶格,黑体,四号;三级标题:左起齐顶格,黑体,小四号;正文用宋体小四号(英文用新罗马体 Times New Roman 12 号);参考文献宋体五号。3、报告页面设置:页码一律用小 5 号字标明;正文采用 23 磅行距,标准字符间距,上边距 25mm,下边距 25mm,左边距 30mm,右边距25mm。附件 1:课程设计报告内容大纲标题标题1问题要求及任务描述1.1 题目要求在此填写 你选择的题目。1.2 主要任务具体细化,例如主要功能,注意:在此标识出自己的主要工作2解决问题的主要思路和方法2.1 关键问题关键问题描述2.2 拟采用解决问题的方法在此陈述解决问题的思路,准备使用的算法和数据结构等等2.3 主要算法和处理流程图关键的程序流程图3程序实现3.1 程序实现时应考虑的问题函数调用关系图3.2 主要源代码及说明源代码(加注释)4 测试4.1 测试结果及分析5 小结5.1 本问题解决方法及程序实现小结总结系统的优缺点等等,对于程序中所参考的部分代码需要加以声明,并说明出处5.2尚未解决的问题及下一步工作思路对于程序中未能实现,或有待于进一步完善的部分需要加以说明。6 参考文献例如:1 严蔚敏.数据结构.清华大学.2004.11附件 2C语言课程设计参考题目语言课程设计参考题目电子与信息工程系2015 年 6 月一、工资管理系统一、工资管理系统1、需求分析工资信息存放在文件中,提供文件的输入、输出等操作;要实现浏览功能,提供显示、排序操作;而查询功能要求实现查找操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计整个系统可以分为信息输入、信息添加、信息浏览、信息排序、信息查询和信息统计模块。3、详细设计工资信息采用结构体数组:Struct Salary_Infoint Card_No;/工资卡号Char name20;/姓名int month;/月份float Init_Salary;/应发工资float Water_Rate;/水费float Electric_Rate;/电费float tax;/税金float Final_Salary;/实发工资SIMAX;/SIMAX中每个数组元素对应一个职工工资信息(1)主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。(2)输入模块按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息,税金和实发工资根据输入的信息进行计算得到,这些信息被录入到文件中。文件操作函数:fopen,fwrite,fclose.税金的计算:if(应发工资800&应发工资1400)税金=(应发工资-1400)*10%;实发工资=应发工资-水费-电费-税金。(3)添加模块增加新的职工工资信息,从键盘输入并逐条写到原来的输入文件中,采用追加而不是覆盖的方式(以”ab”方式打开文件)。(4)浏览模块分屏显示职工工资信息,可以指定 10 个 1 屏,按任意键显示下一屏。通过菜单选择按照工资卡号还是姓名浏览。如果按照卡号浏览,则显示的记录按照卡号升序输出;按照姓名浏览则按照字典序输出(调用排序模块的排序功能)。(5)排序模块排序模块提供菜单选择,实现按照工资卡号升序、实发工资降序以及姓名字典序排序。排序方法可以选择冒泡排序、插入排序、选择排序等。(6)查询模块实现按照工资卡号和姓名的查询,采用基本的查找方法即可。(7)统计模块输入起止月份,按照职工卡号和月份查询记录,把起止月份之间的实发工资金额累加。附加:思考在数据输入及添加模块尾部添加排序功能,使得文件中的数据按照卡号排序。这样在查询模块和统计模块可以采用二分查找以提高效率。二、校际运动会管理系统二、校际运动会管理系统1、需求分析要记录比赛结果,可以查看参赛学校的信息和比赛项目信息,因而要实现文件的输入和输出功能;用户可以查询各个学校的比赛成绩,查看参赛学校信息和比赛项目信息等,因而要提供查找和显示功能;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计系统被设计为信息输入模块、比赛结果录入模块和查询模块三个模块。3、详细设计数据结构采用结构体数组,包括学校、项目、运动员三个结构体。Struct athleteChar name20;/姓名Int age;/年龄Char From20;/来自学校Athlete;/运动员结构体Struct itemChar name20;/项目名Int*weight;/在运行时根据用户的输入动态分配空间(各项目名次取法不同,weight 所指空间依次存放第一名得分、第二名得分等)Athlete*player;/指向获奖运动员信息的指针Item;/项目结构体Struct universityChar name20;/学校名Item*item;/竞赛项目指针,根据用户输入动态分配空间Int score;/学校得分Uni;/学校结构体Item TotalItemItemNum;/项目结构体数组UniAllUniUniNum;/学校结构体数组(1)主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。(2)信息输入模块输入参赛学校总数,M-男子参赛项目数,W-女子参赛项目数。把参赛学校信息和项目信息以及运动员信息录入文件(fwrite),建立三个文件。例如第 i 个项目:Scanf(“%s”,TotalItemi.name);/输入项目名Ch=Getchar();/通过输入 1,2,3 来选择项目名次取法Switch(ch)Case 1:n=5;break;Case 2:n=3;break;Case 3:printf(“取前几名?”,&n);break;Default:break;TotalItemi.weight=new intn;TotalItemi.athlete=NULL;/指向获奖运动员信息,初始化为空然后写入文件:fp=fopen(“item.txt”,”wb”);fwrite(&TotalItemi,sizeof(Item),1,fp);学校信息和运动员信息的录入与此类似。(2)比赛结果录入模块通过菜单选择进入比赛结果录入模块,更改 TotalItemi.athlete 的值,并把获奖名单保存到项目文件中。项目文件格式为:项目名项目权值(按照第一名、第二名给出权值)获奖运动员信息(按照第一名、第二名给出)(3)查找模块查找学校信息文件,生成团体总分报表;用基本查找算法查询参赛学校信息(按照校名查找)或者比赛项目信息(按照项目名)。三、学生学籍信息管理系统设计三、学生学籍信息管理系统设计1、需求分析学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。3、详细设计设计学生基本信息和学生成绩基本信息结构体数组。Structint stuNo;/学号char name20;/姓名char sex2;/性别intdomNum;/宿舍号inttel;/电话号码StuInfo;/学生基本信息结构体Structint stuNo;/学号char courseNo;/课程编号char courseName;/课程名称int creditHour;/学分Int triGrade;/平时成绩Int experiGrade;/实验成绩Int examGrade;/卷面成绩Float totalGrade;/综合成绩Float finalCreHour;/实得学分StuGraInfo;/学生成绩基本信息结构体(1)数据录入模块学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。综合成绩和实得学分通过计算得到。(2)查询模块通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,按照基本查找算法查找 A.TXT,然后把查找结果输出若选择后者,则先在 A.TXT 中查找学号对应的姓名,再在 B.TXT 中查找该学生的课程情况,并统计科目和实得总学分,输出结果。(fread 和查找算法的应用)(3)删除模块通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在 A.TXT 和 B.TXT 中查找该生信息,删除之;或者输入学生的姓名,先在 A.TXT 中得到该生的学号,删除该生信息,再在 B.TXT 中删除该学号对应的信息。注意:C 语言中没有直接删除信息的函数,需要自己实现,可以采取读出数据,判断数据(如果不删除,则进入缓冲区,否则删除),写入数据(把缓冲区中的数据写入文件)的步骤进行。(4)排序模块通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果。首先要读文件(fread)。四、一种简单的英文词典排版系统实现四、一种简单的英文词典排版系统实现1、需求分析运行结果以文本形式存储,因而要提供文件的输入输出操作;检查重复单词要提供查找操作;按 A-Z 的顺序排版,要提供排序操作;添加新单词并重新排版要提供插入操作。另外通过键盘式菜单实现功能选择。2、总体设计整个系统被设计为单词录入模块、文件存储模块和单词浏览模块。其中单词录入模块要完成输入单词、检查是否重复、排序操作。文件存储模块把存放单词的数组中的数据写入文件。单词浏览模块完成英文词典的输出,即文件的输出操作。3、详细设计数据结构采用指针数组或二维数组:char*dictionaryN;或 char dictionaryN20。其中 N 是宏定义#define N 100(表示单词个数)(1)单词录入模块输入一个单词,存放在一个临时字符数组中,以空格或回车表示单词的结束(这也是默认操作),然后换行输出刚刚输入的单词。采用插入排序算法的思想把该单词插入单词数组中,不同的是如果两个单词相同则不插入。(2)文件存储模块采用 fwrite 或 fprintf 把单词数组输入到文件中。(3)单词浏览模块采用 fread 或 fscanf 把单词从文件中读出,然后输出。五、一担挑游戏五、一担挑游戏简单计算机模拟棋盘对弈。其中棋盘左上角坐标为(1,1),右下角坐标为(3,3)。游戏规则如下:(1)计算机移动时,使用相应函数扫描棋盘矩阵,寻找未占单元:发现空单元之后,置为“O”,未发现时,报告平局后推出。(2)轮到对弈者时,使用想要函数要求对弈者回答想把“X放在哪里。(3)谁先三点连成一线了,则报告谁胜出。(4)计算机与对弈者每下一步棋都会使相应位置变为“O”和“X”,便于在屏上显示矩阵。1、数据结构数据结构定义为二位数组:charchess_board33;元素初始化为。2、算法流程Main()charchess_board33=;/定义棋盘,并初始化为空;while(未结束)输出棋盘;/用 flag 标志移动方,0 表示计算机走棋,1 表示对弈者走棋If(flag=0)/计算机走棋扫描棋盘矩阵;If(存在空单元)置该单元为O;If(有三个O在一条线上)输出棋盘矩阵;输出“计算机赢!”;退出程序;Flag=1;/下一步轮到对弈者走棋Else报告平局,退出程序。Else/对弈者走棋扫描棋盘矩阵;If(存在空单元)置该单元为X;If(有三个X在一条线上)输出棋盘矩阵;输出“恭喜你,你赢了!”;退出程序;Flag=0;/下一步轮到计算机走棋Else报告平局,退出程序。/else/while/main其中扫描棋盘矩阵可以自行设计函数,最简单的方式是按行或按列扫描棋盘,找到空位就布棋;判断三点是否连成一条直线的操作比较简单,读者自己思考。六、通讯录管理系统六、通讯录管理系统1、需求分析信息记录要存放到文件中去,因而要实现文件的输入输出操作;要实现数据的插入、删除、修改和显示功能,因而要实现插入、删除、修改和显示操作;要实现按人名或电话号码进行查询的功能,因而要提供查找操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计整个系统可以设计为数据插入模块、数据修改模块、数据删除模块、数据显示模块和数据查询模块。3、详细设计采用结构体数组。StructChar name20;/人名Char post20;/工作单位Inttel;/电话号码Char email20;/email 地址TelInfo;/电话簿信息结构体TelInfo telInfoN;/电话簿信息结构体数组(1)数据插入模块输入数据,然后采用追加方式写文件(以”wb”方式打开文件,再用 fwrite 写入)。(2)数据修改模块通过菜单选择修改姓名、电话号码。可以把要修改的姓名或电话号码存储在临时变量里面,然后读文件,找到要修改的记录,把该记录重新以新的值写入。(3)数据删除模块删除一条记录,则输入要删除的人名,然后读文件,把文件中读出来的记录的人名与待删除的人名比较,如果不匹配,则重新写入文件;否则舍弃不再写入文件。(4)数据显示模块采用分屏显示,每屏 10 条记录。用 fread 或 fscanf 读文件,输出结果。(5)数据查询模块用基本查找算法对电话簿实现按人名或电话号码的查询(读文件,把读出记录得相应字段与输入的查询字段比较),并把结果输出。七、投票程序七、投票程序1、需求分析实现键盘输入投票人数和投票结果,进行统计时实现排序功能,输出结果。2、总体设计该程序可以分为数据输入部分和统计部分。3、详细设计采用结构体:StructChar code;/代号Intscore;/得分CandidatesN;/候选人结构体数组这里#define N 3;采用二维数组,则行方向对应一张投票,列方向对应各候选人得分。CandidateMN;(1)输入部分Char tmp3;/存放投票的中间变量输入投票人数 n;For(i=0;i=输入金额,则输出“交易成功!”,并更改 account=account-输入金额。否则输出“对不起,您的余额不够!”。(4)实现卡金融交易积分功能。在把积分初始化为 0,只需在卡交易的时候,把交易金额取整加到积分上。(5)实现卡报表功能。读账户信息文件,分屏输出所有账户的帐号和交易金额。十八、组数游戏十八、组数游戏问题分析(1)输入正整数的个数 n,输出 n 个数连接成的最大的多位数。找出 n 个数中最大数字的位数,然后将所有的数字通过后面补零的方式扩展成为最大位数。把变换后的 n 位数从大到小排序,然后把添加上的零去掉,按顺序输出的序列即为所求的最大数字。(2)数据结构采用结构体,由于正整数的位数不确定,可能非常大,所以数据类型采用字符数组。Structchar data20;/数据char ext_data20;/扩展数据ElemN;/结构体数组N 可以在宏定义中定义:#define N 20(3)算法流程输入正整数个数 n;Max=0;/Max 存储最大位数/输入正整数并计算最大位数For(i=0;iMax)Max=Tmp;/计算扩展数字For(i=0;in;+i)tmp=strlen(Elemi.data);/计算输入数字的位数m=Max-tmp;/m 为需要补 0 的个数定义一个 m 个0的字符串 tmp_str;Strcat(Elemi.ext_data,tmp_str);/排序任选一中排序算法(冒泡、插入、选择等)对数字结构体数组按照 ext_data 从大到小排序。/输出按序输出结构体数组中 data 数据。十九、仪器仪表管理十九、仪器仪表管理1、需求分析仪器仪表信息用文件存储,故要提供文件的输入输出操作;要能够完成对仪器仪表信息的修改和删除,需要对提供仪器仪表信息修改和删除操作;实现对仪器仪表信息的查询和统计及显示操作;另外还要提供键盘式选择菜单以实现功能选择。2、总体设计整个仪器仪表管理系统分为仪器表信息输入模块、仪器表信息修改和删除模块、仪器表信息查询和统计模块。3、详细设计数据结构采用结构体:Struct instrumentInfoChar instrName20;/仪器仪表名Char instrNo10;/仪器仪表编号Char buyDate20;/购买时间Char borrowDate20;/借入时间Char lendDate20;/借出时间Char returnDate20;/归还时间Char repairDate20;/维修时间Int state;/状态信息(0 代表可借出,1 代表已借出,2 代表正在维修)InstrInfo;(1)输入模块采用 fwrite 或 fprintf 把仪器仪表信息写入仪器仪表信息文件。(2)修改和删除模块通过菜单选择借出操作,查找文件仪器仪表信息,找到相应的仪器仪表,如果仪器仪表状态为 0,则允许借出,在文件中更改仪器仪表状态为 1,更改借出时间;否则,即仪器仪表借出或正在维修,则输出“抱歉,仪器仪表已借出(正在维修)!”这个过程是一个对文件查找(读文件、判断是否是要查找的纪录)、重新写入的过程。删除操作只需读文件,判断所读纪录是不是要删除的记录,如果是,则舍弃;否则重新写入文件。(3)查询和统计模块通过菜单选择查询或统计操作,若选择查询,则需要再选择查询方式:基本信息、时间段、时间点。基本信息查询,就分屏(每屏 10 条信息)显示所有记录,这是一个读文件和输出的过程。时间段查询,则要输入起止时间和表征字段(可以用 0 表示购买起止时间,1表示借出起止时间,2 表示维修起止时间)。例如输入 2004 1 12004 10 100表示查询 2004 年 1 月 1 日到 2004 年 10 月 10 日之间购买的仪器仪表信息。则读一条记录,判断购买时间是否处于起止时间之间,如果处于,则打印输出,否则舍弃。借出和维修查询与此类似。统计功能和查询功能类似,只需要加一个计数变量即可。二十、服装销售系统二十、服装销售系统1、需求分析用户与商品信息要采用文件存储,因而要提供文件的输入输出操作;实现用户的添加、修改、删除,商品信息的添加、修改、删除、查找等需要提供信息的添加、删除、修改与查找操作;实现商品浏览功能的实现需要实现显示操作;另外还要提供键盘式选择菜单以实现功能选择。2、总体设计整个服装销售系统被设计为管理员模块、店长模块、销售员模块、商品模块等,如下图所示:另外还要实现各用户自身信息的管理。服装销售系统管理员模块店长模块销售员模块商品模块用户添加用户删除用户修改商品添加商品删除商品修改商品查找商品浏览商品出售3、详细设计数据结构采用结构体,构造结构体如下:Struct goods/商品Char name10;/商品名Char code10;/商品代码Char producer10;/制造商Float price;/价格Goods;Struct administrator/管理员Char ID10;Char password10;/其他信息Admin;Struct shopkeeper/店长Char ID10;Char password10;/其他信息Shkpr;Struct seller/销售员Char ID10;/营业 ID 号Char name10;/姓名Char ID10;/所属店长 ID 号Goods*good;/指向该销售员销售的商品信息/其他信息Seller;Struct goods_report/商品报表Goods good;/商品Seller assistant;/营业员Char sell_data20;/出售日期先建立文本文件 Admin.txt,其中存放管理员的 ID 和密码及其它信息;文本文件Shopkeeper.txt,其中存放店主的用户名和密码及其它信息;文本文件 Seller.txt,其中存放销售员的 ID 和密码及其他信息。登录系统时,通过菜单选择登录身份,然后提示输入用户 ID 和密码。如果以管理员身份登录,则在 Admin.txt 文件中查找(采用基本的查找算法)输入的用户 ID 和密码是否存在,如果存在,则允许进入,显示选择菜单:修改密码添加用户用户信息商品信息;否则,显示“输入的用户名或密码错误!”,返回上级菜单。店长与销售员登录系统与此类似,店长登录成功后显示选择菜单为:修改密码修改个人信息商品信息查看报表商品储备信息。销售员登录成功后显示选择菜单为:商品浏览查找商品出售商品本日报表本月报表密码修改与个人信息修改既是写入新的密码、个人信息,覆盖掉原来的,就是文件的读写操作。在登录成功后,就标志出登录人员的纪录位置,这样修改信息时,可以直接定位到修改记录的位置。管理员添加用户,就是执行文件写操作,采用追加的方式把用户信息写入用户信息文件(根据添加的用户身份选择写入 Shopkeeper.txt 还是 Seller.txt)。删除用户操作,读取用户信息文件,如果读出的用户不是要删除的用户,则直接重新写入文件,否则,舍弃。管理员选择用户信息,将进入用户信息修改和用户信息统计的选择。用户信息修改操作,即查找要修改的用户信息文件,找到要修改的用户,写入修改后的信息覆盖掉原始信息。用户信息统计操作,读用户信息文件,比较统计信息字段,符合统计要求则计数加 1,最后输出符合条件的记录数(也可以把符合条件的记录信息完全输出)。管理员选择商品信息,则可以选择商品信息添加、修改、删除、查找、统计,商品信息的添加、修改、删除、统计操作与用户信息的相应操作类似。查找操作只需采用基本的查找算法查找商品信息文件即可。店长修改密码和修改个人信息操作与管理员相应操作类似。店长的商品信息可以选择商品信息修改和商品信息统计,此类操作与管理员的相应操作相同。店长选择查看报表,则显示选择菜单:日报表月报表商品销售量报表营业员业绩报表。查看日报表,根据输入的日期在商品报表文件中查找,把出售日期与输入日期符合的记录输出。查看月报表操作类似,查找商品报表文件中商品出售日期在输入月份之间的记录输出。商品销售量报表,这是一个统计的过程,查找商品报表,统计同一商品的销售量(月销售量、年销售量)。查看营业员业绩报表,则读销售员信息文件,把信息打印输出即可。店长查找浏览修改商品储备信息,查找与修改操作可以参考管理员对商品的查找与修改操作,浏览操作就是把商品储备信息分屏输出,每屏 10 条记录,按任意键继续。这些操作在该店长对应的商品储备信息文件中执行。注:每个店长对应一个商品储备信息文件,里面存放该店储备的商品信息。文件格式:店长 ID商品名商品代号制造商价格销售员可以选择商品浏览、查找、出售商品、察看自己本日报表、本月报表。商品浏览、查找以及查看自己本日报表、本月报表可以参考前面相关操作。出售商品操作执行的动作是:在本店的商品储备文件中查找要出售的商品,如果存在,则出售,在商品报表文件和销售员销售文件中添加该商品信息,并把该商品信息从商品储备文件中删除。二十一、歌星大奖赛二十一、歌星大奖赛1、问题分析要求(1):输入 10 个评委的打分,假设分数存放在数组 score10中,然后对分数由高到低排序(冒泡、插入、选择法),选手最后得分为(score1+score2+score8)/8。要求(2):最不公平的评委比较容易找到,就是把最高分 score0和最低分 score9分别与(1)得到的平均分比较,差值较大的那个就是最不公平的评委。找最公平的评委,可以先把中间元素 score5与平均分比较,计算差值,然后往前推,计算 score4、score3,如果差值比上一次计算所得值大,则停止;再往后推,计算 score6与平均值的差值,并与前面得到的最小差值比较,如果大于最小差值,则得到最小差值的评分对应的评委就是最公平的评委;如果小于最小差值,则把最小差值改为 score6,并继续比较score7,直到所得差值比上一次计算所得值大。(2)具体实现数据结构采用结构体:Struct judgeFloat score;/评委打分IntjudgeNo;/评委号码Judge10;/评委结构体数组核心程序:一次循环处理一个歌手。While(还有歌手)/输入 10 个评委的打分For(i=0;i10;+i)Scanf(“%f”,&Judgei.score);Judgei.judgeNo=i;/输出最后得分evenScore=0;For(i=1;i0,则查看状态,如果 state3,则允许出借,提示输入租用的 DVD 编号,在会员信息文件中加入该 DVD 信息,state+。并在 DVD 信息文件中把该DVD 状态改为已借出。(4)会员归还 DVD 模块提示用户输入要归还的 DVD 编号,把该用户记录的该 DVD 信息初始化为空,state-。同时在 DVD 信息文件中把其状态改为可供出借。(5)信息浏览模块浏览 DVD 信息,则采用 fread 或 fscanf 从 DVD 信息文件中读记录,分屏输出。浏览会员信息文件,则读会员信息文件,输出。(6)信息查询模块会员对自己账户状况的查询,则输出其账户信息即可(登录时在会员信息文件中找到自身信息,事先读到临时变量中)。管理员对所有交易情况的查看,则查找用户信息文件,如果用户的 staet!=0,则输出用户信息。三十、歌曲信息管理三十、歌曲信息管理1、需求分析用文件存储信息,因而要提供文件的输入输出操作;可对歌曲信息进行输入、删除、浏览,因而要提供文件的输入、删除和信息显示操作;查询歌曲信息要提供查找操作;实现按作者分组显示功能则要提供排序功能;另外要提供键盘式选择菜单以实现功能选择。2、总体设计整个管理系统可以被设计为数据输入模块、数据删除模块、信息浏览模块、信息查询模块和信息分组显示模块。3、详细设计数据结构采用结构体,建立歌曲信息结构体:Struct SongInfoChar name20;/歌曲名Char author20;/作者Char singer20;/演唱者Char pub_date6;/发行年月(yyyymm)SI;(1)数据输入模块用 fprintf 或 fwrite 把歌曲信息写入文件。(2)数据删除模块采用基本的查找算法,查找歌曲信息文件,如果是要删除的歌曲,则舍弃改信息。否则重新写入文件。(3)信息浏览模块用 fscanf 或 fread 读歌曲信息文件,分屏显示输出,每屏 10 条信息。(4)信息查询模块通过菜单选择查询字段:歌曲名作者演唱者。然后采用基本查找算法在歌曲信息文件中查找,如果找到,则输出;否则输出“对不起,没有您要找的歌曲信息!”。(5)信息分组显示模块选择按作者分组显示歌曲信息,用 fread 或 fscanf 把歌曲信息文件中的信息读取到临时变量中(临时变量数据结构可以采用歌曲信息结构体数组),采用排序算法(冒泡、插入、选择等)把歌曲信息按照作者排序,然后分屏输出,每屏 10 条记录。三十一、交通处罚单管理三十一、交通处罚单管理1、需求分析交通处罚单信息用文件存储,因而要提供文件的输入输出操作;要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;要实现按车辆、驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。2、总体设计整个管理系统被设计为信息输入模块、信息删除模块、信息浏览模块、信息查询模块和信息统计模块。3、详细设计数据结构采用结构体,设计交通处罚单结构体:Struct TranficPunishBillChar carNo10;/车牌号Char driverNo20;/驾照号Char policeNo10;/开单交警号码Char billNo20;/处罚单号码Char time12;/处罚时间(yyyymmddhhmm,年月日时分)TPB;(1)主函数提示用户选择功能:输入删除浏览查询统计(2)信息输入模块采用追加的方式用 fwrite 或 fprintf 把处罚单信息写入处罚单信息文件。(3)信息删除模块输入处罚单号码,然后在处罚单信息文件中查找该条处罚单,删除之。具体删除操作:用 fopen 打开该文件,从文件中读一条记录,判断是否要删除,如果是,则舍弃;否则重新写入文件,读下一条记录。(4)信息浏览模块采用 fread 或 fscanf 读处罚单信息文件,分屏输出,每屏 10 条记录。(5)信息查询模块通过菜单选择查询字段:车辆驾驶员开单交警,分别按照车牌号、驾照号、开单交警号采用基本的查找算法查找交通处罚单信息文件,如果找到相应得记录则输出处罚单信息,否则输出“您所查找的信息不存在!”。(6)信息统计模块提示输入驾驶员的驾照号和时间段。设置一个计数器,初始化为 0。采用基本算法查找交通处罚单信息文件,比较驾照号,如果驾照号匹配,再看处罚单时间是否出于查询时间段内,如果是,则计数器加 1,并输出该处罚单号。文件查找结束后,输出计数器的值。三十二、学生证的管理程序三十二、学生证的管理程序1、需求分析学生证信息采用文件存储,因而要提供文件的输入输出操作;给定学号或班号,做相应得操作,要提供查找操作;显示信息要提供显示操作;修改和删除信息要提供文件的修改和删除操作;提供一些统计各类信息的功能要实现统计操作;另外提供键盘式选择菜单以实现功能选择。2、总体设计整个管理程序被设计为数据输入模块、数据查找模块、数据修改模块、数据删除模块和数据统计模块。3、详细设计数据结构采用结构体,设计学生证信息结构体:Struct studentCardChar name10;Intsex;/0 表示男,1 表示女Char stuNo10;/学号IntclassNo;/班号/其他信息StuCard;(1)主函数主函数中,显示功能菜单:信息输入(1)信息查找(2)信息修改(3)信息删除(4)信息统计(5)按相应的数字键则进入相应的计算模块。(2)数据输入模块输入学生的学生证信息,把该信息以追加的方式写入学生证信息管理文件。(3)数据查找模块进入该模块,首先显示提示菜单:按学号查找(1)按班级查找(2)按学号查找,则提示输入学号,然后采用基本查找算法(顺序查找)在学生证信息文件中查找学号字段,当找到该记录时,则输出该学生信息,停止继续查找。按班级查找,则提示输入班级班号,然后采用基本查找算法(顺序查找)在学生证信息文件中查找班号字段,如果班号匹配,则输出该学生信息,直到文件结束。(4)数据修改模块在主菜单中选择(3),则进入数据修改模块。屏幕上提示输入要修改的学生学号。输入学号后,则采用基本查找算法找到该学生信息,修改之。(5)数据删除模块与数据修改模块相似,只是找到相应的学生信息后删除,即不再写入文件。(6)数据统计模块提供对班级学生数、女生人数、男生人数的统计。通过菜单选择统计字段。建立一个计数器,初始化为 0。例如统计班级学生数,则提示输入班号,然后查找学生证信息文件,比较班号,如果匹配,则计数器加 1,当文件结束后,输出计数器的值。女生人数和男生人数的统计与此类似。三十三、学生成绩管理程序三十三、学生成绩管理程序1、需求分析学生纪录用文件存储,因而要提供文件的输入输出操作;要实现插入一个新的学生纪录,因而要提供文件的插入操作;要实现学生纪录得修改和删除,以及登记成绩和修改成绩,因而要提供文件纪录的修改和删除操作;要浏览全班成绩,故要提供显示操作;计算学生总成绩需要提供简单的统计操作;要按学号排序输出全班成绩表,因而要提供排序操作;另外要提供键盘式选择菜单以实现功能选择。2、总体设计整个成绩管理系统设计为数据插入模块、数据修改模块、数据删除模块、成绩登记模块、成绩修改模块、数据浏览模块、成绩统计模块、成绩表查看模块。3、详细设计数据结构采用结构体,设计学生纪录结构体:Struct studentRecordChar stuNo10;/学号Char name20;/姓名Intage;/年龄Float math;/数学Float English;/英语Float physics;/物理SR;(1)主函数输出提示菜单:插入学生纪录修改学生纪录删除学生纪录登记成绩修改成绩浏览学生纪录查看总成绩查看成绩表(2)数据插入模块采用追加的方式用 fwrite 或 fprintf 把学生成绩信息写入学生成绩信息文件。(3)数据修改模块通过菜单选择修改学生纪录,用 fopen 打开该文件,从文件中读一条记录,判断是否要修改,如果是,则修改后重新写入文件;否则直接重新写入文件,读下一条记录。(4)数据删除模块通过菜单选择删除学生纪录,用 fopen 打开该文件,从文件中读一条记录,判断是否要删除,如果是,则舍弃;否则重新写入文件,读下一条记录。(5)成绩登记模块类似数据修改模块,只是修改字段为各个科目的成绩。(6)成绩修改模块参考数据修改模块。(7)数据浏览模块用 fscanf 或 fread 读取学生成绩信息文件,分屏输出,每屏 10 条纪录。(8)成绩统计模块用 fscanf 或 fread 从学生成绩信息文件中读取一个学生纪录,计算该学生的总成绩(简单的成绩相加),输出,然后读取下一条纪录。(9)成绩表查看模块建立结构体数组StructSR record;/学生纪录Float total;/总成绩stuN;从学生成绩信息文件中读取各个纪录,total 中存放计算得到的总成绩。然后采用排序算法(冒泡、插入、选择等)对数组按照总成绩进行排序。最后顺序输出。三十四、客房管理系统三十四、客房管理系统1、需求分析实现用户登记功能,要提供结构体的输入操作;实现统计功能,要提供相应的统计操作;实现查询功能,要提供查找操作;实现修改功能,要提供修改操作;另外还要提供键盘式菜单实现功能选择。2、总体分析整个客房管理系统被设计为用户登记模块、统计模块、查询模块和修改模块。3、详细分析数据结构采用结构体,设计如下结构体:/客户结构体structClientcharName20;/姓名intSex;/性别,0 表示男,1 表示女intAge;/年龄charID_card20;/居民身份证;intyear;intmonth;intdate;/住店时间;/客房结构体structHotelintRoom_ID;/房间号intTel;/电话intPrice;/价格boolSign;/标记房间是否为空房间;structClientClient_list;/实现两个结构体的嵌套RoomNUM;(1)用户登记模块提示用户输入自身信息以及客房信息,把数据存入 Room 数组中。(2)统计模块设置计数器,顺序遍历 Room 数组来实现。实现对房客数、某一天的房客数的统计。(3)查询模块通过基本查找算法查找 Room 数组。可以按房间号、价格、房间标记、用户姓名、居民身份证查询。(4)修改模块采用基本查找算法在数组中找到要修改的数据,直接更改。三十五、物资管理系统三十五、物资管理系统根据要求,整个管理系统被设计为信息输入模块、信息查找模块、信息插入模块、领料模块和打印功能模块。数据结构采用结构体,在题目要求中已给出,这里采用了链表,读者可以尝试把文件中的数据读入链表中,然后查找操作就是对链表的遍历。也可以把 struct product*next;结点指针 以及 struct l_pro*next;结点指针从结构体中去掉,采用结构体数组来做。模块的分析如下:(1)信息输入模块用 fscanf 或 fwrite

    注意事项

    本文(C语言课程设计题目及相关要求.docx)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开