c语言程序的设计报告

  • 格式:doc
  • 大小:3.33 MB
  • 文档页数:24
课程设计报告
课程设计名称:C程序设计
系别:
学生姓名:
班级:
学号:
成绩:
指导教师:
开课时间:2011-2012学年二学期
第一章
1.
一.菜单容:
程序运行后,给出5个菜单项的容和输入提示:
1.FindNum
2.FindRoot
3.Bear
4.Diamond
5.Goodbye
二、设计要求
使用数字1-5来选择菜单项,其它输入则不起作用:
{if(t>b[i]) t=b[i];}
return t;
}
int subject(int *c,int n)//求最低成绩的科目
{int i, t=c[0],m=0;
for(i=1;i<n;i++)
{if(t>c[i]) {t=c[i];m++;}
}
return m;}
2. 5程序运行截图
第三章
3. 1设计题目及要求
n=(m+1)/2;
for (i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)
printf(" ");
for (t=1;t<=2*i-1;t++)
printf("*");
printf("\n");}
for(i=1;i<=(m-1)/2;i++)
{for(t=1;t<=i;t++)
printf(" ");
printf("4.Diamond \n");
printf("5.Goodbye \n");
printf("\n");
printf("***********************\n" );//打印的界面
printf("请输入相应选择项:\n");
while(1)
{scanf("%d",&a);
switch(a)
printf("狗熊到玉米地吃了玉米");
printf("第一天吃了一半又拿走一个回去喂小狗熊。\n");
printf("第二天又去吃了剩下的一半,走是任然带一个回去。\n");
printf("以后每天都吃前一天剩下的一半,拿走一个。\n");
printf("到了第十天时,地里只剩下一个玉米。求地里一共有多少玉米?\n");
可以将一个文件读入,追加在已有记录之后;
如果已经采取文件追加的方式,在没有保存到文件之前,将继续保持文件追加状态,以便实现连续文件追加操作方式;
如果没有记录存在,给出提示信息。
显示记录
如果没有记录可供显示,给出提示信息;
可以随时显示存中的记录
文件存储
可以按默认名字或指定名字存储记录文件;
存储成功返回0.,否则返回-1;
三、增加菜单项的处理功能
FindNum功能:一只老鼠咬坏了账本,公式中符号()代表是被老鼠咬掉的地方。要想恢复下面的等式,应在()中填上哪个相同的数字
FindRoot这里要求编制一个求方程ax^2+bx+c=0的根程序
Bear本题是一个笑话,话说有一只狗熊到玉米地里掰玉米,一边掰一边吃,第一天吃了一半,又拿走了一个回去喂狗熊。第二天又去吃了剩下的一半,走时仍然带一个回去喂狗熊。以后每天都吃前一天的一半,拿走一个。到第十天时,地里只剩下一个玉米。求地里一共有多少玉米
printf("统计结果如下:\n");
printf("%s:%d\n",meanlow[0],a[5]);
printf("%s:%d\n",meanlow[1],average(a));
printf("%s:%d\n",meanlow[2],lowest(a));
b=subject(a,5);
printf("%s:%s\n",meanlow[3],name[b]);
#include <stdio.h>
பைடு நூலகம்void main ()
{int i,b;
int a[9]={75,80,83,85,86,30} ;
char *name[5]={"数学","物理","外语","政治","体育"};
char *meanlow[4]={"人数","平均成绩","最低分数科目成绩","最低分科目"};
void FindNum ();
void FindRoot();
void Bear();
void Diamond();
int main ()
{int a;
printf("菜单容:\n");
printf("1.FindNum \n");
printf("2.FindRoot \n");
printf("3.Bear \n");
day=10;
x1=1;
while (day>0)
{
x1=(x1+1)*2;
day--;
}
printf("玉米总数=%d\n\n",x1);
}
void Diamond()//Diamond函数
{
int m,i,j,t,n;
printf("请输入您要打印的钻石列数(奇数)\n");
scanf("%d",&m);
更新存储标志;
头文件
使用条件编译定义头文件;
函数原型声明;
数据结构及包含文件;
测试程序
应列出测试大纲对程序进行测试;
应保证测试用例测试到程序的各种边缘情况;
2.总体设计
最初的整体规划只是说明它们的可行性,不要求制定函数的具体实现,甚至不需要考虑函数原型。完成整体规划后,可以按照流程描述各个模块之间的接口功能。
t=1;
for(j=1;j<=(m-1)-2*i+1;j++)
printf("*");
printf("\n");}
}
1. 5程序运行截图
第二章
2. 1设计题目及要求
设计题目:假设给定班级各科考试平均成绩的原始资料如下:
数学:75
物理:80
外语:83
政治:85
体育:86
人数:30
要求统计出全班学期总平均成绩以及得分最低的科目和该科目的成绩。要求的输出结果如下:
Diamond
Goodbye!
1. 2设计思路
菜单是应用程序的界面,本题的任务是设计一个比较实用的菜单,通过菜单选择不同的功能。设计分为两步:首先设计一个含有多个菜单项的菜单演示程序,然后再为这些菜单项配上相应的功能。
具体方法:
首先编写一个菜单程序,输入1-6以进入相应选择项,从程序测试结构可知,当选择相应选择项时候,其输出信息为:FindNum、FindRoot、Bear、Diamond、Goodbye!
}
int average( int *b)//求平均成绩
{int sum=0 ,i,aver;
for(i=0;i<5;i++)
sum=sum+b[i];
aver=sum/5;
return aver;
}
int lowest(int *b)//求最低成绩
{int t=b[0],i;
for(i=0;i<5;i++)
{
case 1:FindNum();break;
case 2:FindRoot();break;
case 3:Bear();break;
case 4:Diamond();break;
case 5:printf("Goodbye\n");exit(0);
default:printf("您输入有误,请重新输入\n"); break;}
(1)使用switch语句实现功能选择
(2)应该设计一个函数用来输出提示信息和处理输入,这个函数应该返回一个数值,以便提供给switch语句使用
1.
1.
程序的源代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
else
if(delta==0)
{ x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("方程的根为x1=x2=%4f\n\n",x1,x2);}
else
printf("方程无根\n\n");
}
void Bear()//Bear函数
{int day, x1;
for(j=0;j<10;j++)
if((3*10+i)*6237==(j*10+3)*3564)
printf("被老鼠咬掉的地方分别是数字%2d,%2d\n\n",i,j);