还剩4页未读,继续阅读
文本内容:
题目1使用菜单选择程序菜单是应用程序的界面,控制语句用来改变程序执行的顺序,是实现结构化程序设计的基础设计一个比较实用的菜单,通过菜单选择不同的功能设计分为两步首先设计一个含有多个菜单项的菜单演示程序,然后再为这些菜单项配上相应的功能
一、设计一个菜单程序
(1)菜单内客程序运行后,给出6个菜单项的内容和输入提示1.FindNum2.FindRoot3.Detective4.Bear5.Diamond6.Goodbye!Input1-6
(2)设计要求使用数字1-6来选择菜单项,其他输入则不起作用
二、增加菜单项的处理功能以设计的菜单为基础,增加菜单项的处理功能菜单项设计要求这其实是5道编程题,目的是锻炼使用控制语句的能力
(1)FindNum____咬坏了账本,公式中符号口代表是被老鼠咬掉的地方要想恢复下面的等式,应在口中填上哪个相同的数字?3口×6237=口3×3564利用计算机的计算速度快的特点,把所有可能的数都试一下,从中找出符合条件的数这就是所谓的穷举法某位的数字只有0-9个数字,显然已经排除了为0的可能性,将1--9种可能性拿来试验,即可找到合适的数字由此可见,就是寻找满足下式面的i值30+i×6237=(10×i+3)×3564
(2)FindRoot这里要求编制一个求方程ax2+bx+c=0的根的程序一般将系数设计成float型,可以把变量设为double型,使用库函数sqrt求平方根,sqrt在头文件c__th.中定义规定a!=0,假设d=b×b-4×a×c可以根据d大于、等于或小于零来决定求解方法if(d>0){//有两个不相等的实数解}elseifd==0{//有两个相等的实数解}else{//有两个不相等的虚数解}
(3)Detective这是一道侦探题一辆汽车憧人后逃跑4个目击者提供如下线索甲牌照
三、四位相同;乙牌号为31xxxx;丙牌照
五、六位相同;丁三到六位是一个整数的平方为了从这些线索中求出牌照号码,只要求出后四位再加上3_____即可这四位又是前两位相同,后两位也相同,互相又不相同并且是某个整数的平方的数可以仍然使用穷举法,利用计算机的计算速度快的特点,把所有可能的数都试一下,从中找出符合条件的数因为后面4位数,1000的平方根31,所以穷举实验时不需从1开始,而是从31开始寻找一个整数的平方下面直接使用for语句格式,给出算法思想fori=1;i=9;i++forj=0;j=9;i++ifi!=j{k=i*1000+i*100+j*10+j;forc=31;c*c=k;c++)ifc*c==kcout”牌照号码是”3_____+k;}
(4)Bear本题是一个笑话,话说有一只狗熊到玉米地里掰玉米,一边掰一边吃第一天吃了一半,又拿走一个回去喂小狗熊第二天又去吃了剩下的一半,走时仍然带一个回去喂小狗熊以后每天都吃前一天剩下的一半,拿走一个到第十天时,地里只剩下一个玉米求地里一共有多少玉米这里可以使用回溯算法假设狗熊每次吃掉的为x2则第10天时的x2=1,第9天地里剩下的玉米xl=x2+l×2,这也是狗熊在第8天时吃掉的玉米数量因此可以使用如下算法描述intday=10,x2=1,x1;while(day0){x1=(x2+1)×2;x2=xl;day--;}
(5)Diamond本题要求编制打印以下图案的程序,注意题目还要求在左边留出一定空格*************************通过观察图像的组成特点,可以把它们解剖成两部分上面4行和下面3行上面行按递增计数,下面则按递减计数假设第一个“*”距左边15个空格,使用字符“1”模拟空格显示图形如如下***
(6)Goodbye!这里除了输出一个简单的信息之外,还必须结束程序运行题目2用结构数组设计职工文件本章课程设计的目的是学习使用结构数组建立职工档案信息文件为了节省篇幅,设计不要求使用多文件编程,但要求使用头文件和菜单,并组成一个工程文件功能设计要求1建立wkrs职工数据结构,结构含有姓名、序号、性别和年龄信息2设计一个readin函数,以便采用问答式输入10个职工的信息并建立一个文件用来存储这10个职工的信息,约定文件名为workers3编写一个display函数,要求使用结构指针作为参数,用来输出职工文件的内容4编制一个srt函数,根据workers结构建立的职工情况,把职工姓名和年龄信息抽出来,存放在新建的wk_saw文件中5编制一个delwk函数,可以从简明数据文件wk_saw中删去指定的职工记录,如果文件里没有要删去的职工,则输出没有这个职工的信息如果将内容全部删除,则给出一个已经删空的提示信息并退出该操作6将上述函数编制在一个文件里,共用一个头文件7用一个简单的菜单提供上述操作菜单信息为1.输入数据2.显示原始数据3.制作简明数据4.删除简明数据5.退出运行左边数字对应功能选择请选1-5题目3学生成绩管理程序设计一个实用的小型学生成绩管理程序,它要求不用链表,而用数组来设计这个程序它有查询和检索等功能,并且能够对指定文件操作,也可将多个文件组成一个文件功能设计要求设计要求实现的功能较多,所以将它们分为几个部分叙述1.建立文件1可以使用默认文件名或指定文件名将记录存储到文件;2文件保存成功返回0,失败返回-1;3设置保存标志s__edTag作为是否已对记录进行存储操作的信息;4写同名文件将覆盖原来文件的内容;2.增加学生记录1可在已有记录后面追加新的记录;2可以随时用它增加新的记录,它们仅保存在结构数组中;3可以将一个文件读入,追加在已有记录之后;4如果已经采取用文件追加的方式,在没有保存到文件之前,将继续保持文件追加状态,以便实现连续文件追加操作方式;5如果没有记录存在,给出提示信息3.新建学生信息文件1用来重新建立学生信息记录;2如果已经有记录存在,可以覆盖原记录或者在原记录后面追加,也可以将原有记录信息保存到一个指定文件,然后重新建立记录;3给出相应的提示信息4.显示记录1如果没有记录可供显示,给出提示信息;2可以随时显示内存中的记录;3显示表头5.文件存储1可以按默认名字或指定名字存储记录文件;2存储成功返回0,否则返回-1;3更新存储标志6.读取文件1可以按默认名字或指定名字将记录文件读入内存;2读取成功返回0,否则返回-1;3可以将指定或默认文件追加到现有记录的尾部;4可以将文件连续追加到现有记录并更新记录的名次5更新存储标志7.删除记录1可以按“学号”、“姓名”或“名次”方式删除记录;2给出将被删除记录的信息,经确认后再删除;3如果已经是空表,删除时应给出提示信息并返回主菜单;4如果没有要删除的信息,输出没有找到的信息;5应该更新其他记录的名次;6删除操作仅限于内存,只有执行存记录时,才能覆盖原记录;7更新存储标志8.修改记录1可以按“学号”、“姓名”或“名次”方式修改记录内容;2给出将被修改记录的信息,经确认后进行修改;3如果已经是空表,应给出提示信息并返回主菜单;4如果没有找到需要修改的信息,输出提示信息;5应该同时更新其他记录的名次;6修改操作仅限于内存,只有进行存储操作时,才能覆盖原记录;
(7)更新存储标志9.查询记录1可以按“学号”、“姓名”或“名次”方式查询记录;2能给出查询记录的信息;3如果查询的信息不存在,输出提示信息10.对记录进行排序1可以按学号进行升序或降序排序;2可以按名称进行升序和降序排序;3可以按名次进行升序和降序排序;4)如果属于选择错误,可以立即退出排序;5更新存储标志11.头文件1使用条件编译定义头文件;2函数原型声明;3数据结构及包含文件;12.测试程序1应列出测试大纲对程序进行测试;2应保证测试用例测试到程序的各种边缘情况是基本要求,希望通过对本章设计的理解,重新考虑如何改进设计题目4链表信息管理设计的目的是学习建立链表,使用链表存储结构信息,增加链表结点及删除链表结点等基本操作实际设计时,可以增加数据信息及检索等功能功能设计要求设计要求实现如下功能1本课程设计是将重点放在整体设计上,只选成员代号和__2如果已经有记录,只能在其后追加3显示整个记录的内容(含有新追加的新记录)4使代号可由6位字符和数字的混合编码组成,例如下面的形式A2013405d010015使__号码可由18位字符和数字组成,例如下面的形式86-551-369946980451-8822757-34566可以删除全部记录,可以随时增加新纪录7使用菜单实现增加、删除和显示等功能的选择8使用宏定义动态申请存储空间
(9)测试程序题目5实用的小型通讯录设计一个实用的小型通讯录程序,它是在链表程序的基础上,增加查询功能,并且能够打开指定文件或修改指定文件及将多个文件组成一个文件功能设计要求设计要求实现的功能较多,所以将它们分为几个部分叙述1.建立文件1存储文件可以使用默认文件名或指定文件名;2可以不保存输入记录,但需要确认是否保存输入记录;3如果已经有文件,只能在其后追加;4新增的记录可以不存人原文件中,也可以用原来的文件覆盖内存的内容;5可以将两个文件合并到一个文件中2.文件的存取和显示1可以单独存取文件;2可以随时显示内存中记录的全部内容;3可以直接存取默认文件或指定文件3.删除记录1可以按“姓名”或“__”方式删除记录并更新内存链表内容;2能给出被删除记录的信息;3如果已经是空表,删除时应给出提示信息并返回主菜单;4如果没有要删除的信息,输出没有找到的信息;5删除操作仅限于内存,只有执行存记录时,才能覆盖原记录;
4.查询记录(1可以按“姓名”或“__”方式查询记录;2能给出查询记录的信息;3如果查询的信息不存在,输出没有找到的信息
5.整体功能1应可以随时检索、删除或增加新记录,保存或取消新的记录2使姓名可由16位字符和数字的混合编码组成;3使__号码可由18位字符和数字组成;4将输出信息加上输出信息栏,例如姓名__李玉梅
(86)一10-62593321LesgancockZhangSan0551-369996985对存储的文件进行整理归类;6定义ASK宏,用于申请动态内存;7使用菜单实现功能的正确选择
6.测试程序1应列出测试大纲对程序进行测试;2应保证测试用例测试到程序的各种边缘情况以上是基本要求,它并不是仅仅扩充链表文件课程设计的内容,而是希望通过对该题目的理解,重新考虑如何改进。