大学生C语言实训题目.docx

上传人:小飞机 文档编号:3395171 上传时间:2023-03-12 格式:DOCX 页数:10 大小:40.61KB
返回 下载 相关 举报
大学生C语言实训题目.docx_第1页
第1页 / 共10页
大学生C语言实训题目.docx_第2页
第2页 / 共10页
大学生C语言实训题目.docx_第3页
第3页 / 共10页
大学生C语言实训题目.docx_第4页
第4页 / 共10页
大学生C语言实训题目.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《大学生C语言实训题目.docx》由会员分享,可在线阅读,更多相关《大学生C语言实训题目.docx(10页珍藏版)》请在三一办公上搜索。

1、大学生C语言实训题目题目一:贪吃蛇游戏 问题描述:贪吃蛇是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被蛇吃掉,这时蛇身子长一节,同时积分10分,接着又出现食物,等待被蛇吃掉,如果在蛇移动的过程中,撞到墙壁或身体交叉蛇头撞到自己的身体,则游戏结束。 题目二:通讯录 1.系统功能要求: 创建通讯录。输入学生的姓名、学号和电话号码等,并将它们存放在对应的数组中;每输入一组数据,记录数增1。 显示通讯录。将记录学生姓名、学号和电话号码的数组中的数据一一输出到屏幕上,可以根据实际记录数确定循环次数。

2、 查询通讯录。分别按学号和姓名进行查询,查询时将输入的信息通过循环与相应数组成员一一进行比较。 修改通讯录。输入需要修改记录的学号,通过循环查找到该记录后,再输入新数据替代原有数据。 添加通讯录。判断输入的学号是否重复,若不重复再将输入的信息添加到对应的数组中,每输入一组数据,记录数增1。 删除通讯录。分别按学号和姓名进行删除。 排序通讯录。分别按学号和姓名进行排序。排序方式可以是升序或降序。 退出。 题目三:汉诺塔演示 题目四:学生成绩管理系统 问题描述:设计一个学生成绩管理系统,实现对学生成绩的动态管理,实现对学生成绩的输入,显示,删除,查找,插入,最佳,保存,计算,排序等主要功能,主要功

3、能说明如下: 1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。 2、输入功能:可以一次完成若干条记录的输入。 3、显示功能:完成全部学生记录的显示。 4、查找功能:完成按姓名查找学生记录,并显示。 5、排序功能:按学生平均成绩进行排序。 6、插入功能:按平均成绩高低插入一条学生记录 7 删除功能:如果输入错误,可以删除学生记录; 8 退出。 题目五:图书管理系统 问题描述:设计一个图书管理系统,主要功能如下: 1. 添加 在系统中增加图书信息 2. 借阅管理 当输入有效证件号码之后,能对图书馆中现有的图书进行借阅,并设置借阅时间。 3. 还书管理 当输入有效证件号码之后,读者能进

4、行还书,还书包括还书日期是否超出时间,如果是,提示缴纳相应的超时费用。当读者还书之后,能对读者现有的图书借阅情况进行简单的提示。如是否还有图书处于借阅状态,还书时间是多少,是否超时等。 4. 图书浏览 读者能对系统中的图书情况进行浏览。 题目六:计算器的实现 问题描述:利用TC具有的函数模仿画出计算器的界面,实现计算机的基本功能,进行浮点加,减,乘,除,乘方和求模运行。 题目七:迷宫问题 问题描述:设计迷宫为二维平面图,将迷宫的左上角作为入口,右下角作为出口,求出从入口点到出口点的一条通路。 题目八:冒泡排序的演示 问题描述:冒泡排序是一种常用的排序方法,通过初始由键盘输入n个整数,实现冒泡排

5、序的演示。 题目九:工资管理系统 问题描述:工资管理是一个单位最基本的一项财务管理,设计一个工资管理系统,实现数据的输入,显示,查找,删除,追加,插入,计算工资,排序等主要功能。 题目十:运动会分数统计 任务:参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。 功能要求: 1) 可以输入各个项目的前三名或前五名的成绩; 2) 能统计各学校总分, 3) 可以按学校编号或名称、学校总分、男女团体

6、总分排序输出; 4) 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 5) 数据存入文件并能随时查询 6) 规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明

7、; 题目十一:飞机订票系统 任务:通过此系统可以实现如下功能: 录入: 可以录入航班情况 查询: 可以查询某个航线的情况; 可以输入起飞抵达城市,查询飞机航班情况; 订票: 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票: 可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息: 当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 题目十二:纸牌游戏 任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开

