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

上传人:b****5 文档编号:7915248 上传时间:2023-01-27 格式:DOCX 页数:8 大小:18.99KB
下载 相关 举报
大学生C语言实训题目.docx_第1页
第1页 / 共8页
大学生C语言实训题目.docx_第2页
第2页 / 共8页
大学生C语言实训题目.docx_第3页
第3页 / 共8页
大学生C语言实训题目.docx_第4页
第4页 / 共8页
大学生C语言实训题目.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

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

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

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

大学生C语言实训题目

题目一:

贪吃蛇游戏

问题描述:

贪吃蛇是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被蛇吃掉,这时蛇身子长一节,同时积分10分,接着又出现食物,等待被蛇吃掉,如果在蛇移动的过程中,撞到墙壁或身体交叉蛇头撞到自己的身体,则游戏结束。

题目二:

通讯录

1.系统功能要求:

(1)创建通讯录。

输入学生的姓名、学号和电话号码等,并将它们存放在对应的数组中;每输入一组数据,记录数增1。

(2)显示通讯录。

将记录学生姓名、学号和电话号码的数组中的数据一一输出到屏幕上,可以根据实际记录数确定循环次数。

(3)查询通讯录。

分别按学号和姓名进行查询,查询时将输入的信息通过循环与相应数组成员一一进行比较。

(4)修改通讯录。

输入需要修改记录的学号,通过循环查找到该记录后,再输入新数据替代原有数据。

(5)添加通讯录。

判断输入的学号是否重复,若不重复再将输入的信息添加到对应的数组中,每输入一组数据,记录数增1。

(6)删除通讯录。

分别按学号和姓名进行删除。

(7)排序通讯录。

分别按学号和姓名进行排序。

排序方式可以是升序或降序。

(8)退出。

题目三:

汉诺塔演示

题目四:

学生成绩管理系统

问题描述:

设计一个学生成绩管理系统,实现对学生成绩的动态管理,实现对学生成绩的输入,显示,删除,查找,插入,最佳,保存,计算,排序等主要功能,主要功能说明如下:

1、每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。

2、输入功能:

可以一次完成若干条记录的输入。

3、显示功能:

完成全部学生记录的显示。

4、查找功能:

完成按姓名查找学生记录,并显示。

5、排序功能:

按学生平均成绩进行排序。

6、插入功能:

按平均成绩高低插入一条学生记录

7 删除功能:

如果输入错误,可以删除学生记录;

8 退出。

题目五:

图书管理系统

问题描述:

设计一个图书管理系统,主要功能如下:

1.添加

在系统中增加图书信息(可自己设计图书的信息:

如书号,书名,出版社,等等)

2.借阅管理

当输入有效证件号码之后,能对图书馆中现有的图书进行借阅,并设置借阅时间。

3.还书管理

当输入有效证件号码之后,读者能进行还书,还书包括还书日期是否超出时间,如果是,提示缴纳相应的超时费用。

当读者还书之后,能对读者现有的图书借阅情况进行简单的提示。

如是否还有图书处于借阅状态,还书时间是多少,是否超时等。

4.图书浏览

读者能对系统中的图书情况进行浏览。

题目六:

计算器的实现

问题描述:

利用TC具有的函数模仿画出计算器的界面,实现计算机的基本功能,进行浮点加,减,乘,除,乘方和求模运行。

题目七:

迷宫问题

问题描述:

设计迷宫为二维平面图,将迷宫的左上角作为入口,右下角作为出口,求出从入口点到出口点的一条通路。

题目八:

冒泡排序的演示

问题描述:

冒泡排序是一种常用的排序方法,通过初始由键盘输入n个整数,实现冒泡排序的演示。

题目九:

工资管理系统

问题描述:

工资管理是一个单位最基本的一项财务管理,设计一个工资管理系统,实现数据的输入,显示,查找,删除,追加,插入,计算工资,排序等主要功能。

题目十:

运动会分数统计

任务:

参加运动会有n个学校,学校编号为1……n。

比赛分成m个男子项目,和w个女子项目。

项目编号为男子1……m,女子m+1……m+w。

不同的项目取前五名或前三名积分;取前五名的积分分别为:

7、5、3、2、1,前三名的积分分别为:

5、3、2;哪些取前五名或前三名由学生自己设定。

(m<=20,n<=20)

  功能要求:

1)可以输入各个项目的前三名或前五名的成绩;

2)能统计各学校总分,

3)可以按学校编号或名称、学校总分、男女团体总分排序输出;

4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。

5)数据存入文件并能随时查询

6)规定:

输入数据形式和范围:

可以输入学校的名称,运动项目的名称

  输出形式:

有中文提示,各学校分数为整形

  界面要求:

有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

  存储结构:

学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。

