中南大学C语言课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计第一题

题目要求

data1.txt和data2.txt,两个文件中都有很多数字,用空格隔开。运行程序,计算这两个文件中数字的交集,并且排好序,存放在jiao.txt中;计算这两个文件中数字的并集,并且排好序,存放在bing.txt

需求分析

(1)输入两组若干个int型类型的数据;

(2)输出两组数据以及它们的交集和并集;

(3)程序可对输入的两组数据进行交并集处理,并分别保存在文件中;

(4)第一组->data1:3 67 45 2 4

data2:4 76 89 125 7

第二组->data1:56 78 90 3 77 18 45 3 168

data2:88 4 77 35 8 46 0 85 78 99 23 1

……

概要设计

(1)输入若干个int类型的数据给data1.txt,再随机输入若干个int类型的数据给data2.txt。

(2)程序将根据所给的data1和data2的数据通过调用jiao函数对它们的交集进行求解,通过调用save1函数将其结果保存在jiao.txt文件中。

(3)程序将根据所给的data1和data2的数据通过调用bing函数对它们的并集进行求解,通过调用save2函数将其结果保存在bing.txt文件中。

(4)在交并集保存在相应文件之前,通过调用sort函数对其进行从小到大的排序

详细设计

流程图:

(sort函数)

(save2函数)

(save4函数)

(fun函数)

(main函数)

测试结果:

第一组:

data1:

data2:

输出结果:

并集:

第二组:data1:

data2:

输出结果:

并集:

第三组:data1:

data2:

输出结果:

并集:

课程设计第二题

题目要求

文件conf.txt中保存了很多字符,如:ajgdjauqwieueuiwqwgdakdhkjduiwhdsdhkjdk.运行程序,计算这个文件中各个字母出现的频率,频率=出现的次数/总字母数。将频率存储在文件rate.txt中。格式为:

a : 3.20%

k : 3.80%

……

需求分析

(1)从键盘键入若干小写字母组成的字符,以回车键结束字符输入;

(2)计算机将输出a—z所对应的出现频率;

(3)程序自动统计a—z的出现频率,并将结果保存到文本文件中;

(4)测试数据:

例如:输入 gsjfa fhj fh h hsdgfyuweguthfer eutguierghuerhguiergiu

eugtuerigi

结果 a: 1.5% b: 0.0% c: 0.0% d: 1.5% e: 12.3%

f: 7.7% g: 13.8% h: 10.8% i: 7.7% j: 3.1%

k: 0.0% l: 0.0% m: 0.0% n: 0.0% o: 0.0%

p: 0.0% q: 0.0% r: 7.7% s: 3.1% t: 4.6%

u: 13.8% v: 0.0% w: 1.5% x: 0.0% y: 1.5%

z: 0.0%

……

概要设计

(1)从键盘键入小写字母所组成的字符串,通过count来记录实际键入的字符个数。(2)通过调用save1函数将输入的字符串保存到conf.txt文件中。

(3)调用search函数计算出各个字母所出现的频率,同时将其频率分别存放在WORD 的数组中。

(4)在通过调用save2函数将字母及其频率保存在rate.txt文件中。

详细设计

流程图:

(search函数)

(save1函数)

(save2函数)

(main函数)

测试结果第一组:输入字符:

输出结果:

统计结果:

第二组

输入字符:

输出结果:

统计结果:

参考文献

《C语言程序设计》(谭浩强著)

用到的软件:

Visual C++ 6.0 C-Free 4.0 C流程图生成器

课程设计总结

一周的课程设计已经结束了。回想学习C语言的过程中,既有快乐又有烦恼。从领到书的那一刻,我就很郁闷,《C 语言程序设计》到底事学什么的,有什么用。刚开始上课时,还在迷茫这门课程是用来做什么的。不过,这些感受都是在对这门课程不了解的情况下产生的。后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。尤其是学到语句和函数时,上机操作程序,经过编译,调试和运行后,出现界面,当时觉得很好奇,想真正的学好这门课程。通过半个学期的学习,我掌握了基本知识。下学期开始时,被通知要进行一周的课程设计当时有点懵,感觉学的东西很少,很零散,不知该怎么练到一起,就要课程设计,是不是太难为我们了。

第一天基本上都是在看书,把基本知识再熟悉一边。到了下午的时候,老师发过来四道练习题,从这几道练习题上我得到了不少启发,然后我们组把整个程序的思路理清了,开始着手写程序。第一天结束的时候,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。但是,到了第二天,我们由不得不再次陷入困境。在整个程序的编写过程中。最难的就是修改和删除这两个模块,这也是我们第二天要解决的重点问题。开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。困难之时,我们组的其他人,帮助了我,完成了修改和删除。这样的话,整个程序基本上全部完成了,就剩下完善工作了。我们组写了两个程序,最后,两个程序相互组合,互补,大功告成虽然设计时完成了,但是我觉得其中还是有一些不足:* 1.警告句。程序中缺少一些警告句,例如:“是否真的删除(y/n)”;

* 2. 重名的情况。由于考虑的不周全,没有设计遇到重名的情况该怎么处理;

* 3. 选择单一。我们设计的程序中,只设计了按名字选择,进行操作,忽略了重名的情

相关文档
最新文档