项目案例报告模板

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

项目案例报告

课程名称:高级语言程序设计

院部:

学生姓名:

学号:

专业班级:

指导教师:周晏

2015年6月

案例一

【案例内容】

统计一个文件中的数字个数、字母个数、其他字符个数。

【案例分析】

利用函数,指针,和循环知识先判断是否为大写字母,是大写字母个数加1,若否,再看是否为小写字母,是小写字母个数加1,若否,再看是否为数字,是数字个数加1,若否,再看是否为空格,是空格个数加1,若否,则其他字符个数加1,如此循环判断即可。

【案例实现】

#include

int main()

{

void fun(char(*p)[10]); //fun函数声明

char a[4][10];

int i;

printf("输入共有4行,每行有10个字符的文章\n");

for(i=0;i<4;i++)

gets(a[i]);

fun(a);

return 0;

}

void fun(char(*p)[10]) //定义fun函数

{

int i,j,k,o,t,m,n;

n=m=k=t=o=0;

for(i=0;i<4;i++)

for(j=0;j<10;j++)

if(*(*(p+i)+j)>='A'&&*(*(p+i)+j)<='Z')

n++; //大写字母个数加1。

else if(*(*(p+i)+j)>='a'&&*(*(p+i)+j)<='z')

m++; //小写字母个数相应加1。

else if(*(*(p+i)+j)>='0'&&*(*(p+i)+j)<='9')

k++; //数字个数相应加1.

else if(*(*(p+i)+j)==' ')

o++; //空格字数相应加1,。

else

t++; //其他字符相应加1.

printf("大写字母个数为:%d\n小写字母个数为:%d\n数字个数为:%d\n空格个数为:%d\n其它字符个数为:%d\n",n,m,k,o,t);

}

【案例验证】

输入:I have 20

books. And

you?*****

I have one

输出:

大写字母个数为:3

小写字母个数为:21

数字个数为:2

空格个数为:7

其他字符个数为:7

图1 上机测试

【案例总结】

(1) 通过进行该项目我了解了函数和指针的定义和使用。

(2) 熟练地掌握了循环和判断语句的用法。

(3) 认识到一个程序在编写之前设计算法的重要性

(4) 认识到数学思想对程序设计的重要性。

案例二

【案例内容】

九、某公司由于人多,午餐分为多批次就餐,严格要求每批次就餐时间。并定期抽查就餐情况。请编写程序实现就餐抽查情况。要求实现函数:

void check_lunch(int num, int time,int input[], int output[])

【输入】int num,就餐总人数

int time,就餐分批数

char input[],就餐情况

【输出】char output[],违规就餐情况

【返回】无

说明:对就餐分3批的情况,12人就餐,正确的就餐情况应如下分布[1,2,3,1,2,3,1,2,3,1,2,3],不符合该分布的即是违规,输出时对相应位置0。

例:

1)输入:num = 12,time = 3,input =[1,2,3,3,1,3,1,1,1,1,2,3]

输出:output = [1,2,3,0,0,3,1,0,0,1,2,3]

2)输入:num = 11,time = 4,intput = [1,2,3,4,2,3,3,4,1,2,3]

输出:output = [1,2,3,4,0,0,3,4,1,2,3]

【案例分析】

对就餐分3批的情况,12人就餐,正确的就餐情况应如下分布[1,2,3,1,2,3,1,2,3,1,2,3],不符合该分布的即是违规,输出时对相应位置0。

对就餐分4批的情况,11人就餐,正确的就餐情况应如下分布[1,2,3,4,1,2,3,4,1,2,3],不符合该分布的即是违规,输出时对相应位置0。

【案例实现】

#include

int num;

int main()

{

void check_lunch(int num, int time,int input[], int output[]); //check lunch函数声明。

int input[100];

int num;

int output[100];

int time,i;

printf("请分别输入就餐人数num和分批次数time:\n");

scanf("%d%d",&num,&time);

printf("输入就餐情况(input[]):\n");

for(i=0;i

scanf("%d",&input[i]);

check_lunch(num,time,input,output);

return 0;

}

void check_lunch(int num, int time,int input[], int output[]) //定义check lunch函数。{

int i,k=1;

for(i=0;i

{

if(input[i]==k)

output[i]=k; //符合该分布的即是正确,输出相应位置数字。

else

output[i]=0; //不符合该分布的即是违规,输出时对相应位置为0。

相关文档
最新文档