第一篇:设计一个简单计算器的C语言课程设计报告
东华理工大学
C语言课程设计报告
题目:设计一个简单计算器 姓名:地瓜叶
学号:?????
指导老师:吴志强老师
东华理工大学
目 录
1.设计目的 2.内容
3.总体设计(有流程图)
4.源程序编写(附上了运行图)
5.执行结果
6.心得体会
东华理工大学
东华理工大学
一、设计目的
设计一个简单计算器,在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。
全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数、指针和文件的操作,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,规范编程思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
二、内容
1、程序设计的一般步骤
a、确定数据结构 b、确定算法 c、编程 d、调试 e、总结资料
东华理工大学
东华理工大学
2、基本要求
a.设计正确,方案合理,能实现相应功能。b.界面友好,使用方便。c.程序精炼,结构清晰。
d.设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。e.上机演示。
三、总体设计(程序设计组成框图、流程图)
四、源程序编写
东华理工大学
东华理工大学
#include
double jisuan(char a[]){ int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;
char nibo[50],zhan2[50];double x,n,l,z=0,zhan3[20];typedef struct {
double d1;
int d2;}dd;typedef struct {
dd data[50];
int top;
}zhan1;zhan1 shu;
shu.top=0;
while(a[i]!=' '){
if(a[i]>='0'&&a[i]<='9')
{
z=0;
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{j++;}
j--;
for(k=i;k<=j;k++)
{
z=z*10+a[k]-'0';
}
j=j+1;
x=z;
if(a[j]=='.')
{
l=1;
东华理工大学
东华理工大学
i=j+1;
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{j++;}
j--;
for(k=i;k<=j;k++)
{
n=pow(0.1,l);
l=l+1;
x=x+n*(a[k]-'0');
}
i=j+1;
}
else i=j;
shu.data[++shu.top].d1=x;
shu.data[shu.top].d2=++cnt;
nibo[++t1]='0'+shu.data[shu.top].d2;
nibo[t1+1]=' ';
}
else if(a[i]=='(')
{
zhan2[++t2]=a[i];
i++;
}
else if(a[i]==')')
{
j=t2;
while(zhan2[j]!='(')
{
nibo[++t1]=zhan2[j];
nibo[t1+1]=' ';
j--;
}
t2=j-1;
i++;
}
else if(a[i]=='+')
{
while(t2>0&&zhan2[t2]!='(')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
东华理工大学
东华理工大学
t2--;
}
zhan2[++t2]=a[i];
i++;
}
else if(a[i]=='-')
{
if(a[i-1]=='$')
{
a[0]='0';
i=0;
}
else if(a[i-1]=='(')
{
a[i-1]='0';
a[i-2]='(';
i=i-2;
}
else
{
while(t2>0&&zhan2[t2]!='(')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
}
else if(a[i]=='*'||a[i]=='/')
{
while(zhan2[t2]=='*'||zhan2[t2]=='/'||zhan2[t2]=='^'||zhan2[t2]=='@')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
else if(a[i]=='^'||a[i]=='@')
东华理工大学
东华理工大学
{
while(zhan2[t2]=='^'||zhan2[t2]=='@')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
t2--;
}
zhan2[++t2]=a[i];
i++;
} } while(t2>0){
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
t2--;} t1=1;while(nibo[t1]!=' '){
if(nibo[t1]>='0'&&nibo[t1]<='9')
{
for(i=0;i<=shu.top;i++)
{
if(nibo[t1]-'0'==shu.data[i].d2)
{
m=i;
break;
}
}
zhan3[++t3]=shu.data[m].d1;
}
else if(nibo[t1]=='+')
{
zhan3[t3-1]=zhan3[t3-1]+zhan3[t3];
t3--;
}
else if(nibo[t1]=='-')
{
zhan3[t3-1]=zhan3[t3-1]-zhan3[t3];
t3--;
东华理工大学
东华理工大学
}
else if(nibo[t1]=='*')
{
zhan3[t3-1]=zhan3[t3-1]*zhan3[t3];
t3--;
}
else if(nibo[t1]=='/')
{
zhan3[t3-1]=zhan3[t3-1]/zhan3[t3];
t3--;
}
else if(nibo[t1]=='^')
{
zhan3[t3-1]=pow(zhan3[t3-1],zhan3[t3]);
t3--;
}
else if(nibo[t1]=='@')
{
zhan3[t3]=sqrt(zhan3[t3]);
}
t1++;} return zhan3[1];} void main(){ for(;;){ char x,a[50];double jieguo;int i=0;a[0]='$';printf(“@表示开方,^表示乘方n”);
printf(“请输入表达式,退出请输入q:nn”);
scanf(“%c”,&x);if(x=='q')break;while(x!='n'){
a[++i]=x;
scanf(“%c”,&x);} a[i+1]=' ';
东华理工大学
东华理工大学
jieguo=jisuan(a);
printf(“n”);
printf(“结果为:%lf”,jieguo);printf(“nn”);} }
五、执行结果
1、输入 5 4 结果
2、输入 5 4
结果
3、输入 5 4 结果
4、输入 5 4 结果图例:
东华理工大学 10
东华理工大学
注:分别输入5、4,分别进行加减乘除。结果运行成功。此图为证明此程序运行0 error,没错误。
六、心得体会
计算机知识博大精深,很奥妙,学过c语言之后我知道我们平时用的那些应用程序都是用各种计算机语言编写的。这次通过老师布置的课程设计,我学会了更多的计算机知识,觉得编程是一件很费脑细胞同时很有意思的一件事。
我在编写这次简单计算器的程序过程中遇到很多困难,犯了很多错,(例如:执行结果部分没有运算符),这也让我意识到编写c语言是需要耐心、细心和热心去做的一件事情!最关键的是,这个程序是我们经过一个暑假后的过程来编写的,我发现很多知识都忘了,所以最关键的是我觉得编程就该持之以恒!
这次的报告前前后后改了很多遍,我觉得无论是做程序还是报告都应该按照要求的格式来,严谨规范的要求自己才能事半功倍!
东华理工大学 11
第二篇:设计一个简单计算器的C语言课程设计报告
C语言课程设计报告
题目:设计一个简单计算器
目 录
1.设计目的 2.内容
3.总体设计(有流程图)
4.源程序编写(附上了运行图)
5.执行结果
6.心得体会
一、设计目的
设计一个简单计算器,在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。
全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数、指针和文件的操作,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,规范编程思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
二、内容
1、程序设计的一般步骤
a、确定数据结构 b、确定算法 c、编程 d、调试 e、总结资料
2、基本要求
a.设计正确,方案合理,能实现相应功能。b.界面友好,使用方便。c.程序精炼,结构清晰。
d.设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。e.上机演示。
三、总体设计(程序设计组成框图、流程图)
四、源程序编写
#include
double jisuan(char a[]){ int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0;
char nibo[50],zhan2[50];double x,n,l,z=0,zhan3[20];typedef struct {
double d1;
int d2;}dd;typedef struct {
dd data[50];
int top;
}zhan1;zhan1 shu;
shu.top=0;
while(a[i]!=' '){
if(a[i]>='0'&&a[i]<='9')
{
z=0;
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{j++;}
j--;
for(k=i;k<=j;k++)
{
z=z*10+a[k]-'0';
}
j=j+1;
x=z;
if(a[j]=='.')
{
l=1;
i=j+1;
j=i+1;
while(a[j]>='0'&&a[j]<='9')
{j++;}
j--;
for(k=i;k<=j;k++)
{
n=pow(0.1,l);
l=l+1;
x=x+n*(a[k]-'0');
}
i=j+1;
}
else i=j;
shu.data[++shu.top].d1=x;
shu.data[shu.top].d2=++cnt;
nibo[++t1]='0'+shu.data[shu.top].d2;
nibo[t1+1]=' ';
}
else if(a[i]=='(')
{
zhan2[++t2]=a[i];
i++;
}
else if(a[i]==')')
{
j=t2;
while(zhan2[j]!='(')
{
nibo[++t1]=zhan2[j];
nibo[t1+1]=' ';
j--;
}
t2=j-1;
i++;
}
else if(a[i]=='+')
{
while(t2>0&&zhan2[t2]!='(')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
else if(a[i]=='-')
{
if(a[i-1]=='$')
{
a[0]='0';
i=0;
}
else if(a[i-1]=='(')
{
a[i-1]='0';
a[i-2]='(';
i=i-2;
}
else
{
while(t2>0&&zhan2[t2]!='(')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
}
else if(a[i]=='*'||a[i]=='/')
{
while(zhan2[t2]=='*'||zhan2[t2]=='/'||zhan2[t2]=='^'||zhan2[t2]=='@')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
t2--;
}
zhan2[++t2]=a[i];
i++;
}
else if(a[i]=='^'||a[i]=='@')
{
while(zhan2[t2]=='^'||zhan2[t2]=='@')
{
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
t2--;
}
zhan2[++t2]=a[i];
i++;
} } while(t2>0){
nibo[++t1]=zhan2[t2];
nibo[t1+1]=' ';
t2--;} t1=1;while(nibo[t1]!=' '){
if(nibo[t1]>='0'&&nibo[t1]<='9')
{
for(i=0;i<=shu.top;i++)
{
if(nibo[t1]-'0'==shu.data[i].d2)
{
m=i;
break;
}
}
zhan3[++t3]=shu.data[m].d1;
}
else if(nibo[t1]=='+')
{
zhan3[t3-1]=zhan3[t3-1]+zhan3[t3];
t3--;
}
else if(nibo[t1]=='-')
{
zhan3[t3-1]=zhan3[t3-1]-zhan3[t3];
t3--;
}
else if(nibo[t1]=='*')
{
zhan3[t3-1]=zhan3[t3-1]*zhan3[t3];
t3--;
}
else if(nibo[t1]=='/')
{
zhan3[t3-1]=zhan3[t3-1]/zhan3[t3];
t3--;
}
else if(nibo[t1]=='^')
{
zhan3[t3-1]=pow(zhan3[t3-1],zhan3[t3]);
t3--;
}
else if(nibo[t1]=='@')
{
zhan3[t3]=sqrt(zhan3[t3]);
}
t1++;} return zhan3[1];} void main(){ for(;;){ char x,a[50];double jieguo;int i=0;a[0]='$';printf(“@表示开方,^表示乘方n”);
printf(“请输入表达式,退出请输入q:nn”);
scanf(“%c”,&x);if(x=='q')break;while(x!='n'){
a[++i]=x;
scanf(“%c”,&x);} a[i+1]=' ';jieguo=jisuan(a);
printf(“n”);
printf(“结果为:%lf”,jieguo);printf(“nn”);} }
五、执行结果
1、输入 5 4 结果
2、输入 5 4
结果
3、输入 5 4 结果
4、输入 5 4 结果图例:
注:分别输入5、4,分别进行加减乘除。结果运行成功。此图为证明此程序运行0 error,没错误。
六、心得体会
计算机知识博大精深,很奥妙,学过c语言之后我知道我们平时用的那些应用程序都是用各种计算机语言编写的。这次通过老师布置的课程设计,我学会了更多的计算机知识,觉得编程是一件很费脑细胞同时很有意思的一件事。
我在编写这次简单计算器的程序过程中遇到很多困难,犯了很多错,(例如:执行结果部分没有运算符),这也让我意识到编写c语言是需要耐心、细心和热心去做的一件事情!最关键的是,这个程序是我们经过一个暑假后的过程来编写的,我发现很多知识都忘了,所以最关键的是我觉得编程就该持之以恒!
这次的报告前前后后改了很多遍,我觉得无论是做程序还是报告都应该按照要求的格式来,严谨规范的要求自己才能事半功倍!
第三篇:c语言课程设计设计报告
c语言课程设计设计报告
C语言是一门通用计算机编程语言,应用广泛。下面是小编为大家整理的关于c语言课程设计的设计报告,欢迎大家的阅读。
高等职业教育的目标及侧重点不同于普通高等教育,其培养的学生在毕业后应能直接上岗,具有熟练的实践操作技能。教育部《关于以就业为导向深化高等职业教育改革的若干意见》中指出,高职教育应“坚持培养面向生产、建设、管理、服务第一线需要的‘下得去、留得住、用得上’,实践能力强、具有良好职业道德的高技能人才”。
因此,加强实践性课程教学,对保证人才培养质量显得尤为重要。我院为贯彻《关于全面提高高等职业教育教学质量的若干意见》精神,针对区域经济发展的要求,灵活调整和设置专业课程,以就业为导向,加快专业课程对应的课程设计改革。目前,我院按照由浅入深、不断深化的教学规律,构建了实践教学三层次四环节的实践课程体系。实践教学三层次包括基本技能、专业拓展、综合创新,四环节包括实验、实习实训、设计和课外实践。“C语言课程设计”是我院信息类专业的必修专业基础课程设计,在“C语言程序设计”课程教学结束后的下一学期进行,历时2周,40学时。课程开设的目的在于培养学生分析问题和解决问题的能力,为学生提供一个动手、动脑、独立实践的机会。
21项目教学法“项目教学法”是基于建构主义教学理论的一种教和学的模式。著名的瑞士心理学家皮亚杰认为,知识不是通过教师传授得到的,而是学生在一定的情境下,借助他人的帮助,利用必要的学习资料,通过意义建构的方式而获得的。美国项目管理专家约翰·宾认为:“项目是要在一定时间里,在预算规定范围内需达到预定质量水平的一项一次性任务。”
“项目教学法”是通过实施一个完整的项目而进行的教学活动,旨在把学生融入有意义的任务完成的过程中,让学生积极地学习,自主地进行知识的建构,在课堂教学中把理论与实践教学有机地结合起来,充分发掘学生的创造潜能,提高学生解决实际问题的综合能力。因此,在教学活动中,教师将需要解决的问题或需要完成的任务以项目的形式交给学生,在教师的指导下,以小组工作方式,由学生自己按照实际工作的完整程序,共同制定计划,共同或分工完成整个项目。
在项目教学中,学习过程成为一个人人参与的创造实践活动,注重的不是最终的结果,而是完成项目的过程。在高等职业技术教育中,项目是指以生产或制作一样具体的、具有实际应用价值的产品的工作任务。在技术领域,很多小产品或一些复杂产品的模型都可以作为项目,如:在信息类专业,可以开展微机组装、网站建设、信息管理系统开发、局域网构建、单片机制作、多媒体课件制作等项目;在电子类专业,可以开展报警器、LED、门铃、家电组装等项目;在商业、财会和服务行业,所有具有整体特性并有可见成果的工作也都可以作为项目,如商品展示、产品广告设计、营销策划等。
22项目教学法的基本特征项目教学法与传统的教学法相比,有很大的区别,主要表现在改变了传统的3个中心:以教师为中心转变为以学生为中心;以课本为中心转变为以“项目”为中心;以课堂为中心转变为以实际经验为中心。项目教学法具有以下特点:
实践性。项目“源”于企业,项目的主题与真实世界密切联系,由浅入深,选择的项目具有典型性、实用性。
自主性。提供学生根据自己的兴趣选择内容和展示形式的决策机会,让学生能够自主地进行学习,从而有效地促进学生创造能力的发展。
发展性。长期项目与阶段项目相结合,构成了实现教学目标的认知过程。
评价特殊性。项目型教学的评价注重学生在项目活动中能力发展的过程,测评内容包括学生参与活动各环节的表现及作业质量,避免了传统的一张试卷定成绩的弊端。测评可以采用自评、小组评、教师综合评等方法。教师只有明确并抓住项目化教学特点,才能更好地完成教学目标。
31教学内容为了更好地开展课程设计教学,经过多次实践和摸索,总结出学生在具体实施项目中一般存在2个方面的知识不足:
第一,在教学内容上,由于前导课程在教学上受学时影响,很多教师对指针、结构体、共用体和文件基本操作的知识介绍不甚完善、系统,更难谈上辅以实例加以消化。对此,针对学生在这些知识点上的掌握程度,利用4~6个学时,实施区别式的、辅导性的、实例化教学。
第二,学生对项目管理知识知之甚少,针对此情况,采用2个阶段实施有别于常规教学的补课行动。第1阶段为项目准备阶段,利用2~4个学时,安排曾经做过项目且做得比较好的学生,现身介绍项目的准备工作、项目实施过程要完成的工作、项目验收及作业提交的工作等。在学生介绍中,教师穿插讲解,辅以点评。第2阶段为项目实施阶段,教师应针对学生发生的问题,及时给予指导,直到学生弄懂为止。
32教学要求切实保证教学质量和教学效果,本着“学以致用”的原则,要求学生做到以下3点:第一要做到“学有三备”,即:在项目实施前做好知识储备,在项目实施中做好安全防备,项目结束时做好被评准备。第二要写好“三书一报告”。“三书”即每个项目组要做需求规格说明书、概要设计说明书、详细设计说明书,“一报告”即人人都要做课程设计报告。第三要做“四自”参与者。“一自”即自律,要求学生自觉履行学生守则和项目实施有关规则,不迟到、不早退、不缺席,实施点名制度,若无特殊原因,有5次旷课者自愿以重修论处;“二自”即自尊,要求学生尊重知识、尊重学习规律、尊重项目组成员、尊重教师、尊重自己;“三自”即自信,要求学生相信自己能够按时、按量、按质完成工作内容,遇到困难时,沉着、冷静,理性地寻找问题解决的办法;“四自”即自强,要求学生不满足自己已有的成绩和以往与课题项目组共同取得的成绩,用创新和超越的思想,做出比以前哪怕是前进一小步的事情。同时也要求教师做好相应的工作,如做好项目整体规划、精心准备、努力激发学生参与行为、为人师表、表扬为主、批评为辅、多分析、精点评等。
33项目实施进程项目教学法是一种生动、灵活、多样化的教学方法。在项目实施过程中,既不能生搬硬套地利用一个时间标准,又不能影响项目实施的整体进程,因此对时间的灵活处理是非常关键的,也是值得商榷的。
34明确项目内容,帮助学生立项立项首先要审题。当学生拿到项目列表时,最不能忽略的问题,就是提醒学生审题。审题恰当对学生以后开展各项工作是关键。审题时,学生首先要考虑自己的长、缺处,做到扬长避短,也就是说审题就是学生自己审自己完成该项目有多大的能力,有没有信心。只有学生明白自己,才可以避免以后实施项目过程中走弯路。同时既要建议学生在组建项目组时,考虑所在组的其他学生的长处和短处,又要尽量避免使被学生认定的差等学生没人愿意与其组合,而成绩好的学生又抱团的现象发生。
根据近几年带课程设计的经验,关于如何合理选择项目,建议教师应从学生的角度考虑以下4个因素,协助学生做好选题:
规模。项目规模太大会影响项目的完整性,项目规模太小难以体现课程的实践性。
难度。项目难度一定要适中,既要激发学生学习的兴趣又不能影响学生的自信心。
实用性。项目的选择应该是现实世界真实的工作任务,具有一定的现实和实用性。
趣味性。兴趣是最好的老师,所以在选择项目时应考虑其趣味性,让学生有更大热情投入项目。
第四篇:C语言课程设计报告
C语言课程设计报告
班
级:
10电子本1
学
号:
10303033122
姓
名:
指导老师:
方文森
完成日期:
温州大学城市学院课程设计
目 录
1、课程设计目的和要求.....................................................................................................2
2、课程设计任务内容.........................................................................................................2
3、详细设计说明.................................................................................................................3
3.1分析.........................................................................................................................3 3.2软件设计.................................................................................................................3 3.3软件调试(对编程中的错误进行记录,并给出你的解决办法).....................3
4、软件使用说明.................................................................................................................4
5、课程设计心得与体会.....................................................................................................4 附录1:参考文献................................................................................................................5 附录2:部分程序清单(带有较详细的注释)................................................................5
温州大学城市学院课程设计
C语言课程设计报告
1、课程设计目的和要求
目的:(1)巩固和加深学生对C语言课程的基本知识的理解和掌握(2)掌握C语言编程和程序调试的基本技能(3)利用C语言进行基本的软件设计(4)掌握书写程序设计说明文档的能力(5)提高运用C语言解决实际问题的能力 要求:(1)分析课程设计题目的要求(2)写出详细设计说明
(3)编写程序代码,调试程序使其能正确运行(4)设计完成的软件要便于操作和使用(5)设计完成后提交课程设计报告
2、课程设计任务内容
1)一个班级有4个学生,共学习5门课程(大学英语、高等数学、C语言程序设计、VB程序设计、大学语文)。要求编写程序完成相应功能。2)
输入并保存]5门课程名称;
3)
输入并保存]4个学生的学号及其[个人相关信息]; 4)
输入并保存]每个学生对应的每门课程成绩; 5)求出每门功课的平均分;
6)找出有两门以上功课不及格的学生,输出他们的学号和全部课程成绩及该学生5门课程的平均成绩;
7)找出平均成绩在90分以上或者全部课程成绩在85分以上的学生,输出他们的学号和全部课程成绩及该学生5门课程的平均成绩;
8)计算每位学生的总分,并按总分进行排名,按由高到低输出他们的学号及总成绩; 9)对前面问题进行优化,即在一维数驵的基础上,考虑采用二维数组、函数及其参数传递的方式来解决相关问题;
10)对前面问题进行优化,在学号的基础上,增加学生的其它个人信息,包括:学号、姓名、年龄、性别,并采用结构体形式加以表示; 11)利用文件实现对输入及分析输出数据的存取操作。
12)参照教材P27页,3-11题引入选择功能,输入功能编号可以实现以上功能(考虑清屏函数,自查)。
温州大学城市学院课程设计
3、详细设计说明
3.1分析
3.2软件设计
开始菜单(功能选择)Key=?Key=1Key=2Key=3Key=4Key=5Key=0Key=99Key=6Key=7Key=8Key=9Key=10写入课程名读取课程名输入学生信息读取学生信息建立了学生信息及课程名称?退出程序读取课程、学生、成绩读取课程成绩输出功课的平均分两门以上功课不及格的学生输出高分的学生总分由高到低排序No保存保存Yes输入课程成绩(提示)必须输入课程名称、学生信息才能建立成绩保存清屏
3.3软件调试(对编程中的错误进行记录,并给出你的解决办法)
取地址。
温州大学城市学院课程设计
4、软件使用说明
1.2.3.4.5.6.7.8.9.10.11.12.[99]读取课程、学生、成绩 [1]输入课程名称.[2]读取课程名称.[3]输入学生信息.[4]读取学生信息.[5]输入课程成绩.[6]读取课程成绩.[7]功课的平均分.[8]两门以上功课不及格的学生 [9]-高分的学生-.[10]学生总分排序.[0]退出应用程序.5、课程设计心得与体会
在大家的共同努力下,忙碌了两个星期,我们顺利完成了对此程序的编译及试运行。在设计程序的过程中,我们了解到要设计一个完整的程序,其中最难的可能就属设计整个程序的框架,其中可能会需要经过很多次的修改与调试,所以必须要有耐心,直至最后设计出自己想要的程序。
另外平时学习c语言的基础也很关键,因为如果平时学得就不怎么样,那么你面对这么一个比较有难度的程序,可能会望而却步,看懂他人的程序都是个难点,更别说让自己去设计。为了解决此类问题,最好就是多向同学,老师请教,查找资料。
设计一个程序的过程就是解决一个实际问题的过程,从解决实际问题的角度,我们可以这样来看:首先要了解这个问题的基本要求,即输入、输出、完成从输入到输出的要求是什么;在次我们必须捋清思路,逐一的解决问题的各个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,可确定所需的变量、数组、函数,然后确定处理过程--算法。
感谢这次的课程设计,它使我更加深刻地体会到c语言程序编写过程的严谨与细致,还有就是无论做任何事都要有耐心。当然团队合作也是非常重要的一个环节,这会使你在学习过程中倍感轻松
总的来说,这次程序设计让我获益匪浅,对C语言也有了进一步的认识:C语言功能高、表达能力强、使用灵活方便、目标程序效率高等等。C语言是在国内外广泛使用的一种计算机语言,相信除了以上优点,还有许多我们还未发现,希望能在以后的学习中有更深入的认
温州大学城市学院课程设计
识。
附录1:参考文献
《C语言程序设计与实践教程》
附录2:部分程序清单(带有较详细的注释)
#include
#define N 4 #define M 5 #define Debug 1
typedef struct { char SNo[5];char SName[10];}Student;
void ScoreRead(float Score[][M],char FileName[],char FileType[]){ int i,j;FILE *fp;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} else { for(i=0;i 温州大学城市学院课程设计 void ScoreWrite(float Score[][M],char FileName[],char FileType[]){ int i,j;FILE *fp;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} else { for(i=0;i void CoureseRead(char Cname[][20],char FileName[],char FileType[]){ FILE *fp;int i,j;char ch;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} i=0;j=0;while(1){ ch = fgetc(fp);if(ch==EOF)break;if(ch=='n'){ Cname[i][j]=' ';i++;j=0;6 温州大学城市学院课程设计 } else { Cname[i][j]=ch;j++;} } #if(Debug==1)for(i=0;i void CoureseWrite(char Cname[][20],char FileName[],char FileType[]){ FILE *fp;int i,j;fp=fopen(FileName,FileType);if(fp==NULL){ printf(“Errorn”);exit(0);} for(i=0;i