南京邮电大学通达学院 软件工程 上机编程实验
南京邮电大学软件设计TCPIP网络通信程序设计实验报告

201 /201 学年第二学期课程设计实验报告模块名称TCP/IP网络通信程序设计专业学生班级学生学号学生姓名指导教师QT5.6环境下的源代码目录题目1获取计算机的名称和IP地址 (1)1、设计内容 (1)2、设计分析论述及程序实现流程框图 (1)3、关键实现代码及注解 (2)4、程序运行测试与结果 (4)5、程序设计中遇到的问题及改进思路 (4)题目2基本C/S模式的通信实验 (4)1、设计内容 (4)2、设计分析论述及程序实现流程框图 (5)3、关键实现代码及注解 (8)4、程序运行测试与结果 (21)5、程序设计中遇到的问题及改进思路 (22)题目3简单的浏览器的实现 (23)1、设计内容 (23)2、设计分析论述及程序实现流程框图 (24)3、关键实现代码及注解 (25)4、程序运行测试与结果 (26)5、程序设计中遇到的问题及改进思路 (28)题目4利用smtp协议发送邮件 (28)1、设计内容 (28)2、设计分析论述及程序实现流程框图 (28)3、关键实现代码及注解 (29)4、程序运行测试与结果 (36)5、程序设计中遇到的问题及改进思路 (36)课程设计小节 (37)附录 (37)题目1获取计算机的名称和IP地址1、设计内容获取计算机的名称和IP地址实验编写程序实现下述功能:获取计算机的名称和IP地址2、设计分析论述及程序实现流程框图Qt Creator是一个用于Qt开发的轻量级跨平台集成开发环境。
Qt Creator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境(IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。
即使不开发Qt应用程序,Qt Creator也是一个简单易用且功能强大的IDE。
Qt数据库中提供QtNetwork Module中的QHostInfo、QHostAddress、QNetworkInterface和QNetAddressEntry等类来查询网络参数。
南京邮电大学软件设计实验报告

通信与信息工程学院2012/2013学年第二学期软件设计实验报告模块名称Visual C++专业广播电视工程学生班级B100117学生学号B10011714学生姓名王建明指导教师田炜题目一:P021E实验要求:设计一个简单的文本编辑器,该系统要求对一个文本文件中的容进行各种常规操作,例如:(1)编辑文本;(2)保存、打开指定位置的文本文件;(3)具有输入输出界面。
1、问题分析与方案设计。
本次程序主要为了让我们了解C语言中对于文件的一般操作。
文件是程序设计中的一个重要概念。
操作系统是以文件为单位对数据进行管理的,也就是说,如果想找外部介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取数据。
C语言把文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。
根据数据的组织形式,可分为ASCII文件和二进制文件。
ASCII文件又称文本(text)文件,他的每一个字节放一个ASCII代码,代表一个字符。
二进制文件是把存中的数据按其在存中的存储形式原样输出到磁盘上存放。
在文件系统中,“文件指针”是一个非常重要的概念,通常在进行关于文件操作的C程序时,会定义一个结构体变量的文件指针(FILE *fp),以便于C语言程序能够准确的对文件进行访问及操作。
本次实验程序包含了简单地对于文件的打开、插入、删除、查找、替换、显示、保存的操作,通过对于文件指针的运用以及各种文件指令的运用,基本达到了实验的要求。
在本次实验中,按照顺序程序的设计方法,加以熟练地运用C程序中主函数与一般函数之间的熟练调用,顺利的实现了实验要求的各种结果。
程序中用到的核心方法包括:文件的打开与关闭、文件的读写、文件的定位以及文件的出错检测等。
其中包括了fopen、fclose、fputc、fgetc、fread、fwrite、rewind、fseek、ftell和ferror等函数。
这些函数对算法的实现起了很大的作用具体算法实现过程如下图所示。
软件工程上机实验报告(1-10)

SHANGHAI UNIVERSITY<软件工程>实验总结学院计算机工程与科学学院学号10122050姓名王杰指导老师陈圣波日期2014.03实验一软件工程标准化文档一、实验目的1.了解国家标准GB/T8567-20062.熟悉软件产品开发文件的基本内容二、实验内容1.搜索和下载国家标准GB/T8567-2006。
2.通过阅读国家标准GB/T8567-2006,将以下文字填写完整:3.通过阅读国家标准GB/T8567-2006,填写以下表格:实验2 数据流分析【说明】某直达列车车票预售系统接受顾客的订票和取票业务。
1.顾客为了提前订票,可向系统提供个人信息及其预订购的车次和日期,系统根据个人信息是否齐全和车次是否正确来判断订票单是否合格。
对于合格的订票单,系统通过查找座位表审核相应的车次是否有剩余票。
如果有剩余票,则记录顾客个人信息以及订票信息,并向顾客提供取票单。
2.到了可以取票的时间,顾客向系统提供取票单,在检查单据合格的情况下,系统想顾客提供火车票。
3.售票员可以利用系统查询各车次车票的已订购、已售出和剩余情况。
【问题1】画出系统的顶层数据流图。
【问题2】对问题1的结果进行分解,画出0层和1层数据流图。
(1) 系统的顶层数据流图直达列车车票预售系统顾客不合格订票单取票单(2)0层数据流图1订票2取票订票信息表旅客信息表列车时刻表订票单取票通知无票通知火车票取票单3.查询工作人员各车次车票的已订购、已售出和剩余情况车次车票信息1层数据流图实验三下面为模块“产生毕业典礼学生表”的功能描述,请画出该模块的程序流程图和PAD 图。
记录StudentRecord 给出即将大学毕业的学生的姓名和平均分(GPA )。
我们的目的是建立一个参加毕业典礼的学生表。
候选毕业的学生表从文件”StudRecs”读入。
因为学校规定:GPA 低于minGPA 的学生不能毕业,因此那些平均分低于minGPA 的学生不参加毕业典礼。
南邮通达《Matlab编程技术实验》期末试卷A

南京邮电大学通达学院 2015/2016学年第 二 学期《Matlab 编程技术实验》期末试卷 A本试卷共4页; 考试时间 110 分钟;专业 班级 学号 姓名1. 在桌面新建一个文件夹,命名为“你的学号+姓名”,如:学号为14110101,姓名为张三,则新建的文件夹名为:14110101张三;2. 将word 版试卷拷贝到“你的学号+姓名”的文件夹内,并改名为“你的学号+姓名.doc”,把解题代码和答案保存在此word 文档相应题目下方;3. 请把解答每道题过程中使用的Matlab 程序代码分别用一个M 文件保存,每个M 文件的文件名命名为T+题号。
如保存第一题的代码的M 文件为T1.m ,T1为该M 文件的文件名,.m 为M 文件的后缀。
最后把所有M 文件也保存在以你的学号+姓名命名的文件夹内。
一、简单计算题(60分,每小题10分)(以下各题请写出解题过程所用的代码和结果并保存)1、已知数组x=[9,27,15,0,29,7,4,17,39,117],请找出数组x 中大于12的元素及这些元素所对应的位置。
(10分)2、已知矩阵A=[1,3,4; 2,6,7; 1,9,5]和矩阵B=[4,2,6;4,9,3;5,7,10],请计算出A+B, A .*B, A .^3,4*B 。
(10分)3、已知矩阵C=[4,2,0;0,3,1;0,0,6],请计算出矩阵C 的特征值和特征向量。
(10分)守试则试作装 订 线 内 不 要 答 题自 觉遵 考 规 ,诚 信 考 ,绝 不 弊4、创建符号对象计算01cos 4lim 4x x y x →-=和2221lim(1)1n n z n →∞=++(10分)5、有如下联立方程组,请先根据系数矩阵与未知数的关系判断是否存在唯一确定解,并求出方程组的解。
(10分)34712457423859652108x y z w x y z w x z w x y z w +--=⎧⎪-++=-⎪⎨+-=⎪⎪-+-+=-⎩6、创建符号对象x , 求积分211x R dx e ⎛⎫=- ⎪+⎝⎭⎰。
《软件工程》第一次实验报告

可达到数据录入迅速、规范、可靠; 统计准确,制表灵活,适应力强,容易扩充。
具有易用性、灵活性、开放性与可视性
通达学院
实验报告
(2015 / 2016
课程名称软件工程
实验名称实验1:软件需求规格说明书的设计和撰写「
实验时间2015年11月16日
指导单位物联网学院
扌旨导教师赵莎莎
学生姓名汤勇班级学号13002918
学院(系)物联网学院专 业物联网工程
实验名称
实验1:软件需求规格说明书的设计和撰写
指导教师
赵莎莎
实验类型
上机P实验学时2
实验时间
2015-11-16
一、实验目的
1.熟练掌握软件需求规格说明书的编制
2.学会软件的可行性分析
3.学会绘制用例图
4.学会绘制UML舌动图(泳道图)
5.学会绘制ERD图
6.学会绘制类图
二、实验环境(实验设备)
1.每位学生配备计算机一台
2.计算机需安装文字处理系统(word)、绘图软件(visio)或UML建模工具(ArgUML) 等
三、实验内容
为满足毕业论文工作的要求,南京邮电大学教务处需要你公司开发一套本科毕业 设计(论文)网上选题系统。作为一名软件公司的工程主管,你与学校教务处经过反 复交流以后,明确了系统的基本需求,请你编制一份《南京邮电大学本科毕业设计 (论文)网上选题系统需求说明书》。
1.系统需求概述
主要功能:教师.学生可以通过用户名和密码认证进入该系统,学生可以自由选择 教师公布的课题。
性能要求:所有数据实时更新保持同步,且定时备份。
输出要求:简单、快捷、实时。
输入要求:及时的修改和更新学生、教பைடு நூலகம்基本的信息。
南邮MATLAB上机实验

实验一:MATLAB语言平台与SIMULINK工具箱一、目的与任务1.学习了解MATLAB语言环境;2.练习MATLAB命令;4.掌握SIMULINK工具箱的应用。
二、内容与要求1.实验内容(1)学习了解MATLAB语言环境;(2)练习MATLAB命令的基本操作;(3)掌握SIMULINK仿真环境的使用方法;(4) 掌握线性系统仿真常用基本模块的用法2.要求按照实验文档的要求与步骤完成实验,撰写实验报告。
三、实验基本知识:1.熟悉MATLAB环境:MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。
2.掌握MATLAB常用命令3.了解SIMULINK模块库中各子模块基本功能四、上机练习1.学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye(其它不会用的指令,依照此方法类推)>> help eyeEYE Identity matrix.EYE(N) is the N-by-N identity matrix.EYE(M,N) or EYE([M,N]) is an M-by-N matrix with 1's onthe diagonal and zeros elsewhere.EYE(SIZE(A)) is the same size as A.EYE with no arguments is the scalar 1.EYE(M,N,CLASSNAME) or EYE([M,N],CLASSNAME) is an M-by-N matrix with 1'sof class CLASSNAME on the diagonal and zeros elsewhere. Example:x = eye(2,3,'int8');See also speye, ones, zeros, rand, randn.Reference page in Help browserdoc eye>> D=eye(3)D =1 0 00 1 00 0 12.任意创建3个变量,分别为数值、矩阵、字符串,保存到mydat.mat文件,再把my_data.mat文件中的变量读取到MatLab工作空间内;查找已创建变量的信息,删除变量;学习使用clc、clear,观察command window、command history和workspace等窗口的变化结果。
C语言程序设计实验报告

南京邮电大学通达学院程序设计(上机)报告题目: R015M专业通信工程学生姓名班级学号指导教师日期 2020.11.18给定n个点的坐标,这n个点依次围成一闭合多边形,再给一点(x,y),判断它是否在多边形中。
课题分析:1、Double函数的应用:double是C语言的一个关键字,代表双精度浮点型。
占8 个字节(64位)内存空间。
其数值范围为1.7E-308~1.7E+308,精度完全保证的有效数字是15位,16位只是部分数值有保证。
可以用格式化输入输出语句scanf和printf进行double类型的输入输出,格式化字符为%lf。
2、赋值中的类型转换当赋值运算符两边的运算对象类型不同时,将要发生类型转换,转换的规则是:把赋值运算符右侧表达式的类型转换为左侧变量的类型。
3、利用自定义的函数实现叉乘4、Input():input属于printf()函数中的式样化字符串,将输出结果格式化并将输入的参数返回到程序中。
printf()函数用于向准则输出设备按规定式样输出消息。
正在编写步骤时经常会用到此函数。
printf()函数的挪用式样为: printf("<式样化字符串>",<参数表>)。
输入n个点,例如:三角形,那n就为3。
矩形,n就为4。
其中,n有限制条件,n至少大于等于3,为一个三角形。
这n个点必须按多边形顺时针或逆时针依次输入,这个多边形必须是凸多边形。
在最后运行过程中,输入n 个点的坐标。
再定义一个(x,y),判断此(x,y)是否在n个点构成的图形当中。
首先先计算两个向量(a,b),(c,d)的叉乘。
2个向量的叉乘就是计算向量的位置是在左边还是右边。
如果这个定义点在多边形内部的话,它就会始终在多边形边框的左侧或者右侧。
int n;double x, y;/输入n个点和坐标(x,y)。
void input()/定义一个input函数。
{int a,b,c,d,k;printf("请输入第一个向量");scanf("%d%d",&a,&b);printf("请输入第二版个向量");scanf("%d%d",&c,&d);k=ac+bd;printf("叉乘结果为权%d",k);}利用上方熟悉的叉乘公式进行改编,最终算出需要的(a,b)点与(c,d)点的叉乘结果。
南邮C语言程序设计(上机)报告

图 1.1:算法流程图
4、源代码: #include <stdio.h> void main() { int i,j,maxmin,minmax; int a[10][20]; int min[20],max[10]; printf("输入 10 行﹑20 列学生身高:\n"); for(i=0;i<10;i++) for(j=0;j<20;j++) { scanf("%d",&a[i][j]); //输入数组的值 }
R009M
Middle
2、课题分析: 根据题目要求,可知这题需要运用数组和比较大小。先建立一个 10 行 20 列的数组,然后通过置换 比较求得每一列的最小值和每一行的最大值,分别存入 min[j]和 max[i]中。再比较 min[j]中的数,求 得其中最大数 minmax;比较 max[i]中数,求得其中的最小数 maxmin.最后比较 minmax 和 maxmin,并输 出结果。 3、算法描述: 算法流程图如下图 1-1 所示:
南京邮电大学通达学院 程序设计(上机)报告
题 目: R009M R024M
专 学 班 指 日 生 级 导 姓 学 教
业 名 号 师 期
软件工程 xxx xxx 韦 剑 2016 年 6 月 6 日
1
评分项 评 分 细 则 评 分 等 级 备 注 平时成绩 软件验收 设计报告
优秀
良好
中等
及格
不及格
教师签名: 年 月 日
7
n=10,m=12,k = 4
8
4
根据输入的数值,可知数组 min[j]中存放的数按顺序为:157、154、158、159、157、157、159、 159、158、158、158、159、158、154、157、159、157、158、158、154,minmax 为 159,即矮人中的 高个子身高为 159cm.max[i]中存放的数按顺序为:185、190、190、196、186、197、187、191、187、 196, maxmin 为 185, 即高个子中的矮子的身高为 185cm.最后比较 minmax 和 maxmin, maxmin 大于 minmax, 所以高个子中的矮子比矮人中的高个子高。程序输出的结果与实际相符。 题目二: 1、问题描述: 题目编号 内容 要求 设有n个人围坐在圆桌周围,从某个位置开始用自然数进行编号为 1,2,…,n。然后从编号为k的人从1开始报数,数到m的人便出列; 下一个人(第m十1个)又从1开始报数, 数到m的人便是第二个出列的 人。如此继续下去,直到最后一个人出列为止。要求输出这个出列 的顺序。 这个问题称为雅瑟夫(Josephu)问题。 具体要求如下: (1)n、m、k由键盘输入,输入前要有提示。 (2)在输入n后,动态建立方法说明中所需要建立的数组空间; 程序运行结束时释放该存储空间。 (3)分别用n=8,m=4,k=1以及n=10,m=12,k = 4调试运 行你的程序。 难度
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《程序设计(上机)》课内周数:2周本次设计的课题采用每人一个题目,五个题目,学号最后一位为1-5的,对应做1-5题,尾号为6,7,8,9,0的,对应做1,2,3,4,5题。
提交文档1.报告一份,每人提交一份2.软件运行的视频截图3. 源代码最后一节课上以文件夹的形式提交到教师指定地方文件夹命名:程序设计_班号_学号_姓名评分标准1.专业课程设计Ⅰ成绩采用五级制,其对应关系如下:百分制90-100 80-89 70-79 60-69 0-59五级制优秀良好中等及格不及格2.个人成绩由四部分组成:1)指导教师评价成绩,占30%左右;2)报告评阅成绩,占40%左右;4)平时成绩,占30%左右;内容与要求题目一:猜单词(一)课题内容要求用C或C++模拟猜单词游戏。
游戏包括:单词管理、玩家纪录、猜词过程、系统设置等必须完成的基本功能以及成绩计算、猜词时间限制、词库管理等选做的扩展功能。
通过该课题全面熟悉数组、字符串、文件的使用,掌握程序设计的基本方法。
(二)课题要求课题分基本要求和扩展要求,基本要求是必须完成的,扩展要求视能力自选一个或多个完成。
1. 基本要求(1) 单词管理:程序中用来做谜题的单词必须存放在磁盘文件中,文件中的单词数不得少于200个。
(2) 玩家纪录:程序要求记录前五名成绩。
成绩指标自行设计,必须包括时间。
记录的时候要求有排名、玩家姓名、成绩三项,并保存在文件中。
在程序开始运行的时候就必须读入,以便随时供玩家查询、及时更新成绩。
(3) 猜词过程:①先请用户输入猜的单词数量,可以有一个默认值。
②随机抽取单词,对每个单词,系统根据谜底单词长度在屏幕上显示相应个数'-',假设谜底单词为"hello",则在屏幕上输出"-----"。
③玩家输入一个字母进行猜测,如果这个字母不在单词中,系统提示玩家不对;如果猜对字母,比如玩家输入了一个'l',则在屏幕上输出"--ll-"。
④重复③,直到玩家在规定的次数内猜出了单词或者超过次数游戏失败。
⑤显示玩家每个单词猜对与猜错次数等统计信息。
如果玩家猜出单词,计算成绩,如进入前五名提示玩家并记录存储到记录文件中。
⑥询问玩家是否开始新一轮猜词,如果玩家选“否”,则系统退到外面的菜单。
(4) 系统设置:猜词次数可以为默认值。
玩的时候,可以对其进行修改。
2. 扩展要求(1) 成绩计算:考虑各种情况下所设计的成绩计算方法是否合理。
(2) 除了玩家猜词的次数有限制之外,对玩家猜一个单词的总时间进行限制。
(3) 可以向单词库中添加单词、删除单词或修改单词。
(三)考核及报告要求1. 考核根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、报告的完成情况、验收答辩时的表现等综合打分。
等级为:优秀、良好、中等、及格、不及格。
2. 报告要求见本大纲最后的一个报告样例。
题目二:打印万年历(一)课题内容用C或C++编程实现一个简单、实用的万年历程序。
主要功能为在屏幕上显示任意年月的月历,按每行两个月的格式输出当年或指定的任意年的年历。
通过此课题,熟练掌握数组、格式输出、字符串处理、时间函数的调用、文件的各种操作,以及一些基本的日期算法思想。
(二)课题要求课题分基本要求和扩展要求,基本要求是必须完成的,扩展要求视能力自选一个或多个完成。
1. 基本要求(1) 读取系统时钟,计算与日期相关的信息,首先打印出当月的月历,在当月月历的最下方也下列两行方式显示与当前有关的信息:今天是: 2005年12月20日,星期二当前时间是:22时40分43秒(2) 输入任意年号能得到指定年的年历(万年历)。
(3) 将屏幕上显示的月历和年历均存为文本文件以便今后读取。
(4) 按每行两个月的格式显示今年的日历,形式如下:***** ***** ***** ****** * * * * * ****** * * * * ****** * * * * ****** ***** ***** *****Jan Feb________________________________ ________________________________Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat1 1234 52 3 4 5 6 7 8 6 7 8 9 10 11 12…………2. 扩展要求(1) 重要节假日用一个文本文件进行设置,文件格式为txt。
程序应通过读取节假日文件的信息来对日历上的节假日日期进行标注。
从而在日历上显示节假日信息。
如十月份的1号显示为:国庆节 1。
(2) 提供按年上下翻页的功能来实现对上一年或下一年的年历的查询功能。
(三)考核及报告要求1. 考核根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、报告的完成情况、验收答辩时的表现等综合打分。
等级为:优秀、良好、中等、及格、不及格。
2. 报告要求见本大纲最后的一个报告样例。
题目三:火车票务管理系统(一)课题内容用C或C++语言实现一个简单的火车票务系统,能实现火车车次信息管理、查询、统计、排序等功能,并提供售票及退票服务。
通过此课题,熟练掌握文件、数组、结构体的各种操作,以及一些算法思想的应用。
(二)课题要求课题分基本要求和扩展要求,基本要求是必须完成的,扩展要求视能力自选一个或多个完成。
1. 基本要求(1) 提供录入功能,录入一个火车站的n个发车班次信息存于文件schedule.dat中,具体有下列信息:车次发车时间起点站终点站行车时间额定载量余票数量(2) 可随时增加、修改、删除车次数据。
(3) 浏览班次信息,可显示出所有车次当前状况(如果当前系统时间超过了某班次的发车时间,则显示“此车已发出”的提示信息)。
(4) 查询路线:可按班次号、起点站、终点站查询售票情况。
(5) 按发车时间的先后给出发车时间表(排序方法自选),存入文件保存(sort.dat)。
(6) 售票和退票功能:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新余票数量;退票时,输入退票的班次,在本车次发出前半小时才可以退票,自动更新已售票数和余票数量。
2. 扩展要求(1) 角色区分:以上的功能(1)和(2)只有管理员凭密码才能操作;其余所有的功能管理员和普通访客均可操作。
(2) 某人一旦购买了某一天的某一趟火车,则不允许他预订同一天其他班次的火车。
(三)考核及报告要求1. 考核根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、报告的完成情况、验收答辩时的表现等综合打分。
等级为:优秀、良好、中等、及格、不及格。
2. 报告要求见本大纲最后的一个报告样例。
题目四:文档编辑器的设计与实现(一)课题内容用C或C++语言实现一个简单的文档编辑器,该系统要求对一个文本文件中的内容进行各种常规操作,如:插入、删除、查找、替换、排序等功能。
通过此课题,熟练掌握文本文件的操作及用字符数组或字符指针实现字符串操作的功能。
(二)课题要求课题分基本要求和扩展要求,基本要求是必须完成的,扩展要求视能力自选一个或多个完成。
1. 基本要求(1) 首先文件标准化处理:如果句子有前导空格和后导空格,则删除这些空格,单词与单词之间只保留一个空格。
(2) 统计功能:可方便地统计出文档中所有出现次数最多和最少的单词。
(3) 查找与替换功能:能够查找任意一个字符串在文档中出现的次数,并可以选择全部或有选择地将其替换为另一个字符串。
(4) 显示功能:编辑完成后可以显示编辑后的文档。
(5) 抽取功能:重复单词只保留一份拷贝,单独存于另一个文件中。
(6) 排序功能:按单词的长度由小到大排序。
2. 扩展要求(1) 按单词出现的频率由小到大排序。
(2) 不是简单地以空格为分隔符来确定单词,单词必须以字母开头,加入一些规则将单词和非单词分别用不同的文件存储。
(三)考核及报告要求1. 考核根据学生平时的上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、报告的完成情况、验收答辩时的表现等综合打分。
等级为:优秀、良好、中等、及格、不及格。
2. 报告要求见本大纲最后的一个报告样例。
题目五:大整数的算术运算(一)课题内容用C或C++语言实现一个简单的大整数的算术运算程序。
主要功能计算两个大整数( 20位)的加减法等算术运算,按指定的格式输出结果。
通过此课题,熟练掌握字符串、格式输出、文件的各种操作,以及基本的计算算法思想的应用。
(二)课题要求课题分基本要求和扩展要求,基本要求是必须完成的,扩展要求视能力自选一个或多个完成。
1. 基本要求(1) 输入功能:能实现从键盘或文本文件输入代表大整数的字符串并用合适的结构存储,能实现输入整个表达式(含大整数和相应的运算符)。
(2) 输出功能:将算式及计算结果按照一定格式批量输出到屏幕及另一个文本文件中。
(3) 判断功能:能够对输入的表达式判断其正确与否,如果表达式不正确则无法进行运算;表达式正确的情况下执行运算功能。
(4) 运算功能:可以实现大整数的加法和减法运算。
2. 扩展要求(1) 能实现大整数的乘除法运算,并且定义一些常用的数学函数对大整数进行运算。
(2) 定义一些常用的数学函数对大整数进行运算,如:sqrt(x)、pow(x,y)等。
主要仪器设备硬件:微型计算机。
软件:Visual C++6.0或Turbo C++3.0或其他集成开发环境。
教材及参考书教材:[1] 朱立华,王立柱.C语言程序设计.北京:人民邮电出版社,2009[2] 朱立华,朱建,俞琼.面向对象程序设计及C++.北京:人民邮电出版社,2008参考书:[1] 张引等.C程序设计基础课程设计.浙江:浙江大学出版社,2007[2](美国)哈比森.C语言参考手册(原书第5版).北京:机械工业出版社,2008[3](美国)Brian W.Ketnighan,Dennis M.Ritchie.C程序设计语言(第2版).北京:机械工业出版社,2005通达学院程序设计报告题目:专业学生姓名班级学号指导教师指导单位日期一、课题内容和要求二、该部分可参考前面给出的问题描述再加以细化一些三、需求分析四、在该部分中叙述每个模块的功能要求三、概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型声明),整个程序的框架。
四、源程序代码各个重要模块实现的源程序,(包括重要函数和重要循环,重点变量,重点功能部分要加上清晰的程序注释).不要粘贴所有代码!!五、测试数据及其结果分析六、调试过程中的问题每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),以及算法的改进设想。