1、 课课 程程 设设 计计 报报 告告 学院、系: 专业名称: 计算机科学与技术 课程设计科目 C 语言程序课程设计 所在班级: 学生学号: 学生姓名: 指导教师: 完成时间: 2012 年 3 月-5 月 C 语言关键字中英翻译机 一、设计任务与目标 (1)输入中文关键字可以翻译成英语,如输入“整型”则输出关键字“int” ; (2)输入英文关键字可以翻译成中文,如输入“int”则输出关键字“整型” ; (3)可多次查询; (4)输入 bye 时退出。 二、方案设计与论证 (1)定义两个字符型数组分别存放中文关键字和英文关键字,中文和英文 的顺序要一一对应,即数组的下标值要相同; (2)定义一
2、个字符型数组用来存放输入的字符串; (3)利用 strcmp()函数和循环结构实现输入的英文或中文关键字和已定义 的字符型数组中的英文或中文关键字逐一比较; (4)输入的关键字和已有的关键字比较相同则利用中英相对应的下标值相 同输出对应的英文或中文; (5)利用循环结构实现多次查询的功能; (6)利用 exit()函数实现输入“bye”时退出程序; x=1 x=0 相同 相同 不相同 不相同 三、程序框图或流程图,程序清单与调用关系 四、全部源程序清单 #include #include #include void main() int i,x,k,time; char a15; bye ?
3、bye ? 是 是 否 否 strcmp(a,Chi) strcmp(a,Eni) i+ i+ 开始 ix; if (x=1) couta; if (strcmp(a,“exit“)=0) exit(0); cout1? 调用 dayofmonth 和 leapyear 函数 days=days+dayofmo nthleapyear(y)a-2 b1;a-) days=days+dayofmonthleapyear(y)a-2; /根据上个月的剩余天 数来确定下个月的起始位置,所以要减 2 for(b=1;byear; for(month=1;monthyearmonth; i=allday
4、s(year,month); l=i%7; outputtoscreen(year,month,l); getchar(); void howlong() int year1,year2,month1,month2,day1,day2,one,two,result,date; system(“cls“); coutmonth1day1; coutyear2month2day2; one=alldays(year1,month1)+day1; two=alldays(year2,month2)+day2; if(onetwo) result=one-two-1; else result=two-
5、one-1; date=(alldays(year1,month1)+day1-1)%7; /函数 alldays 中 day=1, 所 以要在这里减 1 if(result=-1) coutyearmonthday; time=(alldays(year,month)+day)-(alldays(1990,1)+1); i=time%5; if(i=0 else coutchoice; return choice; void choose() int sign=0; system(“cls“); switch(list() case 1:oneyear(); break; case 2:on
6、emonth(); break; case 3: howlong(); break; case 4:fishornet(); break; case 0: exit(0); void main() int i; coutendlendlendlendlendl; cout“t“t“t“t“*“endlendl endl; cout“t“t“t“t“ 欢 迎 使 用 万 年 历 查 询 器 “endlendlendl; cout“t“t“t“t“*“endlendl endl; cout“t“t“t“t“ “请按回车键继续“endl; getchar(); for(i=0;i100;i+) choose(); 五、程序运行结果测试与分析 (1)程序欢迎界面 : 能输出理想结果 (2)功能选项界面: 能输出理想结果 (3)功能