问题 问答题

请编写一个函数printdate(int year,int month,int day),该函数实现将输入的3个数字转换成英语数字纪年输出的功能,如输入March9,1978,则输出1978 3 9。注意:使用switch结构实现该函数的基本功能并应该能够判断错误的输入。部分源程序已存在文件test40_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数printdate的花括号中填写若干语句。
源程序文件rest40_2.cpp清单如下:
#include<iostream.h>
void printdate(int year, int month, int day)


void main()

printdate(1978,3,9);

答案

参考答案:

void printdate(int year, int month, int day)

{

if(year<0||month<A||month>AB||day<A||day>CA)

{

cout<<"ERROR";

return;

}

switch(month)

{

case A:cout<<"January";break;

case B:cout<<"February";break;

case C:cout<<"March";break;

case D:eout<<"April";break;

case E:cout<<"May";break;

case F:cout<<"June";break;

case G:cout<<"July";break;

case H:cout<<"Auguest";break;

case I:cout<<"September";break;

case A0:cout<<"October";break;

case AA:cout<<"November";break;

case AB:cout<<"December";break;

}

cout<<" "<<day<<","<<year<<endl;

}

解析:

本题考查的是考生对switch结构的应用。switch分支结构也是常用的选择结构,对于每个case结构,只有遇到break才会中止并且跳出switch结构,否则会一直执行到下一个break或者switch的结尾,而对于参数的预处理应该是程序健壮性的基本要求。

单项选择题
单项选择题