中南大学数学院C++课程设计报告

上传人:M****1 文档编号:504363457 上传时间:2023-09-11 格式:DOC 页数:18 大小:51.50KB
返回 下载 相关 举报
中南大学数学院C++课程设计报告_第1页
第1页 / 共18页
中南大学数学院C++课程设计报告_第2页
第2页 / 共18页
中南大学数学院C++课程设计报告_第3页
第3页 / 共18页
中南大学数学院C++课程设计报告_第4页
第4页 / 共18页
中南大学数学院C++课程设计报告_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《中南大学数学院C++课程设计报告》由会员分享,可在线阅读,更多相关《中南大学数学院C++课程设计报告(18页珍藏版)》请在金锄头文库上搜索。

1、 .wd.中南大学?C+课程设计?设计报告题目C+课程设计学生姓名学号专业班级数学类0901指导教师袁修贵 数学科学与计算技术学院2010年6月一、实验目的、内容1.用户任意输入一个年份以及该年的1月1日是星期几,而后再输入该年的任意一个月份,由程序负责在屏幕上按照你所设计的格式显示出这一个月的月历。思考:利用元年元月元日即1年1月1日是星期一的事实,可对程序进展改造,让用户仅输入任意一个年份和一个月份,那么程序就应按格式显示出该年那一个月的月历。2. 编写程序,从键盘读入一个文本文件名字可带路径,为该文件中的所有单词建设一个词汇索引。按字母顺序显示所有单词仅一次,后面紧跟着它们所在的行号。大

2、写与小写字母被认为是一样的。例如,对于以下的输入文件:To be ornot to be,that is the question.产生的词汇索引如下:be 1 2is 3not 2or 1question 3that 3the 3to 1 23.模拟计算器程序问题描述设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及去除、A全去除操作。 基本要求程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入= 符号后,窗口显示出结果。测试数据程序输入不少于5种不同的表达式进展测试。实现提示可定义一个计算器类,该类包括

3、两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理承受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。二、实验程序设计及构造1、 需求分析对需求的信息进展模糊查询模拟电子辞典模拟计算器2、 设计构造1#include #include int a13 = 0,31,28,31,30,31,30,31,31,30,31,30,31;int main()int i,n,s = 0,r = 0,year,month,days = 0,day,date = 1;int b42 =1,2,3,4,5,6,7; /日历中的星期puts(Please input

4、the weekday of date month 1/day 1:);scanf(%d,&n);puts(Please input the date you want:);scanf(%d%d%d,&year,&month,&day);if(year % 4 = 0 & year % 100 != 0)|year % 400 = 0)a2 = 29;for(i=1;i= 7)s = (s + n - 1) % 7;elses = s + n - 1;printf(weekday:);switch(s)case 0: puts(7n);break;case 1: puts(1n);break;

5、case 2: puts(2n);break;case 3: puts(3n);break;case 4: puts(4n);break;case 5: puts(5n);break;case 6: puts(6n);break;if(days +n)= 7)r = (days + n)%7;elser = days +n;for(i = 0;i 42;i+)if(i = r + 6&date 5&(i+1) % 7 = 0)printf(n);return 0;2#include #include #include #include using namespace std;typedef s

6、truct _unitstring word;int line;unit;int main()vector list;ifstream in;string fileName;coutfileName;in.open(fileName.c_str();if (in.fail()cout文件翻开错误,退出temp.word;temp.line = lineNumber;list.push_back(temp);if (in.peek()=n)lineNumber+; in.close();bool isIn = false;vector copy;for (unsigned int i=0; il

7、ist.size(); i+)isIn = false;for (unsigned int j=0; jcopy.size(); j+)if (listi.word = copyj)isIn = true;break;if (!isIn)copy.push_back(listi.word); vector lineNo; for (unsigned int m=0; mcopy.size(); m+) for (unsigned int n=0; nlist.size(); n+)if (listn.word = copym)lineNo.push_back(listn.line); line

8、No.push_back(0); int current=0; for (unsigned int o=0; ocopy.size(); o+) coutcopyo ;for (unsigned int p=current; plineNo.size(); p+)if (lineNop = 0)current=p+1;break;elsecoutlineNop ; coutendl; return 0;3#include #include #include #include #include #include #include using namespace std; istream* inp

9、ut; / pointer to input stream int no_of_errors; / note: default initialized to 0 double error(const char* s) no_of_errors+; cerr error: s get(ch) return curr_tok = END; while (ch!=n & isspace(ch); switch (ch) case ;: case n: return curr_tok=PRINT; case *: case /: case +: case -: case (: case ): case

10、 =: return curr_tok=Token_value(ch); case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case .: input-putback(ch); *input number_value; return curr_tok=NUMBER; default: / NAME, NAME=, or error if (isalpha(ch) string_value = ch; while (input-get(ch) & isalnum(ch) string_v

11、alue += ch; / string_value.push_back(ch); / to work around library bug input-putback(ch); return curr_tok=NAME; error(bad token); return curr_tok=PRINT; map table; double expr(bool); / cannot do without double prim(bool get) / handle primaries if (get) get_token(); switch (curr_tok) case NUMBER: / floating-poin

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号