1、级程序设计课程设计安排要求: 10次上机(每次4机时)1. 从以下几类题中每类最少选择一个问题实现(正确完成 6 题以上),考评方法为程序验收和试验汇报。2. 验收时同学们自己准备好数据,写好测试步骤。3. 全部程序自己完成,不许可剽窃。4. 验收时间为最终两次上机。5. 上机期间不许可打游戏或做其它和课程设计无关事情,违反要求者将扣分。备选题目以下:一、算法类1、 设计一个复数类型计算程序,输入实部和虚部生成一个复数,可进行两个复数求和、求差、求积运算。2、 已知1月1日为星期五,输入任十二个月年份后,打印该年年历。3、 假定用一个整型数组表示一个长整数,数组每个元素存放长整数一位数字,实际
2、长整数m表示为:m=ak10k-1+ak-110k-2+.+a2101+a1 100其中a0保留该长整数位数。实现长整数除一般整数。4、 依据输入正整数N,计算N及以内每个数数据链(下一个数字是上一个数字每位平方和,直到该数字变成一位数。 比如:44-32 就是4*4+4*4=32 ),并统计数据链最终止果是1数个数。比如:对于数44,则数字链为:44-32-13-10-1,其规则为:4*4+4*4=32,3*3+2*2=13,1*1+3*3=10,1*1+0*0=1。最终止果是1。而对于42,数字链为:42-20-4。最终止果不是1。二、文件类1、 用文件保留一段英文文本。(1) 统计各字母
3、在文本中出现次数(区分大小写),并按英文字母序输出统计结果。(2) 查找并替换文本中某字符串,将替换后文本存入另一个文件。2、 编写程序XMLtoTXT自动将XML文件email.xml转换为文本文件email.txt。命令行格式:XMLtoTXT email.xml email.txt。 Where is your paper?where is the paper you promised me last week?(a)from:to:subject:Where is your paper?body:where is the paper you promised me last week?
4、(b)图(a)为文件email.xml;图(b)为文件email.txt3、 现有两个文本文件file1.txt和file2.txt。file1中第一列为姓名,第二列为英语成绩;file2中第一列为姓名,第二列为数学成绩。经过程序关联file2中和file1对应姓名生成file3.txt文件。file3.txt文件第一列为姓名,第二列为英语成绩,第三列为数学成绩,第四列为平均成绩。 file1.txt file2.txt file3.txtBob 90David 80George 84Jack 64 Jim 95George 74David 82Paul 70Jack 70Bob 86 Bob
5、 90 86 88David 80 82 81George 84 74 79Jack 64 70 67三、字符串类1、 用字符数组保留一个英文句子。(1) 删除该英文句子前导空格、后导空格、句中多出空格(单词之间只留一个空格)。(2) 统计句中某单词出现次数。(3) 查找并替换某单词。2、 检验C源程序圆括号和大括号是否匹配。正确例子如:(()()()),不正确例子如:()。3、 文本文件num1.txt和num2.txt中各有一组用空格分隔整数,将num1.txt和num2.txt联合排序,并将结果保留在num3.txt中。num1.txt: 20 15 25 0 3 100 120 6 1
6、4num2.txt: 125 63 1233 2 10 17 133 99 1 num3.txt0 1 2 3 6 10 14 15 17 20 25 63 99 100 120 125 133 12334、 比较两个文本文件并打印出它们第一个不相同行(文件每行字符数不多于80)。四、综合类1、 通讯录管理软件。通讯者信息包含:姓名、性别、手机、Email、地址。软件功效:添加、查询、删除、全部输出。 2、 图书管理系统设计图书信息包含:书名、ISBN号、单价、作者、存在状态、借书人姓名、性别、学号等。软件功效:1、 图书输入、查询、删除。2、 借书人注册、销户。3、 办理借书手续、办理还书手
7、续。4、 图书查询(可依据书名、ISBN号、作者查询),完整显示查询结果。3、模拟KTV点歌系统。用户可按歌名查找某首歌曲或按歌手名查找其全部歌曲,点歌后显示所点歌曲歌词。管理员可添加和删除歌曲,每个歌曲歌词用一个单独文件存放。五、其它类1、 程序自动生成一个在9001000内随机数,要求用户猜这个数。用户输入一个数后,程序有三种应答:too big,too small,you win。2、 编写英文词典软件。输入一个英文单词,可查询其释义。软件还应能添加、删除、修改某单词及释义。3、 用面向对象思想模拟简单mp3播放器功效。功效键有:播放(Play)、停止(Stop)、快进(Fast-for
8、ward)、快退(Rewind)、音量调整(volume)、显示歌曲属性(Property)。歌曲属性包含:曲目名称(Title)、曲目长度(Duration)、艺术家(Artist)。当功效键有效时,按下功效键后显示功效名称等相关信息;当功效键无效时,按下功效键后应给出无效提醒。假设现在mp3中只有一首歌曲,歌曲属性以下:(注意:1. 显示歌曲属性键随时可用。2. 其它键使用应结合实际情况。)PropertyTitle: YesterdayDuration: 02:09Artist: Beatles附:清空输入缓冲区fflush(stdin)演示/从键盘中对字符变量进行赋值时,因未清空缓冲区
9、,轻易把回车键赋值给变量。见程序:/清空输入缓冲区fflush(stdin)演示/#include stdafx.h#include “stdio.h”int main(int argc, char* argv)char chInput = 0;printf(本程序功效:n1 验证字符输入 ,不满足要求时循环输入;n2 清空输入缓冲区fflush(stdin)演示nn);printf(请输入a-z之间字符:);scanf(%c,&chInput);while(chInput z | chInput a)/fflush(stdin);/清空输入缓冲区printf(n输入字符不在 a-z之间,请重新输入);printf(请输入a-z之间字符:);scanf(%c,&chInput);printf(输入正确!n);return 0;程序运行结果:当输入不在a-z之间字符时,会连续输出2次提醒信息。原因是未清空输入缓冲区,把回车键也赋给变量.修改程序,取消代码中“/fflush(stdin);”注释,编译运行结果以下: