ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:77.55KB ,
资源ID:7785941      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7785941.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计题目及相关要求.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、C语言课程设计题目及相关要求C语言课程设计参考题目一、工资管理系统1、 需求分析工资信息存放在文件中,提供文件的输入、输出等操作;要实现浏览功能,提供显示、排序操作;而查询功能要求实现查找操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计整个系统可以分为信息输入、信息添加、信息浏览、信息排序、信息查询和信息统计模块。3、详细设计工资信息采用结构体数组:Struct Salary_Info int Card_No; /工资卡号 Char name20; /姓名 int month; /月份 float Init_Salary; /应发工资 float Water_Rate; /水费

2、float Electric_Rate; /电费 float tax; /税金 float Final_Salary; /实发工资SIMAX; /SIMAX中每个数组元素对应一个职工工资信息(1)主函数提供输入、处理和输出部分的函数调用,各功能模块采用菜单方式选择。(2)输入模块 按照工资卡号、姓名、月份、应发工资、水费、电费的顺序输入信息,税金和实发工资根据输入的信息进行计算得到,这些信息被录入到文件中。文件操作函数:fopen,fwrite,fclose.税金的计算:if(应发工资800&应发工资1400) 税金=(应发工资-1400)*10%;实发工资=应发工资-水费-电费-税金。(3)

3、添加模块增加新的职工工资信息,从键盘输入并逐条写到原来的输入文件中,采用追加而不是覆盖的方式(以”ab”方式打开文件)。(4)浏览模块 分屏显示职工工资信息,可以指定10个1屏,按任意键显示下一屏。通过菜单选择按照工资卡号还是姓名浏览。如果按照卡号浏览,则显示的记录按照卡号升序输出;按照姓名浏览则按照字典序输出(调用排序模块的排序功能)。(5)排序模块排序模块提供菜单选择,实现按照工资卡号升序、实发工资降序以及姓名字典序排序。排序方法可以选择冒泡排序、插入排序、选择排序等。(6)查询模块实现按照工资卡号和姓名的查询,采用基本的查找方法即可。(7)统计模块输入起止月份,按照职工卡号和月份查询记录

4、,把起止月份之间的实发工资金额累加。附加:思考在数据输入及添加模块尾部添加排序功能,使得文件中的数据按照卡号排序。这样在查询模块和统计模块可以采用二分查找以提高效率。二、校际运动会管理系统1、需求分析要记录比赛结果,可以查看参赛学校的信息和比赛项目信息,因而要实现文件的输入和输出功能;用户可以查询各个学校的比赛成绩,查看参赛学校信息和比赛项目信息等,因而要提供查找和显示功能;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 系统被设计为信息输入模块、比赛结果录入模块和查询模块三个模块。3、详细设计 数据结构采用结构体数组,包括学校、项目、运动员三个结构体。Struct athlete

5、Char name20; /姓名 Int age; /年龄 Char From20; /来自学校Athlete; /运动员结构体Struct item Char name20; /项目名 Int* weight; /在运行时根据用户的输入动态分配空间(各项目名次取法不同,weight所指空间依次存放第一名得分、第二名得分等)Athlete* player; /指向获奖运动员信息的指针Item; /项目结构体Struct university Char name20; /学校名 Item *item; /竞赛项目指针,根据用户输入动态分配空间 Int score; /学校得分Uni; /学校结构

