C语言与数据结构期末考核选题
更新时间:2024-03-25 14:08:01 阅读量: 综合文库 文档下载
- 数据结构c语言版期末重点推荐度:
- 相关推荐
《C语言程序设计》选题
考试要求:
1、要求利用C语言课程上学习的基础编程技巧来完成程序的设计;在设计的过程中,要建立清晰的函数并正确使用相应的数据类型;在系统设计中要分析函数与函数之间的关系,将查找和排序的算法独立出来形成为单独的代码。
2、如果有数据交互的地方,要求对用户输入的数据都进行有效性验证,以保证程序的正常运行。
3、要有完整的程序(能够运行,显示结果)与文档(内容要求有详细的功能实现说明,具体的函数设计和使用说明)。
考试目的:
1、加深对面向过程设计中基础理论和基本知识的理解,培养学生的实践能力,促进理论与实践的结合。通过课程设计,让学生能够熟练运用C语言进行面向编程,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握编程技术。
2、通过程序设计,掌握面向对象程序设计语言C语言,培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力指导等。
选题1:职工信息管理系统设计
职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:
1、职工信息录入功能(职工信息用文件保存)
第 1 页 共 20 页
2、职工信息浏览功能
3、查询或排序功能:(至少一种查询方式) A、按工资查询 B、按学历查询等
4、职工信息删除、修改功能
选题2:学员成绩管理系统
定义主类,要求能够完成下列功能,并在主函数中给出主菜单,供用户调用和实现:
1、输入:函数input把N学生的学号、姓名、性别、年龄、3科成绩以及平均成绩和总成绩放在一个结构体数组中,学生的学号、姓名、3科成绩由键盘输入,然后计算出平均成绩和总成绩放在结构体对应的域中。
2、插入:insert函数输入一个学生的记录,按学号的先后顺序插入该学生的全部内容。
3、排序:sort函数对所有学生按要求排序(1.学号2.总成绩),并输出。
4、查找:find函数输入一个学生的学号或姓名,找到该学生并输出该学生的全部内容。要求能查询多次。
5、删除:delete函数输入一个学生的学号或姓名,找到该学生并删除该学生的全部内容。
6、输出:函数output输出全部学生的记录。
选题3:黑白棋游戏
第 2 页 共 20 页
黑白棋,又叫反棋(Reversi)、奥赛罗棋(Othello)。 黑白棋规则:
1)两人对奕,以轮流方式持黑子与白子。
2)开辟新局者持白子,加入者持黑子,之后以轮流方式将棋子置于棋盘格子中。若无地方可下子,则跳过一回,由对方下子。
3)在提示的格子中,选择一个格子下子,当下子的位置与离最近的同色旗子中,若有其他棋子则中间的棋子变为与我方一样颜色。
4)当下满64个棋子,棋子多者为胜。
选题4:图书馆管理系统
设计要求:该系统要求能够具有图书管理和会员管理的功能,并且能够具有增加图书、查询图书、删除图书、图书借阅——借书、还书的功能,还可以具有增加会员、查询会员、删除会员、查询借书信息等功能。
设计步骤:
(1)创建图书和会员两个数据结构。 (2)通过屏幕菜单方式选择具体操作方式。 (3)完成相应的操作,并能够显示操作的结果。
设计方法:可应用所学结构和链表的基本知识实现设计要求。
选题5:图书信息管理系统设计
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:
1、图书信息录入功能(图书信息用文件保存)
第 3 页 共 20 页
2、图书信息浏览功能
3、查询或排序功能:(至少一种查询方式) A、按书名查询 B、按作者名查询 4、图书信息的删除与修改
选题6:学生选修课程系统设计
假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:
1、 课程信息录入功能(课程信息用文件保存)
#include
第 4 页 共 20 页
Int score; Int term;
Struct subjects *next; }sub;
SUB *create_from() {
SUB * head,*tail,*p; Int num, stime,ttime; Int etimr,score,term; Char name[20],kind[10]; Int size=szeof(SUB); head=tail=NULL;
printf(“输入选修课程信息:\\n”);
scanf(“%d %s %s %d %d %d %d %d”,&num,&name,&kind,&stime,&ttime,&etime,&score,&term); while(num!=0){ p=(SUB*)malloc(size); p->num=num;
strcpy(p->name,name); strcpy(p->kind,kind); p->stime=stime; p->ttime=ttime;
第 5 页 共 20 页
p->etime=etime; p->score=score; p->term=term; if(head==NULL) head=p; else
tail->next=p; tail=p;
scanf(“%d %s %s %d %d %d %d %d”,&num,&name,&kind,&stime,&ttime,&etime,&score,&term); }
Tail->next-NULL; Return head; }
Void savefile(SUB *head) { SUB *p; FILE *fp;
Fp=fopen(“subjects,txt”,”w”);
Fprintf(fp,” 课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期\\n”); for(p=head;p;p=p->next)
第 6 页 共 20 页
Fprintf(fp,”]s%9s??dd}\\n”,p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term); Fclose(fp); }
Void savefileadd(SUB *head) { SUB *p; FILE *fp;
Fp-fopen(“subjectsadd.txt”,”w”);
Fprintf(fp,” 课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期\\n”); for(p=head;p;p=p->next)
Fprintf(fp,”]s%9s??dd}\\n”,p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term); Fclose(fp); }
Void savefiledel(SUB *head) { SUB *p; File *fp;
第 7 页 共 20 页
Fp=fopen(“subiectsdel.txt,”w”)
Fprintf(fp,” 课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期\\n”); for(p=head;p;p=p->next)
Fprintf(fp,”]s%9s??dd}\\n”,p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term); Fclose(fp); }
Void prin(SUB *head) { SUB *ptr; If(head==NULL){
Printf(“没有此门课程记录!\\n”); return; }
printf(fp,” 课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期\\n”); for(p=head;p;p=p->next)
printf(fp,”]s%9s??dd}\\n”,p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term);
第 8 页 共 20 页
Void search(SUB *head) {
Int a,num; Int t=1; Char type[10]; Char ch=‘a’,ch1; SUB *ptr; While(ch!=’’){
Printf(“若要按课程性质查找请输入1,若压迫按学分查找请输入2:\\n”); Scanf(“%d”,&a); Switch(a){
Case1:printf(“请输入要查找的课程性质:\\n”); printf(fp,” 课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期\\n”); for(ptr=head;ptr;ptr=ptr->next) if(strcmp(type,ptr->kind)==0){
printf(fp,”]s%9s??dd}\\n”,p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term); t=0; }
第 9 页 共 20 页
If(t)printf(“未找到!\\n”); t=1; break;
case 2:printf(“输入要查找的课程的学分\\n”); scanf(“%d”,&num);
printf(fp,” 课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期\\n”); for(ptr=head;ptr;ptr=ptr->next) if(ptr->score==num){
printf(fp,”]s%9s??dd}\\n”,p->num,p->name,p->kind,p->stime,p->ttime,p->etime,p->score,p->term); t=0; }
If(t)printf(“未找到!\\n”); t=1; }
Printf(“继续查找请按回车键,结束请按空格键:\\n”); Ch1=getchar(); //将回车键赋ch1,否则case里面最后输入的回车键会赋给ch,因此用ch1填补。 Ch=getchar(); }
第 10 页 共 20 页
return head; }
SUB *del(SUB *head) {
SUB *p1,*p2; Char ch=’a’,ch1; Int num; While(ch!=’’){
Printf(“请输入要删除的课程号:\\n”); Scanf(“&d”,&num); If(head->num==num){ p2=head; Head=head->next; free(p2); }
if(head==NULL) return NULL; p1=head; p2=head->next; while(p2){ if(p2->num==num){ p1->next=p2->next;
第 11 页 共 20 页
free(p2); }
Else p1=p2; P2=p1->next; }
Printf(“继续查找请按回车键,结束请按空格键:\\n”); Ch1=getchar(); //将回车键赋ch1,否则case里面最后输入的回车键会赋给ch,因此用ch1填补。 Ch=getchar(); }
Return head; }
Void choose(SUB *head) {
SUB *p,*q; Int a[5];
Int num,total=0,i=0,j;
Printf(“输入要选修的课程的编号,编号之间以空格分开,输完后以0结束\\n”); scanf(“%d”,&num); while(num!=0){
for(p=head;p;p=p->next)
第 12 页 共 20 页
if(p->num==num){ total=total+p->score; a[i]=num; i++; }
Scanf(“%d:,&num); }
If(total<60) printf(“选修总分未达到60,选修失败\\n”); Else{
Printf(“选修成功:\\n”); Printf(“你选修的可称为:\\n”); For(j=0;jnext) If(q->num==a[j]) Printf(“%s”,q->name); Printf(“\\n”);
Printf(“**********\\n”); Printf(“09041232 王吴奇 \\n”); Printf(“**********\\n”); } }
第 13 页 共 20 页
Void main() {
SUB *head=create_form(); Savefile(head); Prin(head); Search(head); Head=insert(head);
Insert 的的返回值重新赋给head! savefileadd(head);
printf(“修改后的信息为:\\n”); prin(head); head=del(head);
del的的返回值重新赋给head! savefileadd(head);
printf “修改后的信息为:\\n”); prin(head); choose(head); }
2、课程信息浏览功能
3、查询功能:(至少一种查询方式)
第 14 页 共 20 页
A、按学分查询 B、按课程性质查询 4、学生选修课程
选题7:飞机订票系统设计
假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。试设计一民航订票系统,使之能提供下列服务:
1、航班信息录入功能(航班信息用文件保存) 2、航班信息浏览功能
3、查询航线:(至少一种查询方式) A、按航班号查询 B、按终点站查询 4、承办订票和退票业务
选题8:年历系统
功能要求:
1)输入任一年将显示出该年的所有月份日期,对应的星期 2)注意闰年情况 其显示格式要求如下: 1)月份:中文英文都可以,
2)下一行显示星期,从周日到周六,中英文都可以
3)下一行开始显示日期从1号开始,并按其是周几实际情况与上面的星期数垂直对齐
第 15 页 共 20 页
当输入2004显示如下: Input the year:2004 Input the filename:a
The calendar of the year2004.
选题9:班级通讯录程序
设计一个实用的小型通信录程序,具有查询和删除功能,并且能打开或修改指定文件。
功能设计要求: 1、建立文件
(1)存储文件可以使用默认文件名或指定文件名.
(2)可以不保存输入记录,但需要确认是否保存输入记录。 2、文件的存取和显示 (1)可以单独存取文件。
第 16 页 共 20 页
(2)可以随时显示内存中记录的全部内容。 (3)可以直接存取默认文件或指定的文件。 3、删除记录
(1)可以按“姓名”的方式删除记录并更新内存内容。 (2)能给出被删除记录的信息。
(3)如果没有要删除的信息,输出没有找到的信息。 4、查询记录
(1)可以按“姓名”方式查询记录。 (2)能给出查询记录的信息。
(3)如果查询的信息不存在,输出“没有找到”的信息。
选题10:职工信息管理系统
设计要求实现如下功能:
(1)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、参加工作时间和年龄(必须计算得到)。
(2)根据职工信息表,建立只含有姓名和年龄的职工信息简表。(可选功能)
(3)抽取并计算职工的平均年龄。
(4)检索(查找)指定信息。(如按姓名检索、按年龄检索) (5)参考界面如下:
1、增加一位教师记录 2、增加一位工人记录 3、显示全部职工记录 4、计算教师平均年龄 5、计算工人平均年龄 第 17 页 共 20 页
6、删除一个教师 7、删除一个工人 8、按姓名检索所有信息 9、结束程序运行 选题11:学生成绩统计管理
主要功能:
1、输入一个班级的学生的基本信息(包括学好,姓名,性别,5门课程成绩)。
2、按姓名或者学号查找、修改、删除和保存各个学生的信息。 3、计算每个学生各门功课总分和平均分,按学号或总分排序输出每个学生的基本信息及总分、平均分和名次。
4、计算全班各门功课的平均分,显示每门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩。
5、显示每门科目中,成绩在90分以上的学生信息,以及每门科目中不及格的学生信息。
6、设置系统登陆密码,只有正确输入密码方可进入管理系统。课更改和保存登陆密码。
选题12:工资管理系统
设计说明:
(1)某公司主要有四类人员:经理、技术员、销售员和销售经理。要求存储这些人员的职工编号、姓名、年龄、性别、级别、月工资等信息。
第 18 页 共 20 页
(2)程序要具有对所有人提升级别的功能。所有人员的初始级别均为1级,然后系统可以根据输入进行升级,经理升为4级,销售经理为3级,技术员为2级,销售员仍为1级。
(3)月薪的计算方法: 1、经理:固定月薪8000元。
2、技术员:工作时间×小时工资(100元/小时)。 3、销售员:销售额×4%提成。
4、销售经理:底薪(5000)+销售额×0.5%提成。 2、设计要求:
(1)职工编号在输入人员信息时生成,每输入一个人员信息编号顺序加1。
(2)程序对所有人员有提升级别的功能。 (3)能够按照不同身份进行月薪的计算。 (4)能按姓名或者编号查找各类人员的信息。 (5)能够修改/删除各类人员的信息。 (6)能够显示所有人员的信息。 3、总体界面的设计
程序运行要显示菜单用于选择功能,各项菜单的功能通过调用相应的函数实现。菜单设计如下:
(1)输入信息 (2)查询信息 (3)修改信息
第 19 页 共 20 页
(4)删除信息 (5)显示所有信息 (6)退出系统
第 20 页 共 20 页
正在阅读:
C语言与数据结构期末考核选题03-25
逻辑通用讲义(不带真题版)09-19
描写胡萝卜的作文400字07-05
2018-2019学年最新冀教版小学数学四年级上册《亿以上数的读写法》教学设计(评奖教案)09-01
朗讯传输设备ADM16-1简要介绍10-20
机关卫生检查评比办法06-09
2019-在交通系统共产党员先进事迹报告会上的讲话-范文模板(3页)11-29
思想政治理论课教育主体性缺失的研究11-29
产品生产测试和验证计划模板讲解学习05-28
2016安徽省公务员面试真题及解析01-13
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数据结构
- 选题
- 期末
- 考核
- 语言
- 高中数学教学案例
- 全国高等教育自学考试精神障碍护理学试题课程代码:03009(11)
- 湖北省工业化和城镇化对农民收入影响的实证研究
- 深圳市医药科技研究所名录2018版184家 - 图文
- 江西省2018年中考数学试题及答案解析(Word版)
- 中原工学院access数据库上机题2
- 黄山市普通高中2018届高三11月八校联考文科数学试卷含答案
- 水稻二化螟综合防治要点
- MBA联考逻辑:联言、选言命题和推理
- 没业绩没客户的销售员必须读!!
- 中国古代史重点复习内容
- 改革开放后国民经济与道德水平的发展
- 学四到六年级四字词语
- 每月会计工作总结
- 苏教版小学语文四年级上根据课文内容填空(含答案)
- 新疆2016年上半年资产评估师《资产评估》:第六章无形资产评估考
- 我国引进外资的区域差异分析
- 3D电影为何难挽北美市场萧条
- 某环路某路立交施工组织设计方案
- 正当防卫是我国刑法的一项重要法律制度