当前位置: 首页 > 设计/艺术 >

级程序设计课程设计题目安排

2015 级《程序设计课程设计》安排
要求: 10 次上机(每次 4 机时)
1. 从以下几类题中每类至少选择一个问题实现(正确完成 6 题以上),考核方式为程序验 收和实验报告。
2. 验收时同学们自己准备好数据,写好测试流程。 3. 所有程序自己完成,不允许抄袭。 4. 验收时间为最后两次上机。 5. 上机期间不允许打游戏或做其他与课程设计无关的的事情,违反规定者将扣分。
备选题目如下:
一、算法类 1、 设计一个复数类型计算程序,输入实部和虚部生成一个复数,可进行两个复数求和、求
差、求积运算。 2、 已知 2016 年 1 月 1 日为星期五,输入任一年的年份后,打印该年的年历。 3、 假定用一个整型数组表示一个长整数,数组的每个元素存储长整数的一位数字,实际的
长整数 m 表示为:
4、 m=a[k]×10k-1+a[k-1]×10k-2+….+a[2]×101+a[1] ×100
5、 其中 a[0]保存该长整数的位数。实现长整数除普通整数。 6、 根据输入的正整数 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、 用文件保存一段英文文本。
2、 (1) 统计各字母在文本中出现的次数(区分大小写),并按英文字母序输出统计结果。
3、 (2) 查找并替换文本中的某字符串,将替换后的文本存入另一个文件。
4、 编写程序 XMLtoTXT 自动将 XML 文件 email.xml 转换为文本文件 email.txt。
命令行格式:XMLtoTXT email.xml email.txt。

<email> <head> <from> </from> <to> </to> <subject> Where is your paper?</subject> </head> <body>where is the paper you promised me last week?</body>
</email>

(a)
subject:Where is your paper? body:where is the paper you promised me last week?

(b) 图(a)为文件 email.xml;图(b)为文件 email.txt 5、 现有两个文本文件 file1.txt 和 file2.txt。file1 中第一列为姓名,第二列为英语成绩;file2 中第一列为姓名,第二列为数学成绩。通过程序关联 file2 中与 file1 对应的姓名生成 file3.txt 文件。file3.txt 文件第一列为姓名,第二列为英语成绩,第三列为数学成绩,第 四列为平均成绩。

file1.txt

file2.txt

file3.txt

Bob 90 David 80 George 84 Jack 64

Jim 95 George 74 David 82 Paul 70 Jack 70 Bob 86

Bob 90 86 88 David 80 82 81 George 84 74 79 Jack 64 70 67

三、字符串类 1、 用字符数组保存一个英文句子。

2、 (1) 删除该英文句子的前导空格、后导空格、句中多余空格(单词之间只留一个空格)。

3、 (2) 统计句中某单词出现的次数。

4、 (3) 查找并替换某单词。

5、 检查 C 源程序的圆括号和大括号是否匹配。正确的例子如:({((…)(…))}()),不正

确的例子如:{(})。 6、 文本文件 num1.txt 和 num2.txt 中各有一组用空格分隔的整数,将 num1.txt 和 num2.txt
联合排序,并将结果保存在 num3.txt 中。 num1.txt:
20 15 25 0 3 100 120 6 14
num2.txt:
125 63 1233 2 10 17 133 99 1
num3.txt
0 1 2 3 6 10 14 15 17 20 25 63 99 100 120 125 133 1233 7、 比较两个文本文件并打印出它们第一个不相同的行(文件每行字符数不多于 80)。 四、综合类 1、 通讯录管理软件。 2、 通讯者信息包括:姓名、性别、手机、Email、地址。 3、 软件功能:添加、查询、删除、全部输出。 4、 图书管理系统设计
图书信息包括:书名、ISBN 号、单价、作者、存在状态、借书人姓名、性别、学号等。 软件功能: 1、 图书输入、查询、删除。 2、 借书人注册、销户。 3、 办理借书手续、办理还书手续。 4、 图书查询(可根据书名、ISBN 号、作者查询),完整显示查询结果。 3、模拟 KTV 点歌系统。用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲,点歌后显 示所点歌曲歌词。管理员可添加和删除歌曲,每个歌曲的歌词用一个单独的文件存储。 五、其他类 1、 程序自动生成一个位于 900~1000 内的随机数,要求用户猜这个数。用户输入一个数后, 程序有三种应答:too big,too small,you win。 2、 编写英文词典软件。输入一个英文单词,可查询其释义。软件还应能添加、删除、修改 某单词及释义。 3、 用面向对象的思想模拟简单的 mp3 播放器功能。功能键有:播放(Play)、停止(Stop)、 快进(Fast-forward)、快退(Rewind)、音量调节(volume)、显示歌曲属性(Property)。

歌曲属性包括:曲目名称(Title)、曲目长度(Duration)、艺术家(Artist)。当功能键有 效时,按下功能键后显示功能名称等相关信息;当功能键无效时,按下功能键后应给出 无效提示。假设目前 mp3 中只有一首歌曲,歌曲属性如下:(注意:1. 显示歌曲属性键 随时可用。2. 其他键的使用应结合实际情况。)

Property Title: Yesterday Duration: 02:09 Artist: Beatles

附:

清空输入缓冲区 fflush(stdin)的演示

//从键盘中对字符变量进行赋值时,因未清空缓冲区,容易把回车键赋值给变量。见程序:

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//清空输入缓冲区 fflush(stdin)的演示

//#include "stdafx.h"

#include “stdio.h”

int main(int argc, char* argv[])

{

char chInput = '0';

printf("本程序功能:\n 1 验证字符输入 ,不满足要求时循环输入;\n 2 清 空 输 入

缓冲区 fflush(stdin)的演示\n\n");

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);”的注释,

编译运行结果如下:




友情链接: year2525网 工作范文网 QS-ISP 138资料网 528200 工作范文网 baothai 表格模版