程序设计基础结课作业.docx
《程序设计基础结课作业.docx》由会员分享,可在线阅读,更多相关《程序设计基础结课作业.docx(7页珍藏版)》请在冰点文库上搜索。
程序设计基础结课作业
《程序设计基础(C语言)》
课程设计说明书
学院:
班级:
学号:
姓名:
教师:
日期:
2012年6月日
题目名称:
按要求输出指定图形
算法分析:
1.能够实现输出指定图形的功能。
2.自定义函数模块运用循环语句等实现各种图形的编程及输出。
3.主函数部分运用选择语句等实现对各种图形的选择及控制程序的结束。
并且运用运用调用函数的方式使程序设计更加直观可行。
4.调用函数时应用指针作为函数参数。
流程设计:
代码设计:
#include
#include
structshape//定义图形结构体
{
charname[20];//图形名称
intparameter;//图形边长
};
inta,b,u,i,j;//定义整体变量a,b控制输入,i,j控制图形
int*p;//定义指针变量
voiddiamond(int*p)//定义输出菱形的函数
{
structshapeSHAPE={"Diamond",*p};//结构体变量的定义及初始化
printf("Yourchoiceis%s.\n",SHAPE.name);//输出所选图形的名称
printf("Thelengthofthesideis%d.\n",SHAPE.parameter);//输出所选图形的边长
for(i=0;i<*p;i++)//控制菱形上半部分的输出
{
for(j=0;j<=*p-i;j++)
putchar('');//控制空格的输出
for(j=0;j<=2*i;j++)
putchar('*');//控制星号的输出
putchar('\n');
}
for(i=i-2;i>=0;i--)//控制菱形下半部分的输出
{
for(j=0;j<=*p-i;j++)
putchar('');
for(j=0;j<=2*i;j++)
putchar('*');
putchar('\n');
}
}
voidsquare(int*p)//定义输出正方形的函数
{
structshapeSHAPE={"Square",*p};
printf("Yourchoiceis%s.\n",SHAPE.name);
printf("Thelengthofthesideis%d.\n",SHAPE.parameter);
for(i=0;i<*p;i++)
{
for(j=0;j<*p;j++)
printf("*");
putchar('\n');
}
}
voidisoscelestriangle(int*p)//定义输出等腰三角形的函数
{
structshapeSHAPE={"Isoscelestriangle",*p};
printf("Yourchoiceis%s.\n",SHAPE.name);
printf("Thelengthofthesideis%d.\n",SHAPE.parameter);
for(i=0;i<*p;i++)
{
for(j=0;j<=*p-i;j++)
putchar('');
for(j=0;j<=2*i;j++)
putchar('*');
putchar('\n');
}
}
intmain()/*主程序*/
{
for(;;)//for循环控制程序的重复执行
{
system("cls");//清屏
printf("Menu:
\n1.菱形\n2.正方形\n3.等腰三角形\n4.退出\n");//列出选择图形菜单
printf("Pleaseinputyourchoice:
\n");
scanf("%d",&a);//输入所选图形代号
switch(a)
{
case1:
//菱形
printf("Pleaseinputparameter:
\n");//输入参数作为菱形边长
scanf("%d",&b);
p=&b;//指针初始化
diamond(p);//调用输出菱形函数
system("pause");//暂停
system("cls");
break;
case2:
/*正方形*/
printf("Pleaseinputparameter:
\n");
scanf("%d",&b);
p=&b;
square(p);//调用输出正方形函数
system("pause");
system("cls");
break;
case3:
/*等腰三角形*/
printf("Pleaseinputparameter:
\n");
scanf("%d",&b);
p=&b;
isoscelestriangle(p);//调用输出等腰三角形函数
system("pause");
system("cls");
break;
case4:
return0;
default:
//如果输入数字不在所选范围这种之内则执行以下语句
puts("inputerror!
");
system("pause");
}
}
return0;
}
运行结果: