太原理工大学软件课程设计.docx

上传人:b****3 文档编号:2179392 上传时间:2022-10-27 格式:DOCX 页数:22 大小:253.99KB
下载 相关 举报
太原理工大学软件课程设计.docx_第1页
第1页 / 共22页
太原理工大学软件课程设计.docx_第2页
第2页 / 共22页
太原理工大学软件课程设计.docx_第3页
第3页 / 共22页
太原理工大学软件课程设计.docx_第4页
第4页 / 共22页
太原理工大学软件课程设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

太原理工大学软件课程设计.docx

《太原理工大学软件课程设计.docx》由会员分享,可在线阅读,更多相关《太原理工大学软件课程设计.docx(22页珍藏版)》请在冰豆网上搜索。

太原理工大学软件课程设计.docx

太原理工大学软件课程设计

 

课程设计

课程名称:

程序设计课程设计

设计名称:

相邻数对、ISBN识别码

文本文件单词统计、构造可以使

n个城市连接的最小生成树

专业班级:

软件1502班学号:

******5509

 

*******

 

*******

 

2017年06月23日

太原理工大学课程设计任务书

学生姓名

专业班级

软件

课程名称

程序设计课程设计(ProgrammingCurriculumDesign)

设计名称

相邻数对,ISBN识别码,文本文件单词统计等

设计周数

2

设计

任务

主要

设计

参数

1.基本要求

掌握C或C++语言、结构化程序和面向对象程序设计方法、数据结构和离散数学理论知识,熟悉C或C++程序的开发环境及调试过程,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。

2.培养学生以下技能

①培养学生查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。

②通过对所选题目分析,找出解决方法,设计算法,编制程序与调试程序。

③能熟练调试程序,在教师的指导下,完成课题任务。

④按课程设计报告的要求撰写设计报告。

设计内容

设计要求

1.设计内容

①相邻数对;②ISBN识别码;③文本文件单词统计;④构造可以使n个城市连接的最小生成树;⑤送货;⑥学生信息管理系统

2.设计要求

①至少完成上述设计内容中的4个设计题目;②对每个题目要给出设计方案、功能模块划分、算法思想;③选择使用的数据结构;④给出题目的程序实现;⑤按要求撰写设计报告。

主要参考

资料

1.《程序设计课程设计》指导书;

2.《程序设计技术》、《数据结构》等课程教材;

3.其他自选的相关资料。

学生提交

归档文件

课程设计报告封面应给出专业、班级、姓名、学号、指导教师和完成日期。

每个设计题目的内容包括以下几项:

设计题目、问题描述、问题分析、功能实现、测试实例及运行结果、源程序清单。

注:

1.课程设计完成后,学生提交的归档文件应按照:

封面—任务书—说明书—图纸的顺序进行装订上交(大张图纸不必装订)。

2.可根据实际内容需要续表,但应保持原格式不变。

指导教师签名:

日期:

2017.6.3

3.文本文件单词统计……………………………………………………………….5

4.构造可以使n个城市连接的最小生成树………………………………………11

题目一相邻数对

1.1【问题描述】

给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。

输入格式

输入的第一行包含一个整数n,表示给定整数的个数。

第二行包含所给定的n个整数。

输出格式

输出一个整数,表示值正好相差1的数对的个数。

1.2【设计及分析】

输入输出

6

1026378

3

测试数据输出说明

值正好相差1的数对包括(2,3),(6,7),(7,8)。

所以输出:

3

数据约定

1<=n<=1000,给定的整数为不超过10000的非负整数。

1.3【设计功能的实现】

#include"stdafx.h"

#include

usingnamespacestd;

intmain()

{

intn;intm=0;

cout<<"请输入数字个数:

";

cin>>n;

intA[1000];

cout<<"分别为:

\n";

for(inti=0;i

cin>>A[i];

}

for(inti=0;i

for(intj=i+1;j

if(((A[i]-A[j])==1)||((A[j]-A[i])==1))

{

m++;

}

}

}

cout<<"相邻数对个数为:

"<

return0;

}

1.4【测试及运行结果】

1.5【总结】

这个实验主要使用两个循环即可完成实验。

题目二ISBN识别码

2.1【问题描述】

每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3

位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是

识别码,例如0-670-82162-4就是一个标准的ISBN码。

ISBN码的首位数字表示书籍的出版语言,

例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二

个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。

识别码的计算方法如下:

首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod11,所得的余数即为

识别码,如果余数为10,则识别码为大写字母X。

例如ISBN号码0-670-82162-4中的识别码4是

这样得到的:

对067082162这9个数字,从左至右,分别乘以1,2,…,9,再求和,即

0×1+6×2+……+2×9=158,然后取158mod11的结果4作为识别码。

编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,

则输出是正确的ISBN号码。

输入格式

输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式

要求)。

输出格式

输出一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格

式,输出正确的ISBN号码(包括分隔符“-”)。

2.2【设计及分析】

输入1输出1

0-670-82162-4Right

输入2输出2

0-670-82162-00-670-82162-4

2.3【设计功能的实现】

#include"stdafx.h"

#include

usingnamespacestd;

chara[13];

intmain(){

inti=1,sum=0;intx;

cout<<"请输入标准ISBN码(X-XXX-XXXXX-X):

";

for(inti=1;i<=13;i++)

{

cin>>a[i];

}

sum=a[1]*1+a[3]*2+a[4]*3+a[5]*4+a[7]*5+a[8]*6+a[9]*7+a[10]*8+a[11]*9;

sum=sum-45*'0';

x=sum%11;

if(x==10&&a[13]=='X')

{cout<<"Right"<

return0;

}

elseif(x==a[13]-'0'){

cout<<"Right"<

return0;

}

elsefor(inti=1;i<=12;i++){cout<

if(x==10){

cout<<"X"<

return0;

}

elsecout<

return0;

}

2.4【测试及运行结果】

2.5【总结】

这个的关键点在于字符必须减去‘0’才可以进行运算。

题目三文本文件单词统计

3.1【问题描述】

假设有如下的英文文本文档:

(此处为太原理工大学学校简介英文版)

TAIYUANUNIVERSITYOFTECHNOLOGY

TaiyuanUniversityofTechnology(TUT)hasitshistorytracedallthewaybacktotheWesternLearningSchoolof

ShanxiGrandAcademy(1902),whichwasoneofthethreeearliestnationaluniversitiesinChina.Withthetraditionand

developmentofover100years,TUTisnowageneraluniversitywithengineeringasthemajor,sciencesandtechnology

integratedandcoordinatedevelopmentofmultipledisciplines.Itisauniversitythatisincludedinthe“Project211”---

thenationalhighereducationpromotionprogramfor100topuniversitiesinChina.

……

Recollectingthecentennialhistory,generationsofTUThavecreateditsmissionandgloryofacenturywithresponsibility

andconfidence;expectingthepromisingtomorrow,over30,000TUTstudentsandfacultyareproducingsplendorand

perspectivesbytheirwisdomanddiligence.Inthenewera,TaiyuanUniversityofTechnology,followingtheConception

ofScientificDevelopment,isdeterminedtofurtherthereformationoneducation,toreinforcetheteachingmanagementso

astoupgradeitsteachingandresearchinglevels.TaiyuanUniversityofTechnologywillbeturningitselfintoa

research-baseduniversity.

设计C或C++程序,统计在这样的英文文本文件中,出现了多少个单词,每个单词出现了几

次。

连续的英文字符都认为单词(不包括数字),单词之间用空格或标点符号分隔。

3.2【设计及分析】

要统计英文文本文件中出现了哪些单词,就要从文件中读取字符,读取出来的连续英文字符

认为是一个单词,遇空格或标点符号单词结束。

使用线性表记录单词以及每个单词出现的次数。

线性表中的单词按字典顺序存储。

线性表的顺序存储结构如下:

#defineLIST_INIT_SIZE100//线性表存储空间的初始分配量

#defineLISTINCREMENT10//线性表存储空间的分配增量

typedefstruct{

charword[21]//存储单词,不超过20个字符

i

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1