第十二讲 C语言大作业的设计思路
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言高级程序设计讲座
第十二讲 C语言大作业设计思路
鹏程C语言教学网站庆祝建站一周年特别企划
本文技术支持网站:http://202.112.86.129
今天,我们来做C语言高级程序设计讲座的最后一讲,主要讲一下C语言大作业的设计思路。
当前,很多院校在C语言结课的时候都要求做一份大作业,作为考核的一部分,很多同学为此挠头,在这里我们将一些设计的思路,希望能给大家一点提示。
所谓大作业,其实质目的就是让学生在制作过程中体验这种设计思路,一般来说,思路有了,其他的就不在话下了。毕竟我们不是要求来做这种Windows 之类的大型软件,Microsoft的精英开发了好几年,如果我们用C语言来做,恐怕也不是一朝一夕能完成的。我们要求学生能够设计出一个小型的游戏或者一个小型的数据库管理软件就很好了。
我们在设计之前,一般考虑以下几点:
1、问题定义
我们首先要知道应该做什么。
2、可行性分析
然后确定这个方案能否实施,不要做那种自己不可能完成的程序,“只有想不到,没有做不到”这句话以马克思主义哲学的观点来看是不成立的。
3、需求分析
如果这个方案可行,就要考虑这个程序需要实现什么功能。
4、系统设计
前面的都确定后,要设计出宏观的框架,例如主界面。
5、详细设计
详细的设计每一项功能。
6、编译并测试
一般来讲,我们提倡每完成一项内容都要编译测试。
7、运行维护
自己用自己的软件,用所有想到的错误操作来操作它,找出所有的内在BUG。
8、发布
如果你自己没有找到错误了,该软件就差不多可以交上去了,结合开发过程我们就可以写出论文来。
下面我们来介绍一个简单的人工智能程序。
初始化人机界面
/*exper_1.c*/
#include
#include
#include
#define N 11
char *pre[]={
"p1","p2","p3","p4","p5","p6","p7",
"p8","p9","p10","p11"
};
char *symptom[]={
"咳嗽","流鼻涕","怕冷","打喷嚏","痰多","体温高","血象偏高",
"泛酸","呕吐","上腹隐痛","食欲不振",
};
main()
{
int i,j;
FILE *fp;
char answer;
char midpre[N][5];
if((fp=fopen("c:\\bc\\bin\\pre.txt","wt"))==NULL)
{
printf("Can not open flie");
exit(0);
}
for(i=0;i { printf("\n你%s吗?\n",symptom[i]); answer=strlwr(getch()); switch(answer) { case 'y': putchar(answer); fprintf(fp,"%s",pre[i]); fprintf(fp," "); break; case 'n': putchar(answer); break; } } fclose(fp); printf("\n你的症状是:"); if((fp=fopen("c:\\bc\\bin\\pre.txt","rt"))==NULL) { printf("Can not open flie"); exit(0); } i=0; while(fscanf(fp,"%s",midpre[i])!=EOF) { for(j=0;j { if(!strcmp(midpre[i],pre[j])) printf("%s ",symptom[j]); } } fclose(fp); printf("\n按任意键返回\n"); getch(); } 具体的实例程序 #include #include #include #include #define N 10 #define M 11 struct RL{ int rnum; int rpsum; char pre[N][5]; char res[5]; }; struct RL zrul[N]; char *pre[]={ "p1","p2","p3","p4","p5","p6","p7", "p8","p9","p10","p11" }; char *symptom[]={ "咳嗽","流鼻涕","怕冷","打喷嚏","痰多","体温高","血象偏高", "泛酸","呕吐","上腹隐痛","食欲不振", }; char *result[]={ "r1","r2","r3" }; char *diagnose[]={ "上感","支气管炎","胃炎" };