C语言课程设计报告Word下载.docx
《C语言课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
指导教师:
徐遵义
完成日期:
2010.6.18
课程设计任务书三
设计题目
已知技术参数和设计要求
1、主要参数:
一个字符串,子字串长度,待查找字符或字符串。
2、完成以下功能:
计算字符串的长度;
获取字符串的左、右给定长度的字符子串,给定始点和长度的字符子串;
字符或字符串的查找,字符串的全部变换为大写字符;
3、要应用以下知识点:
字符串基本输入、输出;
循环控制结构;
字符数组。
设计内容与步骤
1、将字符串的最大长度定义为符号常量;
2、定义字符串为一维数组或一块连续内存空间;
3、分析设计所有的操作;
4、程序设计、实现、调试;
5、课程设计说明书;
设计工作计划与进度安排
1、设计工作4学时;
2、实现与调试4学时;
3、课程设计说明书2学时;
设计考核要求
1、考勤20%;
2、课程设计说明书50%,完成基本的操作可以获得40分,如果能实现要求的矩阵的所有操作功能则可得满分;
3、答辩30%;
指导教师(签字):
教研室主任(签字)
课程设计任务书五
万年历程序
输入日期或月份。
已知2000年1月1日是星期六,请根据给定的日期(格式为YYYY/MM/DD或YYYY.MM.DD)显示该日是星期几,根据输入的月份(格式为YYYY/MM或YYYY.MM)以日历形式显示本月各日所对应星期,要考虑日期以程序命令行参数方式输入。
字符数组基本输入、输出;
分支结构;
命令行参数。
1、设计可识别的日期格式如2009/04/08,2009.04.08,2009/04,2009.04等;
2、分析设计所有的操作;
3、程序设计、实现、调试;
4、课程设计说明书;
课程设计任务书七
简单的数据文件格式变换
输入用空格分割的数据文件,输出为逗号分割的数据文件。
完成将用空格分割的数据文件转化为逗号分割的数据文件;
将原文件中的每两行合并为一行输出,合并行之间用分号分割;
文件的读写;
字符的操作;
命令行参数的使用。
1、分析给定文件中存在的数据分割格式,定义两个字符数组作为文件读写缓冲区;
1、设计工作8学时;
2、实现与调试8学时;
3、课程设计说明书4学时;
2、课程设计说明书50%,完成基本的操作可以获得40分,如果能实现要求的文件格式转换功能则可得满分;
题目三:
一、问题描述
字符和字符串处理是现实生活中很多问题的基本处理之一,如字典管理、姓名查询等。
本任务书要求:
1、接收输入任意长度的字符串,但在输入前大体知道要输入串的总长度;
2、获取已知字符串的实际长度;
3、获取已输入字符串左端或右端长度为n的字符串,若n大于字符串总长度则获取整个字符串;
4、根据给定的起始位置和长度获取已知字符串中间部分子串;
5、判断给定字符是否在已知字符串中,若存在给出所在位置;
6、将已知字符串反转;
7、将字符串中所有字符变换为大写字符;
二、基本要求
完成基本的操作可以获得40分,如果能实现要求的字符串的所有操作功能则可得满分;
三、程序结构流程图
四、主要函数描述
Str1:
输出字符串左端或右端长为n的字符串
Str2:
输出给定起始位置与长度的字符串
Str3:
在已知字符串中找所输入的字符
Str4:
将字符串中的字符全变换为大写字符
Str5:
将输入的字符串反转
五、测试数据及测试情况
要求说明为什么使用这些测试数据,测试情况需要拷贝屏幕执行结果。
题目五:
根据给定的日期(格式为YYYY/MM/DD或YYYY.MM.DD)显示该日是星期几,根据输入的月份(格式为YYYY/MM或YYYY.MM)以日历形式显示本月各日所对应星期,要考虑日期以程序命令行参数方式输入。
若输入:
2009/04
thecalendarofthismonthasfollowing
*********************************
SUNMONTUEWENTHUFRISTA
1234
567891011
12131415161718
19202122232425
2627282930
OK!
2009/04/01则输出
Thisday(2009/04/01)isWEDNESDAY(3)
完成基本的操作可以获得40分,如果能实现要求的万年历的所有操作功能则可得满分;
DataTrans:
将字符串表示的日期变换为整数分别表示的年、月、日
IsLeapYear:
判断给定的年份是否是闰年
GetWeekOfFirstday:
相对于2000年1月1日是星期六,计算查询年nYear1月1日是星期几
GetWeek:
计算查询日是星期几
PrintCalendar:
根据查询日、星期几打印日历
题目七:
将原文件中的每两行合并为一行输出,合并行之间用分号分割,如下所示
完成基本的操作可以获得40分,如果能实现要求的文件格式转换功能则可得满分;
fgets:
输入指定文件
fopen:
打开指定文件
fclose:
关闭指定文件
feof:
是否读文件到尾部
fread:
每次从被读文件读取指定大小的数据存到指定的文件
fprintf:
从一个文件以指定的方式写入另一个文件
结论
本次课程设计你学到了那些东西,有何不足和体会;
回想学习C语言的过程中,既有快乐又有烦恼。
从领到书的那一刻,我就很郁闷,《C语言程序设计》到底事学什么的,有什么用。
刚开始上课时,还在迷茫这门课程是用来做什么的。
不过,这些感受都是在对这门课程不了解的情况下产生的。
后来慢慢的接触多了,听老师讲的多了,了解多了,渐渐的产生了兴趣。
尤其是学到语句和函数时,上机操作程序,经过编译,调试和运行后,出现界面,当时觉得很好奇,想真正的学好这门课程。
通过半个学期的学习,我掌握了基本知识。
下学期开始时,被通知要进行课程设计。
当时有点懵,感觉学的东西很少,很零散,不知该怎么练到一起,就要课程设计,是不是太难为我们了。
前几周基本上都是在看书,把基本知识再熟悉一边。
老师发过来十道练习题,从中选了三道,从这几道练习题上我得到了不少启发,然后我们组把整个程序的思路理清了,开始着手写程序。
过了几周,我感觉自己收获挺大的,从一开始的迷茫,不知道从何下手到把程序中的几个模块编写出来,心里挺开心的。
虽然设计时完成了,但是我觉得其中还是由一些不足之处:
1.警告句。
程序中缺少一些警告句,例如:
“是否继续(y/n)?
”。
2.重名的情况。
由于考虑的不周全,没有设计遇到重名的情况该怎么处理。
3.选择单一。
我们设计的程序中,只设计了按名字选择,进行操作,忽略了重名的情况。
整个程序完成了,还有很多不完善的地方,希望自己以后办事的时候要认真,仔细,考虑周全。
课程设计结束了,但是这段时间里,我又学到了更多C知识,如:
对象数组,string类,文件流等,同时我也被提醒以后办事的时候要认真,仔细,考虑周全。
,也看到了团队精神和互帮互助的重要性。
这一点会让我终生受益。
通过几周的课程设计,我觉得自己肚子里的墨水多了,收获也挺大的,这几周过的挺充实!
参考文献
[1].《C语言程序设计》
[2].《电脑知识与技术》
[3].网络查询
课程设计指导教师评语
班级:
软件091学生姓名:
赵德昌学号:
2009111123
指导教师评语(包括工作态度,遵守纪律;
基本理论、知识、技能;
独立工作能力和分析解决问题的能力;
完成任务情况及水平):
学生成绩(百分制):
指导教师签名:
年月日
附件
//任务三单个字符串的基本操作
(代码名:
3.cpp)
#include<
stdio.h>
stdlib.h>
string.h>
#defineN80
voidStr1(intm,intn,charmemblock[]);
voidStr2(intp,intq,intm,charmemblock[]);
voidStr3(charc,intm,charmemblock[]);
voidStr4(charmemblock[],intm);
voidStr5(intm,charmemblock[]);
//目录函数
voidmnuMain()
{
printf("
\n"
);
*********************程序功能目录********************\n"
********程序功能******************与功能对应的选择***\n"
输出字符串左端或右端长为n的字符串1\n"
输出给定起始位置与长度的字符串2\n"
在已知字符串中找所输入的字符3\n"
将字符串中的字符全变换为大写字符4\n"
将输入的字符串反转5\n"
退出程序0\n"
****************************************************\n"
}
voidmain()
charstr[N],c;
intm,n,p,q,Q;
请输入一个字符串:
"
scanf("
%s"
st