软件课程设计报告模版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1编号:()字号《软件课程设计》报告班级:计科09-6班姓名:冯振兵学号:08093474指导老师:毛磊中国矿业大学计算机科学与技术学院年月2软件课程设计任务书专业年级:计算机科学与技术09级学生姓名:冯振兵任务下达日期:200年月日课程设计日期:200年月日至200年月日课程设计题目:面向过程类别题目序号成绩面向过程/***将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。***/、求Fibonacci数列面向对象第9题模拟ATM取款机7.关于磁盘文档的输入输出(1、2、4、5、6。。。)图形界面1.通过MFCAPPWIZARD创建一个计算器(2。。。)数据结构2.假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。已知p为指向链表中某结点的指针,试编写算法在链表中删除结点p的前趋结点。4.设计一个统计选票的算法,输出每个候选的得票结果(假设采用单链表存放选票,候选人编号依次为1,2,3,……,N,且3每张选票选且只选一人)(1、3。。。).软件课程设计指导教师评阅书指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题等):成绩:指导教师签字:年月日一、面向过程设计题-------正整数转换为罗马数据1.1需求分析……………………………………………………………………….…91.2概要设计………………………………………………………………………...101.3详细设计与编码………………………………………………………………...111.4调试分析………………………………………………………………………...131.5用户使用说明………………………………………………………………….131.6设计心得………………………………………………………………………...13/***7.将输入的罗马数据化为10进制数。假设罗马数据中只使用如下7个“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。如,罗马数据LXXXVII表示10进制的87。将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用“基值4”字母:M、D、C、L、X、V、I,分别用来表示1000、500、100、50、10、5、1。***/#includeiostream#includestringusingnamespacestd;intmain(){stringa;coutEntertheRomennumber:;intzhuanhuan(string);cina;coutItsArabnumberis:zhuanhuan(a)endl;return0;}intzhuanhuan(stringa){ints=0,i=0,j=0,b[7]={1000,500,100,50,10,5,1};stringc=MDCLXVI;a=a+'\0';/*****while(a[i++]!='u'){for(j=0;j7;j++){if(a[i]==c[j])s+=b[j];break;}if(j==7){couteror!!!!!endl;break;}误用了break}*****/while(a[i]!='\0'){for(j=0;j7;j++){if(a[i]==c[j])s+=b[j];}i++;}returns;}/***将输入的10进制正整数转换为罗马数据。假设罗马数据中只使用“基值”字母:M、D、C、L、X、V、I,分别用来表示1000、5500、100、50、10、5、1。***/#includeiostream#includestringusingnamespacestd;intmain(){inti,x,b[]={1000,500,100,50,10,5,1};coutEnterx:;cinx;stringa=MDCLXVI;for(i=0;i7;i++)if(x=b[i]){x-=a[i];couta[i];i-=1;}coutendl;return0;}编写过程中误用了break语句,以为可以通过它跳出for循环而留在while循环内;导致检测一直正确而运行不出想要的结果;进过反复的检查,终于找出原因;二、面向过程设计题------求Fibonacci数列2.1需求分析…………………………………………………………………………132.2概要设计………………………………………………………………………...142.3详细设计与编码………………………………………………………………...162.4调试分析………………………………………………………………………...172.5用户使用说明………………………………………………………………….172.6设计心得………………………………………………………………………...17求Fibonacci数列#includeiostreamusingnamespacestd;intmain(){intn;intfib(intn);while(1){coutn为:;cinn;coutFibonacci数列的第n项值为:fib(n)endl;}return0;}intfib(intn){if(n==1||n==2)return1;inta=1,b=1,c,i=2;while(in){c=a+b;a=b;6b=c;i++;}returnc;}#includeiostreamusingnamespacestd;intmain(){intn;doublefib(intn);while(1){coutn为:;cinn;coutFibonacci数列的第n项值为:fib(n)endl;}return0;}doublefib(intn){if(n==1||n==2)return1;returnfib(n-1)+fib(n-2);}第二个用递归的算法使程序更加简洁三、面向对象设计题3------用三种方法通过虚函数求Fibonacci数列(mianxiangduixiang3.cpp)3.1需求分析…………………………………………………………………………173.2概要设计………………………………………………………………………...193.3详细设计与编码………………………………………………………………...213.4调试分析………………………………………………………………………...223.5用户使用说明………………………………………………………………….223.6设计心得………………………………………………………………………...22四、面向过程设计题9---------模拟ATM机4.1需求分析…………………………………………………………………………224.2概要设计………………………………………………………………………...234.3详细设计与编码………………………………………………………………...254.4调试分析………………………………………………………………………...254.5用户使用说明………………………………………………………………….254.6设计心得………………………………………………………………………...25//模拟银行ATM取款机#includeiostream#includestringusingnamespacestd;classconsumer;7classATM//ATM取款机{public:ATM(consumer&cn):cnsm(cn){}voidwelcome();//登陆界面boolcheck_passwd(stringn,stringpwd);//核对密码voidchange_passwd();//修改密码voidfetchmoney();//取款voidcunmoney();//存款voidinformation();//查询信息voidexitATM();//退出系统voidfunctionshow();//功能界面voidlock();//锁机private:inttimes;//记录密码输入次数consumer&cnsm;};classconsumer//用户{public:friendclassATM;consumer(stringName,stringNum,floatMoney,stringPassWord);protected:stringget_name();//取得姓名stringget_num();//取得卡号stringget_passwd();//取得密码floatget_money();//取得余额voidset_passwd(stringpwd);//设置密码voidset_money(floatm);//取钱voidsave_money(floatm);//存钱private:stringpasswd;//用户密码stringname;//用户姓名stringnum;floatmoney;};consumer::consumer(stringName,stringNum,floatMoney,stringPassword){name=Name;num=Num;money=Money;8passwd=Password;}floatconsumer::get_money(){returnmoney;}stringconsumer::get_name(){returnname;}stringconsumer::get_num(){returnnum;}stringconsumer::get_passwd(){returnpasswd;}voidconsumer::set_money(floatm){money-=m;}voidconsumer::save_money(floatm){money+=m;}voidconsumer::set_passwd(stringpwd){passwd=pwd;}voidmain(){consumerc1(jim,12345,5200.3f,123);//先构造一个用户ATMatm(c1);atm.welcome();}voidATM::welcome(){times=0;cout$欢迎使用中国银行ATM自动取款机!~!endl;stringpwd,num,ch;do{coutendl请输入卡号:;cinnum;cout请输入密码:;cinpwd;if(!check_passwd(num,pwd)){cout你输入的卡号或密码有误,请重新输入endl;times++;9}else{functionshow();}}while(times3);lock();}boolATM::check_passwd(stringnum,stringpwd){if(num==cnsm.get_num()&&pwd==cnsm.get_passwd())returntrue;elsereturnfalse;}voidATM::functionshow(){intn;do{coutendl请你输入相应的操作序号进行操作:endl;cout1)修改密码endl2)取款endl3)存款endl4)查询余额endl5)退出系统endl;cout$;cinn;while(n1||n5){cout请输入正确的操作序号!endl;cout$;cinn;}switch(n){case1:change_passwd();break;c

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功