6、体Item TotalItemItemNum; /项目结构体数组Uni AllUniUniNum; /学校结构体数组(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;

7、 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的值,并把获奖名单保存到项目文件中。项目文件格式为:项目名 项目权值(按照第一名、第二

8、名给出权值) 获奖运动员信息(按照第一名、第二名给出) (3)查找模块查找学校信息文件,生成团体总分报表;用基本查找算法查询参赛学校信息(按照校名查找)或者比赛项目信息(按照项目名)。 三、学生学籍信息管理系统设计1、需求分析学生基本信息、学生成绩基本信息要存入文件当中,因而要提供文件的输入输出操作;查询功能要求提供查找和显示操作;删除功能要求实现删除操作;排序功能要求实现排序操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 整个系统可以设计为数据录入模块、数据查询模块、数据删除模块和数据排序模块。3、详细设计 设计学生基本信息和学生成绩基本信息结构体数组。Struct int

9、stuNo; /学号 char name20; /姓名 char sex2; /性别 int domNum; /宿舍号 int tel; /电话号码 StuInfo; /学生基本信息结构体Struct int stuNo; /学号 char courseNo; /课程编号 char courseName; /课程名称 int creditHour; /学分Int triGrade; /平时成绩Int experiGrade; /实验成绩Int examGrade; /卷面成绩Float totalGrade; /综合成绩Float finalCreHour; /实得学分StuGraInfo;

10、/学生成绩基本信息结构体(1)数据录入模块学生基本信息文件可以在磁盘建立,采用写文件方式录入学生成绩基本信息。综合成绩和实得学分通过计算得到。(2)查询模块通过菜单选择查询功能,再选择学生基本情况查询和成绩查询,若选择前者,再通过菜单选择学号、姓名或宿舍号码,按照基本查找算法查找A.TXT,然后把查找结果输出若选择后者,则先在A.TXT中查找学号对应的姓名,再在B.TXT中查找该学生的课程情况,并统计科目和实得总学分,输出结果。(fread和查找算法的应用)(3)删除模块通过菜单选择删除学生的功能,输入要删除学生的学号,则分别在A.TXT和B.TXT中查找该生信息,删除之;或者输入学生的姓名,

11、先在A.TXT中得到该生的学号,删除该生信息,再在B.TXT中删除该学号对应的信息。注意:C语言中没有直接删除信息的函数,需要自己实现,可以采取读出数据,判断数据(如果不删除,则进入缓冲区,否则删除),写入数据(把缓冲区中的数据写入文件)的步骤进行。(4)排序模块通过菜单选择排序依据,采用排序算法(冒泡、插入、选择等)对数据进行排序并输出结果。首先要读文件(fread)。四、一种简单的英文词典排版系统实现1、需求分析 运行结果以文本形式存储,因而要提供文件的输入输出操作;检查重复单词要提供查找操作;按A-Z的顺序排版,要提供排序操作;添加新单词并重新排版要提供插入操作。另外通过键盘式菜单实现功

12、能选择。2、总体设计 整个系统被设计为单词录入模块、文件存储模块和单词浏览模块。其中单词录入模块要完成输入单词、检查是否重复、排序操作。文件存储模块把存放单词的数组中的数据写入文件。单词浏览模块完成英文词典的输出,即文件的输出操作。3、详细设计数据结构采用指针数组或二维数组:char* dictionaryN; 或 char dictionaryN20。其中N是宏定义#define N 100 (表示单词个数)(1)单词录入模块 输入一个单词,存放在一个临时字符数组中,以空格或回车表示单词的结束(这也是默认操作),然后换行输出刚刚输入的单词。采用插入排序算法的思想把该单词插入单词数组中,不同的

13、是如果两个单词相同则不插入。(2)文件存储模块 采用fwrite或fprintf把单词数组输入到文件中。(3)单词浏览模块采用fread或fscanf把单词从文件中读出,然后输出。五、一担挑游戏1、数据结构 数据结构定义为二位数组:char chess_board33; 元素初始化为 。2、算法流程 Main() char chess_board33=; /定义棋盘,并初始化为空;while(未结束) 输出棋盘; /用flag标志移动方,0表示计算机走棋,1表示对弈者走棋 If(flag=0) /计算机走棋 扫描棋盘矩阵; If(存在空单元) 置该单元为O; If(有三个O在一条线上) 输出棋

14、盘矩阵; 输出“计算机赢!”;退出程序; Flag=1; /下一步轮到对弈者走棋 Else 报告平局,退出程序。 Else /对弈者走棋 扫描棋盘矩阵; If(存在空单元) 置该单元为X; If(有三个X在一条线上) 输出棋盘矩阵; 输出“恭喜你,你赢了!”;退出程序; Flag=0; /下一步轮到计算机走棋 Else 报告平局,退出程序。 /else /while /main其中扫描棋盘矩阵可以自行设计函数,最简单的方式是按行或按列扫描棋盘,找到空位就布棋;判断三点是否连成一条直线的操作比较简单,读者自己思考。六、通讯录管理系统1、需求分析 信息记录要存放到文件中去,因而要实现文件的输入输出

15、操作;要实现数据的插入、删除、修改和显示功能,因而要实现插入、删除、修改和显示操作;要实现按人名或电话号码进行查询的功能,因而要提供查找操作;另外还应该提供键盘式选择菜单以实现功能选择。2、总体设计 整个系统可以设计为数据插入模块、数据修改模块、数据删除模块、数据显示模块和数据查询模块。3、详细设计 采用结构体数组。Struct Char name20; /人名 Char post20; /工作单位 Int tel; /电话号码 Char email20; /email地址TelInfo; /电话簿信息结构体TelInfo telInfoN; /电话簿信息结构体数组(1)数据插入模块输入数据,

16、然后采用追加方式写文件(以”wb”方式打开文件,再用fwrite写入)。(2)数据修改模块通过菜单选择修改姓名、电话号码。可以把要修改的姓名或电话号码存储在临时变量里面,然后读文件,找到要修改的记录,把该记录重新以新的值写入。(3)数据删除模块删除一条记录,则输入要删除的人名,然后读文件,把文件中读出来的记录的人名与待删除的人名比较,如果不匹配,则重新写入文件;否则舍弃不再写入文件。(4)数据显示模块 采用分屏显示,每屏10条记录。用fread或fscanf读文件,输出结果。(5)数据查询模块 用基本查找算法对电话簿实现按人名或电话号码的查询(读文件,把读出记录得相应字段与输入的查询字段比较)

17、,并把结果输出。 七、投票程序1、需求分析实现键盘输入投票人数和投票结果,进行统计时实现排序功能,输出结果。2、总体设计 该程序可以分为数据输入部分和统计部分。3、详细设计 采用结构体: Struct Char code; /代号 Int score; /得分CandidatesN; /候选人结构体数组这里#define N 3; 采用二维数组,则行方向对应一张投票,列方向对应各候选人得分。 CandidateMN; (1)输入部分 Char tmp3; /存放投票的中间变量输入投票人数n; For(i=0;in;+i) /投票 Scanf(“%s”,tmp); If(tmp0=tmp1|tm

18、p1=tmp2|tmp0=tmp2) Printf(”该票无效!”); Else Tmp0号候选人加5分; Tmp1号候选人加3分; Tmp2号候选人加2分; (2)统计部分对候选人按照他们的得分排序(冒泡、插入、选择等),然后比较前两名得分是否相同。如果相同,则显示“重新投票”;否则显示三个候选者得分并输出“祝贺X当选冠军”,X为最高分候选者。八、销售管理系统问题分析:数据结构采用结构体,设计便条结构体: Struct sellNote Int sellerNo; /销售员代号(1-4) Int proNo; /产品代号(1-5) Float sellMoney; /销售额SNote; 便条

