1、- 1 -高级语言程序设计课程设计课题表一、A 类1. 职工信息管理系统设计职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复) 。试设计一职工信息管理系统,使之能提供以下功能:1、职工信息录入功能(职工信息用文件保存)输入2、职工信息浏览功能输出3、职工信息查询功能算法查询方式: 按学历查询、按职工号查询、条件组合查询职工信息删除、修改功能(可选项)2. 图书信息管理系统设计图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:1、图书信息录入功能(图书信息用文件保存)输入2、图书信息浏览功能输出3、图
2、书信息查询功能算法查询方式:按书名查询、按作者名查询、条件组合查询图书信息的删除与修改(可选项)3. 图书管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等功能描述:1、新进图书基本信息的输入。2、图书基本信息的查询。3、对撤消图书信息的删除。- 2 -4、为借书人办理注册。5、办理借书手续。6、办理还书手续要求:使用文件方式存储数据。4. 实验设备管理系统设计实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。主要功能:1、能够完成对设备的录入和修改2、对设备进行分类统计3
3、、设备的破损耗费和遗损处理4、设备的查询要求:使用文件方式存储数据。5. 学生信息管理系统设计学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:1、系统以菜单方式工作2、学生信息录入功能(学生信息用文件保存)输入3、学生信息浏览功能输出4、学生信息查询功能按学号查询、按姓名查询、5、学生信息的删除与修改(可选项)要求:使用文件方式存储数据。6. 学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。主要功能:- 3 -(1) 能按学期、按班级完成对学生成绩的录入、修改(2
4、) 能按班级统计学生的成绩,求学生的总分及平均分(3) 能查询学生成绩,不及格科目及学生名单(4) 能按班级输出学生的成绩单要求:使用文件方式存储数据。7. 学生选修课程系统设计假定有 n 门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于 60)自由选课。试设计一选修课程系统,使之能提供以下功能:1、系统以菜单方式工作2、课程信息录入功能(课程信息用文件保存)输入3、课程信息浏览功能输出4、课程信息查询功能算法查询方式:按学分查询、按课程性质查询、5、学生选修课程(可选项)8. 学
5、生成绩记录簿设计编制一个 C 语言成绩记录簿,每个学生信息包括:学号、姓名、C 语言成绩。具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的成绩;(3)按学号或姓名查询成绩;(4)添加成绩记录;(5)修改指定姓名或学号的学生的成绩并可存盘;(6)显示输出 60 分以下、6079、8089 、90 分以上各分数段的学生信息(可选项 )。- 4 -9. 学生籍贯信息记录簿设计编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4
6、)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息(可选项);10. 销售管理系统设计某公司有四个销售员(编号:1-4) ,负责销售五种产品(编号:1-5) 。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴 1 张便条。试设计一个便条管理系统,使之能提供以下功能:1、便条信息录入功能(便条信息用文件保存)输入2、收集到了上个月的所有便条后,读取销售情况1)计算每个人每种产品的销售额。2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对
7、这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)11. 成绩管理系统设计现有学生成绩信息,内容如下姓名 学号 语文 数学 英语 张明明 01 67 78 82李成友 02 78 91 88. 请编写一系统,实现学生信息管理,软件的功能要求:- 5 -(1)信息维护:要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息(2)信息查询:要求:查询时可实现按姓名查询、按学号查询(3)成绩统计:要求:A 输入任意的一个课程名(如数学)和一个分数段(如 60-70) ,统计出在此分数段的学生情况。12.
8、通信录管理系统设计设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。功能要求(1)查看功能:选择此功能时,列出下列三类选择。A 办公类 B 个人类 C 商务类 ,当选中某类时,显示出此类所有数据中的姓名和电话号码)(2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类 B 个人类 C 商务类) 、电子邮件) 。例如杨春 13589664454 商务类 当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过 15 条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。(3)拔号功能:能显示出通信录中所
9、有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。 (声音输出可选)(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。13. 单项选择题标准化考试系统设计功能要求:1、用文件保存试题库。 (每个试题包括题干、4 个备选答案、标准答案)- 6 -2、试题录入:可随时增加试题到试题库中3、试题抽取:每次从试题库中可以随机抽出 N 道题( N 由键盘输入)4、答题:用户可实现输入自己的答案5、自动判卷:系统可根据用户答案与标准答案的对比实
10、现判卷并给出成绩。14. 实现简易英文电子词典的功能。15网络域名管理系统功能要求:1、能按序将域名及相关信息保存到文件中2、具有查询域名的功能,根据输入的域名查询该域名的对应的网站名称。3、具有删除、插入和修改功能。16银行账户信息管理系统功能要求:1、具有查询帐户余额的功能2、具有简单的存取款功能3、能够实现帐户的插入、删除和修改4、具有帐户信息的保存功能17简单文件管理系统功能要求:能够实现命令 dir、rename、del 、move,完成对文件的查看、重命名、删除和移动。二、B 类1. 背包问题:已知 n 个物品的重量依次为 W1W2Wn,一个背包可以容纳的物品重量为 w,设计程序将
11、这些物品放入背包,要求所放置的物品的总重量正好为 w。2. 设计程序以打印任意一年的日历,要求每个季度的三个月并排打印,每个月的一个星期在一行打印,格式如下:- 7 -3. 设计一套有关链表程序所需要的函数,提供建立链表、求链表中的结点数、逐个显示链表元素的值、按序号查询结点、按值查询结点、在指定序号的位置上插入结点和删除指定序号的结点等功能。在此基础上编写应用程序。4. 设计一个学生注册管理系统,能对学生注册信息(学号、姓名、性别、出生年月、所在系、专业、电话号码)进行查询(要求可以使用模糊查询和条件组合查询) 、修改、增加、删除和存储等。5. 设计一个学生成绩管理系统,能对学生成绩信息(学
12、号、课程名称、成绩)进行查询(要求可以使用模糊查询和条件组合查询) 、修改、增加、删除和存储等。因为一个学生会选修多门课程,所以一个学生会有多条成绩信息。6. 设计一个课程信息管理系统,能对课程信息(课程编号、课程名称、学分、先修课号、任课教师)进行查询(要求可以使用模糊查询和条件组合查询) 、修改、增加、删除和存储等。7. 设计一个图书管理系统,能对图书信息(图书编号、书名、ISBN、出版社、作者、价格)进行查询(要求可以使用模糊查询和条件组合查询) 、修改、增加、删除和存储等。8. 学生通讯录管理系统设计设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、年 号1 2 34
13、 5 67 8 910 11 12- 8 -家庭地址、邮政编码、电话号码等等),通信录数据类型定义为结构体类型。1)主要功能:(1) 能建立、修改和增删学生通讯录(2) 能够按多种方式进行查询2)要求:界面友好,易于操作,采用文件存储数据。9. 职工工作量统计系统设计编写有一个程序,该程序输入职工工号和完成的产品数量,程序允许同一职工有多次输入,由程序对其完成的产品数量实现累计。程序按完成数量对他们排序,并确定他们的名次。按完成的产品数量由多到少的顺序,输出名次、同一名次的职工人数及他们的工号(工号由小到大顺序输出)。要求程序用有序链表存储数据信息。10. 模拟时钟程序要求:能准确地利用数字显
14、示日期和时间,在屏幕上显示一个运行的电子时钟,按任意键时程序退出。11. 编程实现文件的基本操作:1)显示当前目录下有哪些文本文件;2)由用户输入选中的一个或多个文件名;3)由用户选择文件操作功能:复制、删除、移动(到指定文件夹下) ,并实现相应的功能;三、C 类1. 设计一个学生注册管理系统,能对学生注册信息(学号、姓名、性别、出生年月、所在系、专业、电话号码)进行查询、修改、增加、删除和存储等。2. 设计一个学生成绩管理系统,能对学生成绩信息(学号、课程名称、成绩)进行查询、修改、增加、删除和存储等。因为一个学生会选修多门课程,所以一个学生会有多条成绩信息。3. 设计一个课程信息管理系统,
15、能对课程信息(课程编号、课程名称、学分、先修课号、任课教师)进行查询、修改、增加、删除和存储等。4. 设计一个图书管理系统,能对图书信息(图书编号、书名、ISBN、出版社、作者、价格)进行查询、修改、增加、删除和存储等。- 9 -5. 设计一种结构能表示最多 1000 位的大整数(正、负均可) ,并实现这类数的加、减运算。6. 设计一种结构能表示最多 1000 位的大整数(正、负均可) ,并实现这类数的乘运算。7. 已知一类用于表示集合的数组的元素是递增有序的,试分别编程实现这类集合的交集和并集。8. 设计程序将两个递增有序的数组合并为一个递增有序的数组。9. 编程实现将选中的若干个文件的内容
16、依次复制插入到一个新文件 new.txt 中。10. 剧场座位使用 N*N 的二维数组表示,元素值为 1,代表票已售出,为 0 代表尚未售出,用户要求购买剧场中一块连续的 num*num 个座位,返回座位的起始行列坐标,找不到返回1。11. 判断一个串中的三类括号( 是否匹配。12. 函数 f(char *s,char del),将非空字符串 str 分割成若干个子字符串并输出,del 表示分割时的标志字符。如:str 为“33123333435” ,del 的值为3 ,调用此函数后,将输出 3 个子字符串,分别为“12” , “4”, “5”。13. 13 个人围成一圈,从第一个人开始顺序报
17、数 1,2,3。凡报到 3 者退出圈子。找出最后留在圈子中的人原来的序号。 (用数组分别实现) 。14. 设计一个设备信息管理系统,能对设备信息(设备编号、设备名称、生产厂商、购买日期)进行查询、修改、增加、删除和存储。15. 设计一个教室信息管理系统,能对教室信息(教室编号、所在建筑名称、座位数)进行管理,可以实现按教室编号或所在建筑名称查询教室信息,并能对教室信息进行修改、增加、删除和存储。16. 设计销售管理系统 某公司有四个销售员(编号:1-4) ,负责销售五种产品(编号:1-5) 。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:销售员的代号 、产品的代号 、这
18、种产品的当天的销售额。 每位销售员每天可能上缴 0-5 张便条。假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定) ,进行如下处理。- 10 -1、计算上个月每个人每种产品的销售额。 2、按销售额对销售员进行排序,输出排序结果(销售员代号)3、统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额) 4、输出统计报表 销售统计报表 产品代号 销售之和 销售员代号 1 2 3 4 5 1 2 3 4 每种产品之和 总和四、D 类(画出流程图)1. 设计程序在屏幕上显示一个文本文件的内容,要求:将所有大写英文字母改为小写字母输出,
19、其它字符原样输出。2. 输入一个正整数,再输入任意 n 个整数,计算并输出这 n 个整数的和及平均值。使用动态内存分配方法为这 n 个整数分配空间。3. 编程实现由用户输入若干字符串,使用指向若干字符串的指针数组,实现字符串的字典序输出。4. 统计用户输入的一行字符串(为正常的英文语句)中的单词个数。5. 构建简单的手机通讯录。6. 实现一个简易职工工资管理系统,工资项目包括编号,姓名、基本工资、奖金、保险、实发工资。输入一个正整数,再输入 n 个职工前 5 项工资,计算其实发工资。职工工资信息用文件保存。7. 输入 10 个学生的学号、姓名和成绩,输出学生的成绩等级和不及格人数。每个学生的记
20、录包括学号、姓名、成绩和等级。要求定义和调用函数,该函数实现根据学生成绩给出等级并统计不及格人数和优秀(A )人数。85100 为 A,7084 为 B,6069 为 C,059 为 D。- 11 -8. 使用程序模拟汉诺塔运行过程,由用户输入盘子数,输出搬运步骤。9. 建立一个学生成绩信息的单向链表,学生记录按学号由小到大排列,要求实现对成绩信息的插入、修改、删除和遍历。10. 程序实现个人小金库的管理。11. 成绩记录簿。编制一个 C 语言成绩记录簿,每个学生信息包括:学号、姓名、C 语言成绩。具体功能:创建信息链表并以磁盘文件保存12. 建立一个存放图书信息的单向链表,图书记录按书号由小
21、到大排列,要求实现对图书信息的插入、修改、删除和遍历。13. 链表的合并和复制,有两个单向链表,头指针分别为 pList1 和 pList2,链表中每个结点信息为学号、姓名、年龄和成绩。 (1)编写函数把链表 pList2合并到 链表 pList1 中;(2)编写函数将合并后的链表复制到新链表 New上(链表结点信息与上面相同) 。14. 编程实现两个文本文件内容的复制,文件的名称由输入确定。15. 输入若干个正整数(输入-1 为结束标志) ,要求按输入数据的逆序建立一个双向链表并输出。16. 输入若干个正整数(输入-1 为结束标志) ,建立一个双向链表,将其中的偶数结点删除后输出。17. 编写程序读取一个指定的文本文件,显示在屏幕上,如果有大写字母,则改成小写字母再输出,并统计行数。根据回车符统计文件的行数,要处理的文件名通过键盘输入字符串指定。五、自选题目(由教师根据情况决定其难度等级)