C语言课程设计题目
c语言程序设计课程设计选题 (1)
《C语言程序设计》课程设计课题表一、A类1.职工信息管理系统设计2.职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:3.1、职工信息录入功能(职工信息用文件保存)--输入4.2、职工信息浏览功能--输出5.3、职工信息查询功能--算法6.查询方式:按学历查询、按职工号查询、条件组合查询7.职工信息删除、修改功能(可选项)8.图书信息管理系统设计9.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
10.试设计一图书信息管理系统,使之能提供以下功能:11.1、图书信息录入功能(图书信息用文件保存)--输入12.2、图书信息浏览功能--输出13.3、图书信息查询功能--算法14.查询方式:按书名查询、按作者名查询、条件组合查询15.图书信息的删除与修改(可选项)16.图书管理系统设计17.图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等18.功能描述:19.1、新进图书基本信息的输入。
20.2、图书基本信息的查询。
21.3、对撤消图书信息的删除。
22.4、为借书人办理注册。
23.5、办理借书手续。
24.6、办理还书手续25.要求:使用文件方式存储数据。
26.实验设备管理系统设计27.实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
28.主要功能:29.1、能够完成对设备的录入和修改30.2、对设备进行分类统计31.3、设备的破损耗费和遗损处理32.4、设备的查询33.要求:使用文件方式存储数据。
34.学生信息管理系统设计35.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:36.1、系统以菜单方式工作37.2、学生信息录入功能(学生信息用文件保存)--输入38.3、学生信息浏览功能--输出39.4、学生信息查询功能--按学号查询、按姓名查询、40.5、学生信息的删除与修改(可选项)41.要求:使用文件方式存储数据。
c语言课程设计参考题目
c语言课程设计参考题目
以下是一些可以作为C语言课程设计参考的题目:
1. 编写一个简单的C程序,实现一个计算器的功能,包括按键输入、按位运算、结果输出等。
2. 设计一个C语言的数据结构,例如链表、树、图等。
3. 实现一个简单的程序,用于检测一个字符串是否包含某个特
定的字符集。
4. 设计一个C程序,实现一个文件管理系统,包括文件读取、修改、删除、创建等操作。
5. 编写一个C程序,模拟一个简单的计算机操作系统,例如进程
管理、内存管理等。
6. 设计一个C程序,用于处理一个字符串,包括查找特定字符、
替换特定字符、翻译文本等。
7. 实现一个简单的编译器,用于编译C程序。
8. 设计一个C程序,用于实现一个网络应用程序,包括用户登录、数据发送、数据接收等。
9. 编写一个C程序,用于实现一个简单的图形用户界面,例如窗口、菜单、按钮等。
10. 设计一个C程序,用于处理一个音频播放器,包括音频读取、播放、暂停、中断等。
这些题目都是相对来说比较难的,但也都是C语言编程中比较经
典的应用场景。
通过这些题目的训练,可以帮助学生更好地掌握C语
言的编程思想和技巧。
c语言课程设计参考设计题目
c语言课程设计参考设计题目一、教学目标本课程旨在让学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单C程序的能力,使学生了解编程思想,培养学生分析问题和解决问题的能力。
1.理解C语言的基本语法和规则。
2.掌握基本数据类型、运算符和表达式。
3.学会使用控制结构进行程序流程控制。
4.理解函数的定义和调用。
5.熟悉数组、字符串和指针的概念及应用。
6.能够使用C语言编写简单的程序。
7.能够阅读并理解简单的C语言程序。
8.能够运用C语言解决实际问题。
情感态度价值观目标:1.培养学生对编程的兴趣和热情。
2.培养学生勇于探索、积极思考的精神。
3.培养学生团队协作和互相学习的良好习惯。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体安排如下:1.第一章:C语言概述1.1 C语言的发展历史1.2 C语言的特点1.3 C语言的编译过程2.第二章:基本数据类型和运算符2.1 数据类型2.2 常量和变量2.3 运算符和表达式3.第三章:程序流程控制3.1 顺序结构3.2 选择结构3.3 循环结构4.第四章:函数4.1 函数的定义和声明4.2 函数的参数和返回值4.3 函数的调用5.第五章:数组、字符串和指针5.2 字符串6.第六章:编程实践6.1 简单程序设计6.2 综合程序设计三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法。
在教学过程中,注重理论与实践相结合,通过实例分析和编程实践,使学生更好地理解和掌握C语言的知识。
同时,鼓励学生积极参与讨论,培养学生的团队协作和沟通能力。
四、教学资源1.教材:《C语言程序设计》2.参考书:《C Primer Plus》、《C和指针》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境5.网络资源:在线编程平台、论坛、博客等五、教学评估本课程的评估方式包括平时表现、作业、考试等。
c语言课程设计题目
附录1 供选择的C语言程序课程设计题目题目1:年历显示。
功能要求:(1)输入一个年份,输出是在屏幕上显示该年的日历。
假定输入的年份在1940-2040年之间。
(2)输入年月,输出该月的日历。
(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。
题目2:学生学籍管理系统用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。
功能要求:(1)系统以菜单方式工作。
(2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;(3)删除已知学号的学生信息;(4)查找已知学号的学生信息;(5)按学号,专业输出学生籍贯表。
(6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。
题目3:通讯录程序设计设计一个实用的小型通讯录程序,具有添加,查询和删除功能。
由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。
电话号码可由字符和数字组成。
实现功能:(1)系统以菜单方式工作(2)信息录入功能(3)信息浏览功能(4)信息查询功能(5)信息修改功能(6)系统退出功能要求:1、可以一个宿舍集体合作来完成。
功能函数分配到位,一个人负责主函数连接各功能函数。
2、每一个设计里都需要定义调用函数,源程序不能少于150行;3、不能只在网上下载,原封不动拷贝,需要自己改动下,满足自己设计的功能要求,功能可以简化。
4、形式参考我提供的报告范本写设计报告。
5、课程设计报告在18周周5下午交。
同时每人交一份pdf电子版(TC里不能显示中文,可以去VC环境里进行)。
C语言课程设计题目
C语言课程设计题目西南大学周竹荣zhouzr@题目1 时钟描述:在桌面窗口中显示一个模拟时钟。
技术路线:编写控制台程序,入口为main()函数。
用C语言时间函数获取当前时间,Graphic.h(注:在Visual studio 2010中,用EasyX程序包代替Graphic.h)。
在窗口中绘制一个模拟时钟。
/samples/教师提供:介绍EasyX的基本原理。
提供程序基本框架。
该基本程序可运行,且具有如下功能:1、绘制钟面;2、绘制时分秒指针;3、秒针的行走模式为一秒钟跳动一格图1.1 网上参考的时钟程序学生任务:读懂教师提供的程序,了解EasyX的基本原理;了解绘图坐标系;了解需要用到的时间和图形函数;完成以下任务:1)在钟面上增加日期窗口;2)将秒针的行走模式改为连续滑动模式;3)设计出更漂亮的钟面、时针、分针、秒针;4)设计出可以更换的钟面(模块化编程),一个钟面一个模块;5)为时钟增加闹钟功能(可选);6)为时钟增加秒表功能(可选);最后撰写文档。
文档至少包括问题描述、数据结构、算法流程图、源代码、运行截图。
题目2 校历描述:生成西南大学校历。
技术路线:编写控制台程序,入口为main()函数。
用户输入校历的参数,生成校历,保存在一个文本文件中。
教师提供:校历格式,日期星期计算算法。
学生任务:完成以下任务:1)生成西南大学任意学年的三个学期的校历;2)编制出教学周序号;3)标志出节假日;4)建立文本文件,保存校历;最后撰写文档。
文档至少包括问题描述、数据结构、算法流程图、源代码、运行截图。
题目3生理节律预测器描述:生理节律预测器。
技术路线:编写控制台程序,入口为main()函数。
用户输入出生日期,系统自动生成节律曲线图。
教师提供:节律计算公式,正弦曲线绘制算法。
图3.1 网上的节律计算器图3.2 正弦图形绘制学生任务:完成以下任务:1)智力节律曲线;2)情绪节律曲线;3)体力节律曲线;4)以文字方式对用户近期的智力、情绪、和体力进行建议;5)以模块化的方式编程,将箭头绘制,曲线绘制设计成模块,供反复调用。
c语言课程设计大赛题目
c语言课程设计大赛题目一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生独立编程和解决问题的能力。
具体目标如下:1.知识目标:(1)理解C语言的基本语法和编程规范;(2)掌握常用的数据类型、运算符和表达式;(3)熟悉函数的定义和调用;(4)了解数组、指针和字符串的基本操作;(5)掌握基本的数据结构和算法。
2.技能目标:(1)能够使用C语言编写简单的程序;(2)具备基本的编程能力和问题解决能力;(3)能够阅读和理解C语言的程序代码;(4)掌握调试和优化程序的方法。
3.情感态度价值观目标:(1)培养学生的团队合作意识和沟通能力;(2)激发学生对计算机科学的兴趣和好奇心;(3)培养学生的创新思维和自主学习能力。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.C语言的基本语法和编程规范;2.数据类型、运算符和表达式的使用;3.函数的定义和调用,包括递归函数和调用约定;4.数组、指针和字符串的基本操作和内存管理;5.基本的数据结构,如线性表、栈和队列;6.常见的排序和查找算法,如冒泡排序、选择排序和二分查找;7.编程实践,包括数据结构和算法的应用。
三、教学方法为了实现课程目标,本课程将采用多种教学方法,包括:1.讲授法:通过讲解和示范,使学生掌握C语言的基本语法和编程思想;2.讨论法:引导学生进行问题讨论和思考,培养学生的团队合作意识和沟通能力;3.案例分析法:通过分析实际案例,使学生了解C语言在实际应用中的方法和技巧;4.实验法:让学生通过动手实践,加深对C语言编程的理解和掌握。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:选用权威、实用的C语言教材,如《C程序设计语言》;2.参考书:提供相关的参考书籍,如《C Primer Plus》、《C和指针》等;3.多媒体资料:制作PPT、教学视频等多媒体资料,帮助学生更好地理解和掌握知识;4.实验设备:提供计算机实验室,让学生进行编程实践和实验操作。
C语言课程设计-推箱子游戏-毕业论文2.doc
X x 工业大学《C++语言程序设计》课程设计(论文)题目:推箱子院(系):软件学院专业班级:软件工程103班学号:学生姓名:指导教师:教师职称:讲师起止时间:2012.12.20-2012.12.31课程设计(论文)任务及评语目录第1章课程设计目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1 C++语言程序设计------《推箱子》问题分析 (2)2.1.1 功能分析 (2)2.1.2 算法设计及程序设计中技术重点 (2)2.2 程序中涉及的类的UML类图和主要函数流程图或框图。
(5)2.3 程序源代码 (7)2.4 程序的实现 (10)第3章课程设计总结 (13)参考文献 (14)第1章课程设计目的与要求1.1 课程设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。
通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《C++语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握面向对象程序设计的方法。
(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。
(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。
1.2 课程设计的实验环境硬件要求能运行Windows 操作系统的微机系统。
C语言课程设计参考题目
C语言课程设计参考题目C语言课程设计参考题目一、基本要求题目1、一司机出车祸后驾车逃离现场,第一位目击者记得车牌号前两位数字相同,且后两位数字也相同;第二位目击者是一位数学家,他看出车牌号是四位完全平方数。
试编程推算肇事车的车牌号。
2、有17个人围成一圈,从0号的人开始报数,凡报到3的倍数的人离开圈子,然后再数下去。
直到最后只剩下一个人为止。
问此人原来的位置是多少号。
3、编写一个程序,求3X4数组的转置矩阵。
要求在main函数里读数,在change 函数里把矩阵转置。
4、编写函数,求取两个整数m,n的最大公约数和最小公倍数。
5、用指向指针的方法对n个整数排序并输出。
要求将排序单独写成一个函数。
N 个整数在主函数中输入。
最后在主函数中输出。
6、有n个学生,每个学生的数据包括学号、姓名、年龄和两科成绩。
请编程用结构类型的数据处理方式实现如下目标:(1)在main 函数中输入原始数据;(2)在count 函数中输出各学生的总分和平均分;(3)输出总分最高的学生;(4)编写sort函数将各学生的数据按总分降序输出。
7、编写求子串函数substr(s,n1,n2),在串s中从n1位置开始取n2个字符的子串8、文件加密程序:将待加密文件以二进制打开,读入32个字节,分别与口令异或,在将4、5、6三个字分别与0xaaaa异或,即完成加密,执行第二次就解密9、编写字串str1 中找出所有小写字母转成大写字母,大写字母转成小写字母后,结果依次存入字符数组 str2 中,str1 不变仍为原字串的程序。
例如,字符串str1 为 "91A2BC. a1bc",调用函数 fun 后,字符数组str2将存入"91a2bc. A1BC",str1仍然是"91A2BC. a1bc"。
10、编写一个将某个范围在-32768~32767之间的整数转换为R进制(R=2,5,8,16)的通用程序。
(完整版)C语言毕业课程设计题目汇总
目录杨顺民题目 ...................................................................................................................................................题目1:年历显示 ........................................................................................................................................题目2:小学生测验 ....................................................................................................................................题目3 运动会比赛计分系统 ......................................................................................................................题目4:学生学籍管理系统(限2人) ........................................................................................................题目5:排班系统 ........................................................................................................................................题目6:通讯录程序设计(限2人) ............................................................................................................题目8:机房收费管理系统(限2人) ........................................................................................................题目9:班级成绩管理系统(限2人) ........................................................................................................题目10:机房机位预定系统(限2人) ......................................................................................................题目11:班级档案管理系统(限2人) ......................................................................................................题目12:职工工资管理系统 (限2人) ....................................................................................................题目13:工资纳税系统 ..............................................................................................................................题目14:歌手比赛系统 ..............................................................................................................................题目15:用英文单词模拟数学计算 ..........................................................................................................题目16:C语言关键字中英翻译机 ...........................................................................................................题目17:用C语言设计一个简单的计算器,要求能够对输入的数 ......................................................题目18:计算24游戏 ................................................................................................................................题目19:输入盘子数 ..................................................................................................................................题目20:多项式加法的实现 ......................................................................................................................题目21:实现带有括号的四则运算 ..........................................................................................................题目22:线性方程组求解 ..........................................................................................................................题目23:大整数的四则运算 ......................................................................................................................题目25:四边形计算 ..................................................................................................................................题目26:设计一个模拟时间条的程序 ......................................................................................................题目27:文件加密 ......................................................................................................................................题目28:猜数游戏(掌握程序结构及随机函数应用) ..........................................................................题目29:字符串处理函数 ..........................................................................................................................题目30:进制转换 ......................................................................................................................................题目31:判断一个数是否是数组中的成员(用二分法查找) ..............................................................题目32:位数大小排序(掌握数值排序算法) ......................................................................................题目33:请编写函数fun ...........................................................................................................................题目34:矩阵乘法(数值求解算法) ......................................................................................................题目35:求所有不超过200的N值 ..........................................................................................................题目36:插入后自动排序(掌握用穷举法进行比较、交换) ..............................................................题目37:用梯形法求定积分(数值求解算法) ......................................................................................题目38:一个奇异的三位数(穷举算法) ..................................................................................................题目39:回文数的形成 ..............................................................................................................................题目40:人机猜数游戏 ..............................................................................................................................题目41:条件编译 ......................................................................................................................................题目42:输出九九乘法口诀 ......................................................................................................................输出九九乘法口决表(循环结构的应用,表的格式自己设定) ...............................................................题目43:设计函数 ......................................................................................................................................题目44:统计符号 ......................................................................................................................................尹四清题目 ...................................................................................................................................................李玉蓉题目 ...................................................................................................................................................题目2:排班系统 ........................................................................................................................................题目4:个人图书管理系统 ........................................................................................................................题目5:数组元素的插入与逆置 ................................................................................................................题目要求: ...................................................................................................................................................把一个整数插入到按由小到大排列的数组中,插入后仍然保持由小到大的顺序排列,并将得到的数组逆置成由大到小排序。
c语言课程设计
课程设计任务书一、设计题目(一)学生成绩排名(二)根据条件进行学生成绩排名(三)链表的操作(链表的建立,访问,删除链表指定结点,增加结点)(四)学生成绩文件管理(五)一个综合系统(学生成绩管理系统)二、主要内容(一)学生成绩排名先采用选择法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此成绩按照排序规律插入已排好序的学生成绩数组,最后将排好序的成绩单进行反序存放。
(二)根据条件进行学生成绩排名在函数中进行10个学生成绩从高到低排名,再改进函数,进行n个学生成绩从高到低排名, 排名方式根据函数的style参数进行,如style为‘a'按升序排,style为' d ' 按降序排(a:ascending 升,d:descending 降)。
编写多个不同函数,使之能实现不同的排序算法(3种以上),再编写一个通用输出函数,(要求用函数指针做参数)能分别打印不同排序算法的结果。
(三)链表的操作(链表的建立,访问,删除链表指定结点,增加结点)建立一个动态链表,将学生数据(学号,成绩)存入链表结构中,实现链表的访问(求学生成绩的平均分,找到最高分,最低分,将其数据输出)。
删除指定学号的学生数据,对学生数据进行排序,分别在链表头部,中间,末尾插入学生数据。
(四)学生成绩文件管理定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩,输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩,输出三门课程的平均分数最高的学生的学号、姓名及其平均分,将10个学生的相关数据,存入文件中,再从文件中读出,按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件中,再从文件中读取第 1 ,3 , 5 ,7,9个学生的数据。
(五)学生成绩管理系统设计:数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。
要求具有以下功能:(1)添加、删除任意个记录。
C语言课程设计--猜数字游戏
课程设计报告课程名称C语言程序设计课题名称猜数字游戏专业机械设计及其自造化班级1185班学号201113090516姓名指导教师王颖2 0 1 2年6 月2 2 日湖南工程学院课程设计任务书课程名称C语言程序设计课题猜数字游戏专业班级机械设计1185 班学生姓名学号201113090516指导老师王颖审批王颖任务书下达日期2012 年6 月 1 日任务完成日期2012 年6 月22 日设计课题四:猜数字游戏一、问题描述:该游戏可以由程序随机产生或由用户输入四个0到9之间的数字,且不重复。
玩游戏者通过游戏提示输入八次来匹配上面所输入的数字。
A表示位置正确且数字正确,B表示数字正确而位置不正确。
二、功能要求:1、本游戏显示这样的菜单:(1)随机产生数据(2)用户输入数据(3)退出游戏2、游戏成功与否都能返回主菜单三、算法提示:1、数据结构:数组2、用简单的程序设计方法四、测试数据:测试数据: 3792第一次输入: 12340A2B第二次输入: 56780A1B第三次输入: 08670A1B第四次输入: 97861A1B第五次输入: 17942A0B第六次输入: 27932A2B第七次输入: 37924A0B游戏过关!!!五、其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能,如:破记录功能,若你所匹配的次数小于纪录保持者,则为破纪录。
目录第一章绪论 (1)第一节项目背景 (1)第二节本课题所做的工作 (2)第二章需求分析第一节用户需求分析 (3)第二节开发环境分析 (4)第三章程序设计 (5)第一节程序的功能 (5)第二节输入输出的要求 (5)第三节程序模块 (6)第一条模块组成 (6)第二条层次结构 (8)第三条模块调用 (9)第四章分析 (10)第一节模块解释与功能 (10)第五章调试 (14)第一节菜单测试 (14)第二节游戏测试 (16)第一条在自定义中 (16)第二条在随机游戏中 (19)第六章总结 (21)第七章附录 (23)第一节附录A 源程序 (23)第二节附录B 参考文献 (32)课程设计评分表 (33)第一章绪论第一节项目背景C语言一共有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。
C语言程序课程设计备选题目
封面作者:PanHongliang仅供个人学习说明:1题目来源是:(1)较重要C语言程序设计教科书中的例题或习题;(2)与计算机学科相关的后续课程,如数据结构、离散数学、组合数学、计算方法等课程教科书中的例题或习题中,不需要相关后续课程的专门知识就可以很好解答的题目;其它有影响计算机程序设计类书籍或文章中的例题;(3)各级各类计算机程序设计竞赛(例如ACM大赛)、程序员考试、求职面试的训练题和考试卷等.欢迎老师和同学们提供更好的题目.2题目内容涉及的知识点不超过大学一年级的知识水平,主要目标是训练学生将实际问题转化为计算机可以处理的形式并编写程序给出解答的能力.去掉了较复杂事务管理如图书管理、学生成绩管理之类的题目,这类事务管理方面题目希望在后续课程如C++面向对象程序设计、数据库应用及各专业的课程设计中进行.3 题目有多种完全不同的解答,给出的提示主要供指导教师参考.题目1:文件存取练习:要求实现如下功能:(1)定义函数Rand1000(), 随机生成1000个均不相同的正整数,并写入到文本文件“file1.dat”中,各数之间用空格来分隔.(2)编写一个函数input(int a[],int n),将上述数据读入到数组a中.(3)编写一个函数digitcount(int a[],int n,int b[10]), 统计数组a的每个元素保存的整数中,每位数字出现的次数,并分别保存在b[0]到b[9]中.(4)编写函数maxprime(int *p,int n), 找出其中最大的素数,如果不存在素数函数结果为0.(5)对于这些整数排序之后,分别输出相邻两数之差最大和之差最小的两个数,如果有多组满足条件要输出所有的.(6)定义函数myinput(int a[],int n),用fgetc函数从文件“file1.dat”上逐个读入字符,并将其转换成独立的正整数,并依次存入数组a中.提示:可查阅任何一本C语言程序设计教科书中关于文件部分,例如谭浩强,C程序设计(第三版),第13章.还需要熟悉随机数生成函数rand(),需要编写判断一个奇整数是否素数的程序等.部分可供参考程序如下:题目2:两个文件同时对照显示:程序从两个文件中读出文本行,并列显示在屏幕上.假定屏幕有80列,25行,则第0—34列显示第一个文件的内容,第40—74列显示第二个,第77-78行显示文本总的行序号.每屏显示20行,超过20行就显示在下一屏.程序应该能够以这种方式显示任意的两个文本文件,例如两个C程序源代码文件,两篇内容类似的文章形成的两个文本文件等.提示:先把两个文本文件读入,存入数组,再考虑显示的安排.题目3:实现一个C语言程序设计自助学习系统,要求实现的基本功能如下:1、测验(1)可以按固定的试卷数目,从题库中随机选取题目进行测试,如每次测试5道题或10道题.(2)每次只显示一道题,包括问题描述、备选答案;(3)根据学生答题结果,对比试卷答案,显示答题对错的信息;(4)答题全部结束后给出本次测试的成绩,按百分制评分.2、学习管理(1)通过题目浏览,自我测验,查看题解的过程来帮助学生学习.(2)需要为学生提供多种学习方式,至少应包括顺序选题学习和随机选题学习等方式.(3)如果是采用顺序选题方式学习,需要做到可以从中间某个位置开始学习,不是每次一定从第一题开始学习.3、题库管理(1)试卷库中保存全部试卷及其相关信息.(2)将要入库的试卷,按固定格式编辑整理好保存在ASCII文件中,通过计算机程序读取该文件,并将文件中的全部试卷添加到已有的试卷库中.(3)今后需要对于所有试卷分类进行管理,在库结构设计时,要考虑这些扩展功能的数据接口要求.(4)试卷库初始化,将试卷库内容全部清空,便于重新建立系统.提示:可以参考:余江,肖淑芬主编,C语言程序设计,天津科学技术出版社,2001年5月,273-313页.题目4:实现题目3中C语言程序设计自助学习系统得升级版,可考虑实现功能:一、测验1、系统自动组卷(1)试卷结构说明:以题库提供的试卷类别和各类试卷的数量为依据来实现.系统组卷前需要获得的信息是对于每类试卷要含有类别名称、试卷数、分数,所有类别的分数累加在一起要恰好是100分.(2)试卷保存:将上述组卷结果保存在二进制文件中,文件名由用户输入. (3)个性化组卷:输入学号后,系统根据试卷结构说明的规定自动组卷,做到每个学生试卷不同.2、错题本功能(1)答错的题目自动加入到错题本中;(2)可以对错题本中的题目逐题测验,不分题目类别;(3)可以制定分类测试.3、多科目测试二、学习管理1、分类别学习2、错题本内容学习3、多科目学习,选择科目后可以进行指定类别的分类别学习和错题本内容学习.三、题库管理1、入库试卷文件格式正确性检查.包括:试卷的描述的合法性检查,类别信息合法性检查,给出出错位置的信息.2、对于分类试卷存储方式的优化,例如:同类试卷连续存储的实现;3、目前完成的是单科目多类别的题库管理,要实现多科目多类别的题库管理.四、用户管理1、系统注册2、登录3、错题本等个性化信息管理4、屏幕背景颜色和字符颜色的设置5、学习位置的记载,要按科目记载,每个科目要按类别记载.提示:鼓励使用更多方法实现,例如使用数据库系统,VC++等.题目5:给出一个正整数n,一个存放1到n共n个正整数的数字金字塔构造如下:(1)1在最上方第0层;(2)如果x大于y并且x除以y的余数为0(即x>y && x%y = = 0),x要放在y下方一层(即若y在第i层,x应在i+1层);(3)每个数应尽可能放在更下方,即如果可以放在第i层,就不能放在i-1层;(4)相同层上的数从左向右从小到大排列.其实第i层是有i个素数因子的数的从小到大的排列.例如对n=6,符合这组规则的数字金字塔如下:12 3 54 6每个数按照它在塔中的位置从上到下从左到右从1开始编号,例如5,编号应该是4.要求你编写程序,输入一个正整数n,5<n<50, 再输入3个不大于n的正整数,然后程序输出所构造的数字金字塔,及所输入3个不大于n的正整数在数字金字塔中的编号.例如设输入了6,3,4,5,程序可以输出:12 3 54 6 //用数组形式表示数字金字塔.3,5,4 //分别是3,4,5在数字金字塔中的编号.程序编写完成后,要求给出你的程序对下列两组输入的结果:(1)10,7,8,9 (2)25,15,20,25提示:本题为2010年ACM大赛题目,鼓励使用更多方法实现.题目6:你一定很熟悉著名的Hanoi塔游戏,当理解了圆盘数目较多需要的时间太长之后,你可以放弃实际去移动圆盘,但你不应该放弃如下一个有点类似的游戏:设有n根柱子,每根柱子上有一个圆盘,圆盘上有一个正整数,不同圆盘上的数不同.初始时假定柱子按照其上圆盘上数的大小从左向右排列,移动规则是从左向右看,当前一根柱子最下圆盘上数与后一根柱子最上圆盘上数相加的和是一个完全平方数时,前一根柱子上所有圆盘移动到后一根柱子上方.要求你编写程序,输入柱子数目和圆盘上的整数,输出移动的过程和结果.例如,一组输入是:4,1,3,5,6,第一个数4表示有4根柱子,圆盘上的数依次是1,3,5,6.你的程序运行后,可以输出1->3->6, 5, c=2,表示移动是1到3,3到6,因为1+3=4, 3+6=9,而4和9是完全平方数,符合条件的移动只有这两次.移动结果是还有2根柱子上有圆盘,即c=2,有圆盘的一根柱子上圆盘3个,有数1->3->6,有圆盘另一根柱子上圆盘一个,有数5,它其实没有发生移动.程序编写完成后,要求给出你的程序对下列两组输入的结果:(1)9,1,2,3,4,5,6,7,8,9(2)10,1,3,5,7,9,11,13,15,17,19(本题为2010年ACM大赛题目.)提示:输入:9,1,2,3,4,5,6,7,8,9 输出:1->3->6, 2->7->9,4->5,8,c=4输入:10,1,3,5,7,9,11,13,15,17,19 输出:1->3->13, 5->11,7->9,15,17->19,c=5题目7:我们知道,在10进制数中有判断整除性的二个简单规则:一个正整数能够被3整除,当且仅当,它的各位数字之和能够被3整除;一个正整数能够被11整除,当且仅当,它的奇数位数字之和与偶数位数字之和的差能够被11整除;现在要问:对于b进制数,具有类似于10进制数的3和11的这种整除性判断的数是什么?具体地,请编写程序,输入进制的基数b,输出最小的可以如上判断整除性的数x和y.为确定,输入输出均采用10进制数.例如输入b为10,则自然要输出x为3,y为11;若输入b为8,则要输出x为7,y为3(例如8进制数25,按上述规则判断应能够被7和3整除,事实上,8进制数25是10进制数21,能够被7和3整除是显然的);若输入b为120,则要输出x为7,y为11(请自己验证这是对的).(本题为2011年ACM大赛题目.)提示:对于10进制数,10-1=9=3*3,10+1=11,10进制数n可以一般地表示为:n = a k10k + a k-110k-1 + ……+ a110 + a0保持n不改变数值将10换为10 –1和10+1,可以看出3和11可以如上判断整除性的理由.对于b进制数,n = a k b k + a k-1b k-1 + ……+ a1b + a0可以想到只需考虑b – 1和 b+1的最小因子.题目8:如果语文数学两门课程的成绩,甲同学分别是80分和90分,乙同学是90分和80分,丙同学是70和60分,这时比较甲同学和乙同学的成绩,只能说语文较差,数学较好,综合到一起就属于无法比较,但对丙同学可以比较,可以说甲和乙同学的成绩都比丙同学好.一般情况,设有一个三元向量的集合,若其中有向量P=(p1, p2, p3), Q=(q1, q2, q3), 规定P≦Q 当且仅当p1≦q1, p2≦q2, p3≦q3 .其中一个向量称为是一个极小元素,当且仅当它只≦它自己.例如如下三个三元向量组成了向量组(80,90,100),(90,80,70),(60,70,60),其中只有一个最小元素,是(60,70,60).请编写程序,输入n个三元向量,输出其中最小元素的数目.(本题为2011年ACM大赛题目.)提示:先对第一个坐标排序,再考虑第二个坐标,第三个坐标.题目9:在某城市有n座摩天大楼,问那二座之间的距离最小?设可以输入所有大楼的位置坐标,请编写程序输出距离最近的二座大楼及它们之间的距离.两点(x1, y1) 和 (x2, y2) 之间的距离d按照两种不同方式规定:(1)Euclid距离d =(2)Manhattan距离 d = | x1 –x2 | + | y1–y2 |.显然的解法是计算所有点对之间的距离再找出最小值,但本题只要求输出距离最近的二点及之间距离,所以应该给出不计算所有点对之间距离的更有效率的解法(本题为2011年ACM大赛题目).(可查阅:[沙特]M.H.Alsuwaiyel著,吴伟昶等译,算法设计技巧与分析,电子工业出版社,2004年8月,第121-124页.或者:[美]Michael T.Goodrich等著,霍红卫译,算法分析与设计,人民邮电出版社,2006年10月,第385-387页.)提示:找到两点距离d后,接下去可检查宽不超过d的长条.题目10:一条贪吃的蛇在一个n*m的网格中游走,它只能从一个方格走向另一个相邻的方格,这里相邻的意思是两个方格有公共边.每个方格可以看作是一个房间,其中一些是空的,一些存放有苹果.贪吃的蛇根本不进入空的房间,而进入有苹果的房间后就可以带走所有苹果使房间成为空的.蛇从一个指定的房间出发,最终回到它的家,把一路带来的苹果存储到家中,当然,它希望带来的苹果最多.请编写程序,输入有整数n和m,及n*m的一个矩阵,矩阵元素数值中有一个是-1,表示蛇的出发位置,有一个是-2,表示蛇的家的位置,其余数值是非负整数,0表示房间为空,非零整数表示苹果的数目.输出蛇选择的游走路径和获得的最多的苹果数目.例如输入4*4矩阵:7 0 4 184 0 1 115 7 11 -10 12 -2 0则应输出 (2, 3), (1, 3), (0, 3), (0, 2), (1, 2), (2, 2), (2, 1), (3, 1), (3, 2), 带回苹果数为1+18+4+1+11+7+12 = 54.(本题为2011年ACM大赛题目).(可查阅:吕国英,任瑞征等编著,算法设计与分析(第2版),清华大学出版社,2009年1月,第200-202页.提示:这是一个利用回溯算法的迷宫搜索类型问题,可参考类似问题的已有解法.题目11:化学家研究原子团的行为时,认为每个原子具有整数能量,这个整数可以是正数、零和负数,绝对值不超过100.可以认为原子排列成为一行,一行中任意多个连续的原子可以形成原子团,原子团的能量是其中各原子能量的代数和.问题是怎样编写程序,求出具有最大能量的原子团和能量数值.要求程序输入一列原子的能量数值,以-1结束,输出找到的能量最大的原子团及能量数值.例如输入8,0,6,4,-2,-1,应输出原子团8,0,6,4,及能量数值18.(本题为2010年ACM大赛题目)(可查阅:吕国英,任瑞征等编著,算法设计与分析,清华大学出版社,2009年1月,第265-270页).提示:这是最大子段和问题.题目12:一刀可以把蛋糕分为两个部分,现在给出要分为两部分的面积的比值,希望求出切口的弦的长度.这里当然要假定蛋糕是一个圆,并设其半径为 1.例如,输入两部分比值为1:1,切口是直径,长为2;输入1:2,应输出1.9285;输入10:1,应输出1.4145.(本题为2010年ACM大赛题目)提示:计算半弦长,可以利用公式a2=2rh-h2,计算弓形面积,用公式s=0.5*xita*r*r-a*sqrt(r*r-a*a)。
C语言课程设计选题
C语言课程设计选题一、c语言课程设计选题如下(每个题目不能超过五人选择)1、课题:设计一个万年历功能要求:1.输入年份,并分段返回全年日历(包括年、月和周)。
2.注意闰年2、课题:设计简单的计算器功能要求:1.通过菜单选择实现。
判断采用加减乘除法。
选择规则后,输入两个要计算的数字并输出计算结果。
3.主题:做一个猜谜游戏。
功能要求:1、计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直到我猜2、猜中后给出所用的时间和评语4、课题:将任一整数转换为二进制形式功能要求:将任意整数转换成二进制形式,输出5。
主题:小学生考试大纲的功能要求:1、电脑随机出10道题,每题10分,程序结束时显示学生得分2、不能有负数3.每个问题有三次输入答案的机会。
当输入错误答案时,提醒学生重新输入,若三次机会结束则输出正确答案4、对于每道题,第一次输入正确答案得10分,第二次输入正确答案得7分,如果你第三次输入正确答案,你会得到5分,否则你不会得到5分。
如果总分超过90分,则显示“智能”,80-90:good70-80:ok60-70:pass60以下:tryagain6.主题:24个游戏功能要求:输入四个一位数,通过加减乘除,允许加入括号,计算出24,显示计算过程,并提示成功信息7、课题:大数相乘功能要求:1.大整数指超过十位的十进制整数。
这里很简单,假设不超过50位。
由于超界溢出,这种大整数在C语言系统中无法直接表达和计算。
您可以使用数组来表示大整数,并在此基础上编写程序来乘以大整数。
8.主题:从十六进制到十进制的转换功能要求:实现输入一个十六进制,转换为十进制的设计9、课题:位数大小排序功能要求:输入一个五位整数,将该整数中的五个值从大到小排序,形成一个新的五位整数,并输出该整数。
10.主题:回文的形成功能要求:取任意十进制整数,将其加回原始整数,得到一个新整数,然后重复上述步骤,最终得到一个回文数。
请进行程序验证。
《C语言程序设计课程设计》题目
1 一元稀疏多项式的运算问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。
实现要求:⑴输入并建立多项式;⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。
序列按指数降序排列;⑶多项式A和B相加,建立多项式A+B,输出相加的多项式;⑷多项式A和B相减,建立多项式A-B,输出相减的多项式;⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式;⑹设计一个菜单,至少具有上述操作要求的基本功能。
测试数据:(1) (2x+5x8-3.1x11)+(7-5x8+11x9)(2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)(3)(x+x2+x3)+0(4)(x+x3)-(-x-x-3)2 成绩排序假设某年级有4个班,每班有45名同学。
本学期有5门课程考试,每门课程成绩是百分制。
假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求:⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩;⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中;⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑷ 用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑸ 对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表;⑹ 设计一个菜单,至少具有上述操作要求的基本功能。
3 栈及其操作问题描述:栈(Stack):是限制在表的一端进行插入和删除操作的线性表。
c语言课程设计任务题
c语言课程设计任务题一、教学目标本节课的教学目标是让学生掌握C语言的基本语法和编程思想,培养学生编写简单程序的能力。
具体来说,知识目标包括:了解C语言的发展历程和基本语法;掌握变量、常量的概念及声明方法;理解运算符的用法和优先级;掌握控制语句的作用和用法。
技能目标包括:能够使用C语言编写简单的程序;能够阅读并理解他人的代码;能够对自己的代码进行调试和优化。
情感态度价值观目标包括:培养学生对计算机科学的兴趣和热情;培养学生独立思考、解决问题的能力;培养学生团队合作的精神。
二、教学内容本节课的教学内容主要包括C语言的基本语法和编程思想。
具体安排如下:首先,介绍C语言的发展历程及其特点,让学生了解C语言的重要性;其次,讲解变量、常量的概念及声明方法,让学生掌握如何定义和使用变量;然后,介绍运算符的用法和优先级,让学生明白如何进行数学运算;最后,讲解控制语句的作用和用法,让学生能够编写流程控制的程序。
三、教学方法为了达到本节课的教学目标,将采用多种教学方法相结合的方式进行教学。
首先,采用讲授法,向学生讲解C语言的基本语法和编程思想;其次,采用讨论法,让学生在课堂上互相交流、讨论,提高他们的编程能力;然后,采用案例分析法,分析一些典型的编程案例,让学生理解并掌握编程的方法;最后,采用实验法,让学生动手编写程序,巩固所学知识。
四、教学资源为了支持本节课的教学内容和教学方法的实施,将准备以下教学资源。
首先,教材《C语言程序设计》为学生提供理论知识的学习;其次,参考书《C Primer Plus》为学生提供更多的实践案例;再次,多媒体资料包括教学PPT、视频教程等,帮助学生更好地理解教学内容;最后,实验设备包括计算机、编程软件等,为学生提供动手实践的机会。
五、教学评估本节课的教学评估将采用多元化的评估方式,以全面、客观、公正地评价学生的学习成果。
评估方式包括:平时表现、作业、考试等。
平时表现主要评估学生在课堂上的参与程度、提问回答等情况,占总评的20%;作业主要评估学生的编程能力和理论知识的掌握程度,占总评的30%;考试主要评估学生对C语言基本语法的掌握程度,占总评的50%。
C语言课程设计-进制转换
沈阳航空航天大学课程设计报告课程设计名称:C语言课程设计课程设计题目:二、八、十、进制转换程序院(系):计算机学院专业:计算机科学与技术(物联网方向) 班级:34010105学号:姓名:指导教师:完成日期:2014年3月7日沈阳航空航天大学课程设计报告目录第1章需求设计 (1)1.1课程设计任务 (1)1.2设计环境与开发语言 (2)第2章程序设计 (3)2.1概要设计 (3)2.1.1总体模块图 (3)2.1.2函数 (3)2.2详细设计 (4)第3章程序调试分析 (13)3.1出现的错误 (13)3.2运行的结果 (13)第4章用户手册 (15)4.1程序功能 (15)4.2存在的缺陷 (15)参考文献 (16)附录(程序清单) (17)第1章需求设计1.1 课程设计任务设计一个简单的程序,可以实现以下各进制之间的转换。
1.因为要进行进制间的6次转换所以要采用switch语句有选择的进行进制转换程序。
2.二进制到八进制;直接将二进制转化为八进制需要三位一截取不足三位补零,较为麻烦所以采用先将二进制转化为十进制再转化为八进制的方法解决问题。
二进制转化为十进制将输入的二进制数存入字符数组中,存入多少位数,求出相应位数2的幂次再乘以1或0将每一位对应得到的十进制数累加,即可得到相应的十进制数。
将十进制数转化为八进制数,将0到7存到一个字符数组中判断输入的数是否大于7若大于7,则将该数除8,再次进行判断,直到输入的数小于等于7,输出该数对8取余数对应的一维数组中的字符,即可得到八进制数。
3.二进制到十进制;二进制转化为十进制将输入的二进制数存入字符数组中,存入多少位数,求出相应位数2的幂次再乘以1或0将每一位对应得到的十进制数累加,即为十进制数。
4.二进制到十六进制;与二进制转化为八进制类似,先将二进制转化为十进制。
再将十进制数转化为十六进制数,将0到9,A到F存到一个字符数组中判断输入的数是否大于15若大于15,则将该数除16,再次进行判断,直到输入的数小于等于15,输出该数对16取余数对应的一维数组中的字符,即可得到十六进制数。
C语言课程设计题目汇总
C语言课程设计题目汇总在C语言学习过程中,课程设计是一项重要的任务,它能够帮助学生巩固所学知识,培养实践能力。
下面是一些常见的C语言课程设计题目汇总,供同学们参考和实践。
1. 学生成绩管理系统设计一个学生成绩管理系统,要求能够记录学生的信息,包括学号、姓名和各科成绩。
系统能够实现添加学生信息、删除学生信息、查询学生成绩、计算平均成绩等功能。
2. 图书管理系统设计一个图书管理系统,要求能够记录图书的信息,包括书名、作者、出版社等。
系统能够实现添加图书信息、删除图书信息、查询图书信息、借阅图书等功能。
3. 学生选课系统设计一个学生选课系统,要求能够记录学生的选课信息,包括学生姓名、选课科目、上课时间等。
系统能够实现学生选课、退选课程、查询已选课程等功能。
4. 考试成绩分析系统设计一个考试成绩分析系统,要求能够读取学生的考试成绩,计算平均分、最高分、最低分等统计数据,并能够按照分数进行排名。
5. 电话簿管理系统设计一个电话簿管理系统,要求能够记录联系人的姓名、电话号码等信息。
系统能够实现添加联系人、删除联系人、查询联系人等功能。
6. 学生信息管理系统设计一个学生信息管理系统,要求能够记录学生的基本信息,包括学号、姓名、性别、年龄等。
系统能够实现添加学生信息、删除学生信息、查询学生信息等功能。
7. 银行账户管理系统设计一个银行账户管理系统,要求能够记录用户的账户信息,包括账号、姓名、余额等。
系统能够实现存款、取款、查询余额等功能。
8. 学生成绩排名系统设计一个学生成绩排名系统,要求能够读取学生的考试成绩,根据成绩进行排名,并能够显示每个学生的排名和分数。
9. 图形绘制程序设计一个图形绘制程序,能够绘制常见的几何图形,如矩形、圆形、三角形等,并能够计算图形的面积和周长。
10. 简易计算器设计一个简易计算器程序,能够实现基本的数学运算,如加法、减法、乘法、除法等,并能够处理异常输入。
以上是一些常见的C语言课程设计题目汇总,希望对同学们的学习和实践有所帮助。
C语言课程设计
计算机程序设计(C语言)课程设计报告题目:飞机订票系统学院:专业:班级:姓名:指导教师:答辩日期:2012年7月7日一、设计背景介绍本课程设计主要围绕设计一个初步的飞机票订票系统,包括管理员和客户的两套操作界面,管理员进入系统需输入密码,然后由管理员输入可以预定的机票信息。
客户进入订票界面可以按时间和地点查询所需要的管理员输入的机票信息。
管理员操作界面由f1()函数调用输入和查询模块函数实现,客户操作界面由f2()函数调用各个模块函数实现;各个模块函数由for循环和if﹍else选择结构为主要框架构成。
二、任务概述和主体部分主体部分:首先在程序的开始,引入标准输入输出函数和字符串处理函数的头文件:#include <stdio.h>和#inc lude <string.h>,这样就能在程序中调用输入输出函数和字符串处理函数。
接着用类型转换符typedef定义一个结构体变量ti[N],用来存放机票航班信息,供接下来各个函数模块进行数据的操作。
再将程序中所用到的所有函数进行函数声明,定义f1()函数调用输入函数enter()和查询函数browse()构成管理员操作界面,并根据i f﹍else选择结构进入相应的操作。
同样定义f2()函数调用按时间查询的函数search_time()、按地点查询的函数serch_end()、订票函数book()、退票函数back()和主菜单函数menu()来构成客户订票操作的界面,并根据i f﹍else选择结构选择进入相应的操作。
任务概述:用for循环实现依次输入航班的信息和按条件查找航班信息,用while循环和if﹍else选择结构来选择判断是否进入相应的操作,用swich﹍case开关语句执行菜单选择功能,标准输入输出函数来执行语句的输入输出。
三、设计流程为实现系统设计要求,我定义了11个自定义函数。
主函数从调用menu开始。
(1)首先用函数menu实现登录界面和判断用户的选择,框图如下:(2) 定义函数f1()为管理员界面,以下是f1()函数程序流程图:(2)定义函数f2()为客户操作界面,以下是f2()函数程序具体实现流程图:四、程序代码清单#include<stdio.h> /*输入输出函数的头文件*/#include <string.h>#define N 1000typedef struct plane{char ID[10]; /*航班代号*/char BePlace[10]; /*飞机起飞地点*/char EnPlace[10]; /*飞机降落终点*/char data[15]; /*飞机起飞时间*/int max; /*飞机最大乘客人数*/int price; /*飞机票价*/int num; /*飞机已售票数*/}PLANE;PLANE ti[N];int n; /*当前的航班数目*/void menu(); /*函数声明*/void f1(); /*函数声明*/void f2(); /*函数声明*/void book(); /*函数声明*/void back(); /*函数声明*/void enter(); /*函数声明*/void browse(); /*函数声明*/void serach(); /*函数声明*/void menu(){ int a,i;system( "cls" );puts("\t\t\t\t 欢迎进入飞机订票系统!\n\n");puts("\t\t*********************MENU********************\n\n"); printf("管理员进入请按1,客户进入请按2:\n");printf("请您选择(1-2): \n");puts("\n\n\t\t**********************************************\n");scanf("%d",&a);while(a==1){ if(a!=1&&a!=2){printf("输入错误,请重新输入");menu();}elsebreak;}if(a==1){ printf("请输入密码并以回车键结束:");scanf("%d",&i);if(i!=8888){printf("密码错误!\n请重新选择:");menu();}f1();}elsef2();}void input(int i){printf("请输入航班代号:\n");scanf("%s",ti[i].ID);printf("请输入起飞地点:\n");scanf("%s",ti[i].BePlace);printf("请输入降落地点:\n");scanf("%s",ti[i].EnPlace);printf("请输入起飞时间:\n");scanf("%s",ti[i].data);printf("请输入航班的最大载客人数:\n");scanf("%d",&ti[i].max);printf("请输入航班的票价:\n");scanf("%d",&ti[i].price);ti[i].num=0;}void enter(){int i;system( "cls" );printf("请输入航班的数目(0-%d)?:",N);scanf("%d",&n); /*要输入的记录个数*/ printf("\n请输入数据\n\n");for(i=0;i<n;i++){printf("\n请输入第 %d 航班记录.\n",i+1);input(i); /*调用输入函数*/ }getchar();f1();}void printf_one(int i) /*显示一个记录的函数*/{printf("%11s %6s %10s %6s %6d %6d %6d",ti[i].ID,ti[i].BeP lace,ti[i].EnPlace,ti[i].data,ti[i].price,ti[i].max,ti[i].num);}void browse(){int i;system( "cls" );puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){printf_one(i);printf("\n");}getchar();getchar();menu();}main() /*主函数*/{menu();}void f1(){int j;system( "cls" );printf("^_^请管理员操作!^_^\n\n");puts("\n\n\t\t**********************************************\n");printf(" 1 输入航班信息\n");printf(" 2 查询航班\n");printf("请选择按键<1-2>:");scanf("%d",&j);if(j!=1&&j!=2){printf("您输入的选项不存在,请重新输入:");}else{switch(j){case 1:{enter();f1();break;}case 2: {browse();f1();break;}}}}void search_time(){int i,m=0;struct plane s;system( "cls" );printf("\n\n请输入时间:");scanf("%s",s.data); /*输入出发的时间*/puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(s.data,ti[i].data)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();f2();}void serch_end(){int i,m=0;struct plane s;system( "cls" );printf("\n\n请输入要到达的地点:");scanf("%s",s.EnPlace); /*输入要到达的地方*/puts("\n--------------------------------------------------------------------");printf("\n\t航班代号起飞地点降落地点起飞时间票价最大乘客已售票数\n");for(i=0;i<n;i++){if(strcmp(ti[i].EnPlace,s.EnPlace)==0){m++;if((m!=0)&&(m%10==0)) /*目的是分屏显示*/{printf("\n\nPress any key to contiune . . .");getchar();puts("\n\n");}printf_one(i);printf("\n");/*调用显示一个记录的函数*/}}puts("\n--------------------------------------------------------------------");getchar(); /*按任意健*/getchar();f2();}int search() /*查找模块*/{int i,k;struct plane s;k=-1;system( "cls" );printf("\n\n请输入要订票的起飞地点:");scanf("%s",s.BePlace); /*输入要到达的地方*/printf("\n\n请输入要订票的降落地点:");scanf("%s",s.EnPlace);printf("\n\n请输入要订票的起飞时间:");scanf("%s",s.data); /*输入出发的时间*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.BePlace,ti[i].BePlace)==0&&strcmp(s.EnPlace,ti[i].EnP lace)==0&&strcmp(s.data,ti[i].data)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/ }}if(k==-1){printf("\n\nNO exist!");return -1;}elsereturn k;}void book(){int i;system( "cls" );printf("欢迎进入订票窗口!\n");i=search();if(i!=-1){if(ti[i].num>=ti[i].max){printf("\n该趟航班票已售完!");}else{ti[i].num++;printf("\n订票成功!\n");}}elseprintf("该航班不存在!\n");getchar();getchar(); /*按任意健*/ menu();}void back(){int i,k=-1;struct plane s;system( "cls" );printf("欢迎进入退票窗口!\n");printf("\n\n输入航班代号:");scanf("%s",s.ID); /*输入要到达的地方*/for(i=0;i<n;i++) /*查找要修改的数据*/{if(strcmp(s.ID,ti[i].ID)==0){k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/ }}if(k==-1){printf("\n\nNO exist!");}else{ti[i].num--;printf("\n退票成功!\n");}getchar(); /*按任意健*/getchar(); /*按任意健*/menu();}void f2(){ int j;system( "cls" );printf("^_^欢迎客户订票,我们将为您提供优质服务!^_^\n");puts("\n\n\t\t**********************************************\n");printf(" 1 按时间查询航班信息\n");printf(" 2 按地点查询航班信息\n");printf(" 3 预定机票\n");printf(" 4 退订机票\n");printf(" 5 返回主界面\n");printf("请选择按键<1-4>:");scanf("%d",&j);if(j!=1&&j!=2&&j!=3&&j!=4&&j!=5){printf("您输入的选项不存在,请重新输入:");f2();}else{switch(j){case 1:{search_time();f2();break;}case 2:{serch_end();f2();break;}case 3:{ book();f2();break;}case 4:{back();f2();break;}case 5:{menu();break;}}}}五、遇见问题及解决方案在定义客户订票操作的界面函数f2()时,开始只是设了四个菜单选择项,第一个是查询航班信息,引用的是search()函数,但是由于这个函数的返回值是被book()和back()函数使用的,不能显示查询信息,所以后来将这个菜单项一分为二,为按时间查询和按到达地点查询,分别引用search_time()函数和serch_end()函数,使得问题加以解决。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍 贯。具体功能: (1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的籍贯信息; (3)按学号或姓名查询其籍贯; (4)按籍贯查询并输出该籍贯的所有学生;
(5)能添加、删除和修改学生的籍贯信息(可选项);
mail等。试设计一学生信息管理系统,使之能提供以下功能: 1、系统以菜单方式工作 2、学生信息录入功能(学生信息用文件保存)--输入 3、学生信息浏览功能--输出 4、学生信息查询功能--算法 按学号查询 按姓名查询 5、学生信息的删除与修改(可选项)
题目七:学生成绩管理系统设计
学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、 数学、英语和计算机)等。 主要功能:
题目二:图书信息管理系统设计
图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时 间、价格等。 试设计一图书信息管理系统,使之能提供以下功能: 1、系统以菜单方式工作 2、图书信息录入功能(图书信息用文件保存)--输入 3、图书信息浏览功能--输出 4、图书信息查询功能--算法 查询方式 按书名查询 按作者名查询 5、图书信息的删除与修改(可选项)
题目四:实验设备管理系统设计
实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪 等等),设备名称,设备价格,设备购入日期,是否报废,报废日期 等。 主要功能: 1、能够完成对设备的录入和修改 2、对设备进行分类统计 3、设备的破损耗费和遗损处理 4、设备的查询 要求:采用二进制文件方式存储数据,系统以菜单方式工作
A2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示 输出。 B:成绩查询: B1:输入一个学号时,查询出此生的所有课程情况,格式如下: 学 号:xx 姓 名:xxxxx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx …… … …… … … …… 共修:xx科,实得总学分为: xxx (3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此 人所有信息。 (4)排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显 示数据。 (二)其它要求: (1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读 (2)至少采用文本菜单界面(如果能采用图形菜单界面更好) (3)学生可自动增加新功能模块(视情况可另外加分) (4)写出课程设计报告,具体要求见相关说明文档
3、根据《C语言课程设计报告》,学生能对自己的程序面对教师提问 并能熟练地解释清楚,以上三项缺一不可 4、由于课程设计各题目的难度不一,所以成绩的评定将根据各人完成 题目的难度和完成情况的不同,分别评定成绩,如未能完成任何题目, 则以不及格计算
四、提交时间
课程设计任务完成时间为19周结束,届时上交课程设计报告和程序。
(4)写出课程设计报告,具体要求见相关说明文档
题目十五:通信录管理系统设计
用C/C++设计出模拟手机通信录管理系统,实现对手机中的通信录进行 管理。 功能要求 (1)查看功能:选择此功能时,列出下列三类选择。 A 办公类 B 个人类 C 商务类 ,当选中某类时,显示出此类所有数据 中的姓名和电话号码) (2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类 (可选项有:A 办公类 B 个人类 C 商务类)、电子邮件)。例如 杨春 13589664454 商务类 chuny@ 当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入; 当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入 的新数据能按递增的顺序自动进行条目编号。 (3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时, 屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并 伴随相应的拔号声音。 (4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改 (5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除, 并自动调整后续条目的编号。 (二)其它要求: (1) 只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读 (2) 至少采用文本菜单界面(如果能采用图形菜单界面更好) (3) 建议使用结构和链表等数据结构 (4) 学生可自动增加新功能模块(视情况可另外加分) (5)写出课程设计报告,具体要求见相关说明文档
绩 实得学分 01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66 … …… … … … …… … …
(一)功能要求及说明: (1)数据录入功能:对B.TXT进行数据录入,只录入每个学生的学号、课程 编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据。 综合成绩、学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩 =平时成绩*30%+卷面成绩*70%; 如果实验成绩不为-1,表示本课程有实 验,综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70%。 实得学分的计算:采用等级学分制。 综合成绩在90-100之间 ,应得学分=学分*100% 综合成绩在80-90之间 ,应得学分=学分*80% 综合成绩在70-80之间 ,应得学分=学分*75% 综合成绩在60-70之间 , 应得学分=学分*60% 综合成绩在60以下 ,应得学分=学分*0% (2)查询功能:分为学生基本情况查询和成绩查询两种 A:学生基本情况查询: A1----输入一个学号或姓名(可实现选择),查出此生的基本信息并显 示输出。
题目五:西文下拉菜单的设计
主要功能: 1、完成一个类似TC集成系统菜单的西文下拉菜单的设计 2、不要求实现各子菜单的功能 要求:可以通过光标键的移动来选择不同的菜单项,被选择的菜单项反 相显示,当选定某个菜单项后,按回车键可以实现一个简单的动作。
题目六:学生信息管理系统设计
学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-
题目十四:成绩管理系统设计
现有学生成绩信息,内容如下 姓名 学号 语文 数学 英语 张明明 01 67 78 82 李成友 02 78 91 88 张辉灿 03 68 82 56 王露 04 56 45 77 陈东明 05 67 38 47 …. .. .. .. … 请用C/C++编写一系统,实现学生信息管理,软件的入口界面应包括如 下几个方面: (一)功能要求:
课、必修课、选修课),总学时,授课学时,实验或上机学时,学分, 开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试 设计一选修课程系统,使之能提供以下功能: 1、系统以菜单方式工作 2、课程信息录入功能(课程信息用文件保存)--输入 3、课程信息浏览功能--输出 4、课程信息查询功能--算法 查询方式 按学分查询 按课程性质查询 5、学生选修课程(可选项)
五.设计题目:
题目一:职工信息管理系统设计
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等 (职工号不重复)。 试设计一职工信息管理系统,使之能提供以下功能: 1、系统以菜单方式工作 2、职工信息录入功能(职工信息用文件保存)--输入 3、职工信息浏览功能--输出 4、职工信息查询功能--算法 查询方式 按学历查询等 按职工号查询等 5、职工信息删除、修改功能(可选项)
C语言课程设计题目
C语言课程设计学生选题说明:
一、设计要求与设计报告
设计要求格式 4、必须上机调试通过
课程设计报告格式:
1. 课程设计名称、班级号、学号、学生姓名和课程设计起止日期(封面
的设计) 2.设计题目 3、设计目的 4、总体设计(程序设计组成框图、流程图) 5、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函 数调用关系描述等) 6、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到 的主要问题及采取的解决措施。 7.软件使用说明 8. 课程设计心得与体会 9. 附录1:参考文献 10. 附录2:部分程序清单和执行结果(带有较详细的注释)
题目十二:职工工作量统计系统设计
编写有一个程序,该程序输入职工工号和完成的产品数量,程序允许同 一职工有多次输入,由程序对其完成的产品数量实现累计。程序按完成 数量对他们排序,并确定他们的名次。按完成的产品数量由多到少的顺 序,输出名次、同一名次的职工人数及他们的工号(工号由小到大顺序 输出)。要求程序用有序链表存储数据信息。
(1) 能按学期、按班级完成对学生成绩的录入、修改 (2) 能按班级统计学生的成绩,求学生的总分及平均分 (3) 能查询学生成绩,不及格科目及学生名单 (4) 能按班级输出学生的成绩单 要求:使用二进制文件方式存储数据,系统以菜单方式工作
题目八:学生选修课程系统设计
假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共
题目九: 学生成绩记录簿设计
编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、C语言 成绩。具体功能: (1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩; (4)添加成绩记录; (5)修改指定姓名或学号的学生的成绩并可存盘; (6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生 信息(可选项)。
题目十六:学生管理系统设计
使用下面的数据,用C/C++设计一个简单的学籍管理系统,实现出最基 本的功能。 学生基本信息文件(A.TXT)及其内容:A.TXT文件不需要编程录入数 据,可用文本编辑工具直接生成
学号 姓名 性别 宿舍号码 电话号码 01 张成成 男 501 87732111 02 李成华 女 101 87723112 03 王成凤 女 101 87723112 04 张明明 男 502 87734333 05 陈东 男 501 87732111 06 李果 男 502 87734333 07 张园园 女 102 87756122 … … … ……… 学生成绩基本信息文件(B.TXT)及其内容: 学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成