19、信息采用文件存储,实现建立文本文件。主函数输出提示菜单,让用户选择查看不同信息。(1)个人销售额查看计算上个月每个人每种产品的销售额。设立count45,用来存储4个销售员的5种产品的销售额。读文件,把相同销售员的相同产品的销售额累加,写入count中。最后countij中存放的就是第i+1个销售员的第j+1种商品的销售额。(2)销售额排序 类似个人销售额的计算,这里把一个销售员的所有产品的销售额累加,存放到一个临时数组中,再对数组进行排序即可。(3)产品销售额操作与(2)类似。(4)统计报表可以先采用(1)的操作,再对count数组计算。counti0+ counti1+ counti2+

20、counti3+ counti4既是第i个销售员的销售之和,count0j+ count1j+ count2j+ count3j+ count4j既是第j种产品的销售之和。所有countij的和既是总和。另外注意输出格式。九、学生选修课程系统设计1、需求分析 系统以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;由于课程信息要用文件保存,因而要提供文件的输入输出操作;由于要浏览信息,所以要提供显示功能;要实现查询功能,故要提供查找操作。2、总体设计 整个系统可以设计为信息输入模块、信息查询模块以及信息浏览模块。3、详细设计 数据结构采用结构体,这里采用课程信息结构体和学生选课信息结构体。

21、 Struct Char courseCode10; /课程编号 Char courseName20; /课程名称 Char courseType10; /课程类别 Int totalPeriod; /总学时 Int classPeriod; /授课学时 Int experiPeriod; /上机学时 Float creditHour; /学分 Int term; /开课学期CourseInfoN; /课程信息结构体Struct Int stuNo; /学号; Char courseCode10; /课程编号StuCourInfoN; /学生选课信息结构体(1) 信息输入模块 从键盘输入课程信

22、息和学生选课信息,写入文件。(fwrite, fprintf)(2)信息浏览模块 分屏显示课程信息,每屏10条课程记录,按任意键继续。从文件中读数据(fread,fscanf),然后再显示。(3)信息查询模块 通过菜单选择查询字段,可以按照课程编号、课程名称、课程性质、开课学期、学分对课程信息文件进行查找,查找算法可以选择基本查找、二分查找等算法。 可以通过菜单选择课程编号,在学生选课信息文件中查询该课程学生选修情况。十、飞机订票系统设计1、需求分析 航班信息用文件保存,因而要提供文件的输入输出操作;航班信息浏览功能需要提供显示操作;要查询航线需要提供查找功能;另外要提供键盘式选择菜单以实现功