8、始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后从第4张开始,以4为基数,是4的倍数的牌翻一次, 直到最后一张牌;.再依次5的倍数的牌翻一次,6的,7的 直到 以52为基数的 翻过,输出:这时正面向上的牌有哪些? 题目十三:俄罗斯方块 题目十四:电子时钟 任务:通过系统设计实现以下功能 电子时钟界面显示功能:能够显示清晰完整的时钟界面 电子时钟按键控制功能:通过按键控制对时间进行调整 时钟动画处理功能:可以自动走时报时等等 #include #include #include #define S3 *欢迎使用学生成绩管理系统* struct student/学生数据结构 double

9、 num; char name20; float pingshi;/平时 float shiyan;/实验 float kaoshi;/考试 double zongping;/总评 stu30; void main void newstu; /* 输入一个班的学生记录*/ void showall;/* 显示所有记录*/ void calculate;/* 求出全班平均成绩,显示均方差*/ void sort;/*输出成绩与排名*/ void save;/*将数据保存到成绩.txt文件中*/ int n; while(n!=6) printf(nn%snn,S3); printf(%15s*0

10、9自动化班学生成绩管理系统*nn, ); printf(%15s1:输入该班学生大学c学生成绩记录n, ); printf(%15s2:显示所有成绩记录n, ); printf(%15s3:计算并输出平均成绩,均方差n, ); printf(%15s4:输出成绩与排名n, ); printf(%15s5:结果存入文件成绩.txt中n, ); printf(%15s6:退出系统n, ); printf(输入选项代码:); scanf(%d,&n); if(n!=1&n!=2&n!=3&n!=4&n!=5&n!=6) printf(对不起!您的输入有误,请重新输入:); else switch(n

11、) case 1:newstu;break; case 2:showall;break; case 3:calculate;break; case 4:sort;break; case 5:save;break; case 6:printf(n*谢谢使用!*n);break; break; getchar; /* 子 函 数*/ void newstu /* 输入一个班的学生记录*/ int i,n; printf(请输入您要保存记录的人数:); scanf(%d,&n); if(n30) printf(对不起,您的输入有误,请重新输入); else for(i=0;in;i+) scanf(

12、%lf%s%f%f%f,&stui.num,stui.name,&stui.pingshi,&stui.shiyan,&stui.kaoshi); printf(请输入学号 姓名 平时成绩 实验成绩 考试成绩:); for(i=0;in;i+) stui.zongping=0.1*stui.pingshi+0.3*stui.shiyan+0.6*stui.kaoshi; void showall/* 显示所有记录*/ printf(学号 姓名 平时成绩 实验成绩 考试成绩 总评成绩n); for(i=0;in;i+) int i,n; printf(请输入您要保存记录的人数:); scanf(

13、%d,&n); printf(%-18.0lf%-13s%-14.2f%-14.2f%-14.2f%-14.2fn,stui.num,stui.name,stui.pingshi,stui.shiyan,stui.kaoshi,stui.zongping); void calculate/* 求出全班平均成绩,显示均方差*/ int a30=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29; int i,n; double total=0,pfc=0,bzc=0; double ave

14、; printf(请输入您要保存记录的人数:); scanf(%d,&n); for(i=0;in;i+) total=total+stui.zongping; ave=total/n; printf(总评平均成绩是%fn,ave); for(i=0;in;i+) pfc=pow(stui.zongping-ave),2)/n; bzc=sqrt(pfc); printf(n平方差是%fn,pfc); printf(n标准差是%fn,bzc); void sort/*输出成绩与排名*/ int a30=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18

15、,19,20,21,22,23,24,25,26,27,28,29; int i,j,temp; for(j=0;j29;j+) for(i=0;i29-j;i+) if(stuai.zongpingstuai+1.zongping) temp=ai;ai=ai+1; ai+1=temp; printf(顺序为:n); printf(学号 姓名 总评成绩n); for(i=0;i30;i+) printf(%15.0lf%10s%15.2fn,stuai.num,stuai.name,stuai.zongping); void save/*将数据保存到成绩.txt文件中*/ int i; FILE *fp; fp=fopen(成绩.txt,w); fprintf(fp,学号 姓名 平时成绩 实验成绩 考试成绩 总评成绩n); for(i=0;i29;i+) printf(n); fprintf(fp,%15.0lf%14s%14.2f%14.2f%14.2f%14.2fn,stui.num,stui.name,stui.pingshi,stui.shiyan,stui.kaoshi,stui.zongping); printf(System pause.n); printf(Please wait.n); printf(nn*恭喜,保存完成!*nn);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号