课程设计c语言关键字中英翻译机,课程设计--C语言关键字中英翻译机

本文档详细介绍了C语言课程设计的项目,包括一个C语言关键字中英翻译机和日期查询功能。程序实现了输入中文或英文关键字进行翻译,并能多次查询。同时,程序提供查询特定年份、月份的日历,计算日期间隔,判断打鱼晒网状态等功能。在编写过程中,作者通过循环、条件语句和数组深入理解了C语言的知识,并在遇到问题时通过分析解决了错误。
摘要由CSDN通过智能技术生成

课程设计--C语言关键字中英翻译机

课课 程程 设设 计计 报报 告告 学院、系: 专业名称: 课程设计科目 所在班级: 学生学号: 学生姓名: 指导教师: 完成时间: 计算机科学与技术 C 语言程序课程设计 2012 年 3 月-5 月 C 语言关键字中英翻译机 一、设计任务与目标 (1)输入中文关键字可以翻译成英语,如输入“整型”则输出关键字“int” ; (2)输入英文关键字可以翻译成中文,如输入“int”则输出关键字“整型” ; (3)可多次查询; (4)输入 bye 时退出。 二、方案设计与论证 (1)定义两个字符型数组分别存放中文关键字和英文关键字,中文和英文 的顺序要一一对应,即数组的下标值要相同; (2)定义一个字符型数组用来存放输入的字符串; (3)利用 strcmp()函数和循环结构实现输入的英文或中文关键字和已定义 的字符型数组中的英文或中文关键字逐一比较; (4)输入的关键字和已有的关键字比较相同则利用中英相对应的下标值相 同输出对应的英文或中文; (5)利用循环结构实现多次查询的功能; (6)利用 exit()函数实现输入“bye”时退出程序; 三、程序框图或流程图,程序清单与调用关系 四、全部源程序清单 #include #include #include void main() int i,x,k,time; char a15; 是 i10? 开始 输入 x x=1x=0 输入 a 是 输入 a 是 退出bye ?bye ?退出 否 strcmp(a,Chi) 否 strcmp(a,Eni) 输出 Eni 相同 不相同 i+ 是 是 time100? 相同 不相同 i+ 输出 Chi i10? 否否 否 结束 char *En=int,float,double,for,return,auto,if,while,con tinue,break; char *Ch=整型,单精度,双精度,循环,返回,自动,如果, 当,继续,退出; cout中文翻译成英文输入 1,英文翻译成中文输入 0(要退出程序请在输 入 1、0 后输入 bye):endl; for(time=0;timex; if (x=1) if (x=0) cout请输入英文:; couta; if (strcmp(a,bye)=0) exit(0); cout翻译后的英文:; for (i=0;i10;i+) coutendlendl; if (strcmp(a,Chi)=0) couta; if (strcmp(a,exit)=0) exit(0); cout翻译后的中文:; for (i=0;i10;i+) coutendlendl; if (strcmp(a,Eni)=0) couttwo? result=one-two-1result=two-one-1 是 输 出 打鱼 否 否 输 出 晒网 输出 result date=(one-1)%7 是 输出 “星期日” date=0? 输出 “星期date” 调用 festival 函数 结束 调用 alldays(int y,int m)函数 四、全部源程序清单 #include #include #include #include int dayofyear2=365,366; 否 否 开始 days=1, a=m,b=1 a1? 是 调用 dayofmonth 和 leapyear 函数 days=days+dayofmo nthleapyear(y)a-2 a=a+1 b1;a-) days=days+dayofmonthleapyear(y)a-2; /根据上个月的剩余天 数来确定下个月的起始位置,所以要减 2 int festival(int month,int day) int fes1231; fes00=fes113=fes27=fes30=fes40=fes50=1; fes60=fes70=fes89=fes90=fes1124=1; for(b=1;by;b+) days=days+dayofyearleapyear(b); return days; if(fesmonth-1day-1=1) return 1; else return 0; void outputtoscreen(int year,int month,int l) /输出屏幕的日期 int j,k; coutttt*year年*month月 *endl; coutt日t一t二t三t四 t五t六endl; if(l=0) else for(j=0;jl;j+) coutt; for(k=1;k=dayofmonthleapyear(year)month-1;k+) couttk; if(l+k)%7=0) coutendl; for(k=1;k=dayofmonthleapyear(year)month-1;k+) couttk; if(l+k)%7=0) coutendl; coutendlendl; void oneyear() /查询一年的日期 void onemonth() /查询一个月的日期 int i,l,year,month; system(cls); coutyearmonth; i=alldays(year,month); int i,l,year,month; system(cls); coutyear; for(month=1;month13;month+) getchar(); i=alldays(year,month); l=i%7; outputtoscreen(year,month,l); l=i%7; outputtoscreen(year,month,l); getchar(); void howlong() int year1,year2,month1,month2,day1,day2,one,two,result,date; system(cls); coutyear1month1day1; coutendlendlyear2month2day2; one=alldays(year1,month1)+day1; two=alldays(year2,month2)+day2; if(onetwo) result=one-two-1; else result=two-one-1; date=(alldays(year1,month1)+day1-1)%7; /函数 alldays 中 day=1, 所 以要在这里减 1 if(result=-1) coutendlendl查 询 的时间 和今天 是同 一天 endlendlendl; else coutendlendl所查询的日期距离今天的天数: result 天endlendlendl; if(date=0) cout查询的日期具体是星期几:星期日endlendlendl; else cout查询的日期具体是星期几: 星期dateendlendlendl; cout查询的日期是否是公历节日: ; if(festival(month1,day1)=1) cout是endlendlendl; else cout不是endlendlendl; getchar(); void fishornet() int year,month,day,time,i; system(cls); cout某人自 1990 年 1 月 1 日开始,三天打鱼两天晒网,endl; cout 如 果 你 想 知 道 某 年 某 月 某 日 是 在 打 鱼 还 是 晒 网 。 endlendlendl; coutyearmonthday; time=(alldays(year,month)+day)-(alldays(1990,1)+1); i=time%5; if(i=0 else coutendlendl查询结果: year年month月day 日正在晒网endlendlendl; getchar(); int list() int choice; system(cls); cout应用功能:endl; cout1:输入一个年份,输出是在屏幕上显示该年的日历。 endlendl; cout2:输入年月,输出该月的日历。endlendl; cout3:输入年月日,输出距今天还有多少天,星期几,是否是公历节 日。endlendl; cout4:某人自 1990 年 1 月 1 日开始,三天打鱼两天晒网,输入一个 1990 年以后的日期,输出他这一天是打鱼还是晒网。endlendl; cout0:退出; coutendlendlendlendlendlchoice; return choice; case 2:onemonth(); break; case 3: howlong(); break; case 4:fishornet(); break; exit(0);case 0: void main() int i; coutendlendlendlendlendl; couttttt*endlendl endl; couttttt 欢 迎 使 用 万 年 历 查 询 器 endlendlendl; couttttt*endlendl endl; couttttt 请按回车键继续endl; getchar(); for(i=0;i100;i+) choose(); 五、程序运行结果测试与分析 (1)程序欢迎界面:能输出理想结果 (2)功能选项界面:能输出理想结果 (3)功能 1:查询某年 A.输入界面:能输出理想结果 B输出界面: 能输出理想结果 (4)功能 2:查询某年某月 A输入界面: 能输出理想结果 B输出界面: 能输出理想结果 (5)功能 3: 输入年月日,输出距今天还有多少天,星期几,是否是公历 节日。 A输入界面: 能输出理想结果 B输出界面: 能输出理想结果 (6)功能 4:某年某月某日是在打鱼还是在晒网 A输入界面: 能输出理想结果 B输出界面: 能输出理想结果 (7)功能 5:输入 0 退出程序,能够成功运行。 六、结论与心得 本次课程设计是我通过自己的实践对书本上的知识进行了与生活相关的运 用。在这个程序中,主要应用了所学过的循环,条件语句,数组以及调用函数。 这些知识的应用使我对课本所学过的内容的认识得到了更深刻的理解。 在编写程序的过程中,也出现了很多错误。 比如函数语句的编写错误导致输 出结果并没有出现符合实际的结果。出现这些情况后,通过研究分析,才慢慢找 到错误,想出解决错误的办法。最后才得到了正确的结果。 七、参考资料 1 余江等编著,C 语言程序设计,天津科学技术出版社,132-149 页 八、致谢 衷心感谢刘焕波同学对我的帮助。 课程设计成绩评定表 对课程设计工作过 程的简短介绍和自 我评价 学生签名: 2012 年月日 (以下由评定小组教师填写) 质量评价指标(在相应栏目打) 评价质量 评价项目 优秀 工 作 量 和 态 度 实验、计算可靠性 文字和图表质量 总体评价 良好中等及格不及格 评定成绩 (百分制) 评定小组成员签名 2012 年月日 制定人:王钲旋,单缅审定人: 陈守孔

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值