23、能选择。2、总体设计 该系统设计为航班信息输入模块、航班信息浏览模块和航线查询模块。3、详细设计 数据结构采用结构体数组,设计航班结构体如下:Struct Char flightNo10; /航班号 Char start10; /起始站 Char end10; /终点站 Float day; /飞行时间 Int totalTicket; /预售票总数 Int sellTicket; /已售票总数FlightN; /航班结构体(1)航班信息输入模块采用fwrite或fprintf把航班信息写入航班信息文件。(2)航班信息浏览模块 分屏显示航班信息,每屏10条记录,按任意键显示下一屏。读文件(采用

24、fread或fscanf)然后显示即可。(3)航线查询模块 通过菜单选择查询方式,提供按照航班号、起点站、终点站和飞行时间查询。采用基本查找算法即可。十一、职工信息管理系统设计1、 需求分析系统要以菜单方式工作,因而要提供键盘式选择菜单以实现功能选择;职工信息采用文件保存,因而要提供文件的输入输出操作;要实现职工信息的浏览功能,则要提供信息显示操作;要实现职工信息查询功能,则要提供查找操作(按学历查询和按职工号查询两种查询方式);要实现职工信息删除、修改功能则要提供文件记录的删除、修改操作。2、 总体设计整个系统被设计为职工信息输入模块、职工信息浏览模块、职工信息查询模块和职工信息删除与修改模

25、块。3、 详细设计数据结构采用结构体,设计职工信息结构体:Struct employeeInfo Char jobNo10; /职工号 Char name20; /姓名 Char sex; /性别 Int age; /年龄 Char eduLevel10; /学历 Float salary; /工资 Char addr; /地址 Char tel11; /电话EmpInfo; /职工信息结构体(1)职工信息输入模块采用fwrite或fprintf把职工信息写入航班信息文件。(2)职工信息浏览模块分屏显示职工信息,每屏10条记录,按任意键显示下一屏。读文件(采用fread或fscanf)然后显示

26、即可。(3)职工信息查询模块通过菜单选择查询方式,提供按学历查询和按职工号查询两种查询方式。采用基本查找算法即可。 (4)职工信息删除与修改模块通过菜单选择删除操作,由于C语言没有提供直接删除文件记录的函数,因而需要自己实现:读记录,判断是否要删除(与输入的要删除的记录比较),如果要删除,则舍弃;否则重新写入文件。修改操作于删除操作类似,只是判断是否是要修改的记录,如果是,则把修改后的记录写入文件,否则直接写入文件。十二、图书信息管理系统设计1、 需求分析系统以菜单方式工作,提供键盘式选择菜单以实现功能选择;图书信息采用文件保存,因而要提供文件的输入输出操作;要实现图书信息的浏览功能,则要提供

27、信息显示操作;要实现图书信息查询功能,则要提供查找操作(提供按书名、作者名查询两种查询方式);要实现图书信息删除、修改功能则要提供文件记录的删除、修改操作。2、 总体设计整个系统被设计为图书信息输入模块、图书信息浏览模块、图书信息查询模块和图书信息删除与修改模块。3、 详细设计数据结构采用结构体,设计图书信息结构体:Struct Char loginNo10; /登录号 Char name20; /书名 Char author20; /作者名 Char classNo10; /分类号 Char publisher10; /出版单位 Char pubTime20; /出版时间 Float pri

28、ce; /价格bookInfo; /图书信息结构体(1)图书信息输入模块采用fwrite或fprintf把图书信息写入图书信息文件。(2)图书信息浏览模块分屏显示图书信息,每屏10条记录,按任意键显示下一屏。读文件(采用fread或fscanf)然后显示即可。(3)图书信息查询模块通过菜单选择查询方式,提供按书名查询和按作者名查询两种查询方式。采用基本查找算法即可。 (4)图书信息删除与修改模块通过菜单选择删除操作,由于C语言没有提供直接删除文件记录的函数,因而需要自己实现:读记录,判断是否要删除(与输入的要删除的记录比较),如果要删除,则舍弃;否则重新写入文件。修改操作于删除操作类似,只是判

29、断是否是要修改的记录,如果是,则把修改后的记录写入文件,否则直接写入文件。十三、图书管理系统设计1、 需求分析图书管理信息采用文件保存,因而要提供文件的输入输出操作;要实现对图书基本信息的查询,则要提供查找操作(提供按书名、作者名查询两种查询方式)和显示操作;要实现对撤销图书信息的删除则要提供文件记录的删除操作;办理借书或还书手续需要提供修改操作;另外还要提供键盘式选择菜单以实现功能选择。2、 总体设计整个系统被设计为数据输入模块、数据查询模块、数据删除模块和数据修改模块。3、 详细设计数据结构采用结构体,设计图书信息结构体:Struct bookManageInfo Char bookName20; /图书名称 Char bookCode20; /图书编号 Float price; /图书价格 Char author10; /作者 In

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1