(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:

要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。

进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明;

题目十一:

飞机订票系统

  任务:

通过此系统可以实现如下功能:

  录入:

  可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

  查询:

  可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);

  可以输入起飞抵达城市,查询飞机航班情况;

  订票:

(订票情况可以存在一个数据文件中,结构自己设定)

  可以订票,如果该航班已经无票,可以提供相关可选择航班;

  退票:

可退票,退票后修改相关数据文件;

  客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

  修改航班信息:

  当航班信息改变可以修改航班数据文件

  要求:

根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;

题目十二:

纸牌游戏

任务:

编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,输出:

这时正面向上的牌有哪些?

题目十三:

俄罗斯方块

题目十四:

电子时钟

任务:

通过系统设计实现以下功能

电子时钟界面显示功能:

能够显示清晰完整的时钟界面

电子时钟按键控制功能:

通过按键控制对时间进行调整

时钟动画处理功能:

可以自动走时报时等等

#include

#include

#include

#defineS3"***************欢迎使用学生成绩管理系统***************"

structstudent//学生数据结构

{

doublenum;

charname[20];

floatpingshi;//平时

floatshiyan;//实验

floatkaoshi;//考试

doublezongping;//总评

}stu[30];

voidmain()

{

voidnewstu();/*输入一个班的学生记录*/

voidshowall();/*显示所有记录*/

voidcalculate();/*求出全班平均成绩,显示均方差*/

voidsort();/*输出成绩与排名*/

voidsave();/*将数据保存到成绩.txt文件中*/

intn;

while(n!

=6)

{printf("\n\n%s\n\n",S3);

printf("%15s***09自动化班学生成绩管理系统***\n\n","");

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)

{

case1:

newstu();break;

case2:

showall();break;

case3:

calculate();break;

case4:

sort();break;

case5:

save();break;

case6:

printf("\n*******************谢谢使用!

*******************\n");break;

break;

}

}

getchar();

}

/*子函数*/

voidnewstu()/*输入一个班的学生记录*/

{

inti,n;

printf("请输入您要保存记录的人数:

");

scanf("%d",&n);

if(n>30)

printf("对不起,您的输入有误,请重新输入");

else

{for(i=0;i

{

printf("请输入学号姓名平时成绩实验成绩考试成绩:

");

scanf("%lf%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].pingshi,&stu[i].shiyan,&stu[i].kaoshi);

}for(i=0;i

stu[i].zongping=0.1*stu[i].pingshi+0.3*stu[i].shiyan+0.6*stu[i].kaoshi;

}

}

voidshowall()/*显示所有记录*/

{

inti,n;

printf("请输入您要保存记录的人数:

");

scanf("%d",&n);

printf("学号姓名平时成绩实验成绩考试成绩总评成绩\n");

for(i=0;i

printf("%-18.0lf%-13s%-14.2f%-14.2f%-14.2f%-14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);

}

voidcalculate()/*求出全班平均成绩,显示均方差*/

{

inta[30]={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};

inti,n;

doubletotal=0,pfc=0,bzc=0;

doubleave;

printf("请输入您要保存记录的人数:

");

scanf("%d",&n);

for(i=0;i

{

total=total+stu[i].zongping;

}

ave=total/n;

printf("总评平均成绩是%f\n",ave);

for(i=0;i

{

pfc=pow((stu[i].zongping-ave),2)/n;

}

bzc=sqrt(pfc);

printf("\n平方差是%f\n",pfc);

printf("\n标准差是%f\n",bzc);

}

voidsort()/*输出成绩与排名*/

{

inta[30]={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};

inti,j,temp;

for(j=0;j<29;j++)

{

for(i=0;i<29-j;i++)

if(stu[a[i]].zongping

{

temp=a[i];a[i]=a[i+1];

a[i+1]=temp;

}

}

printf("顺序为:

\n");

printf("学号姓名总评成绩\n");

for(i=0;i<30;i++)

printf("%15.0lf%10s%15.2f\n",stu[a[i]].num,stu[a[i]].name,stu[a[i]].zongping);

printf("\n");

}

voidsave()/*将数据保存到成绩.txt文件中*/

{inti;

FILE*fp;

fp=fopen("成绩.txt","w");

fprintf(fp,"学号姓名平时成绩实验成绩考试成绩总评成绩\n");

for(i=0;i<29;i++)

fprintf(fp,"%15.0lf%14s%14.2f%14.2f%14.2f%14.2f\n",stu[i].num,stu[i].name,stu[i].pingshi,stu[i].shiyan,stu[i].kaoshi,stu[i].zongping);

printf("Systempause...\n");

printf("Pleasewait...\n");

printf("\n\n*******************恭喜,保存完成!

*******************\n\n");

}

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

当前位置:首页 > 高等教育 > 工学

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

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