江西科技师范大学
C语言程序设计报告
题目:ATM机操作系统的简单开发
姓名:唐智德
学号:20132195
专业:计师1班
指导老师:郑睿颖
2013.4.11
目录
一,需求分析
二,设计思路
三,详细设计
1. 功能关系图
2. 函数的主要关系图
四,调试分析与编程心得体会
五,用户手册
六,源程序代码
一,需求分析
1.设计一个模拟自动取款机ATM,有常用的功能。
2.主要功能: 取款,查询余额,存款等。
3.程序执行的命令包括:(1)进入主目录界面(2)执行取款,查询余额,修改密码,存款等功(3)结束退出程序。
二,设计思路
设计一个常用的自动取款机,要包括常见的功能:查询余额,修改密码,存款等。先要进入主目录界面,所以要写一个主目录函数。然后每一个功能分别用一个函数来实现,最后用一个结束函数来结束用户的操作。
二,详细设计
1. 功能模块图
2. 程序流程图
四,调试分析与编程心得体会
1.调试分析
(1)开始界面
(2)用户登录
(3)菜单
(4)取款
(5)存款
(6)余额查询
2.小结
在这3个星期里,我们在老师的带领下进行了C语言程序实践。在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。在这次实践中,我加深了对课堂讲授内容的理解,熟悉了程序开发环境、学习计算机系统的操作方法,并学会了上机调试程序。
六,源程序代码
#include"stdio.h"//头文件
#include"stdlib.h"
#include"string.h"
#define money 5000.00//定义金额为5000
void main()
{
int select,i;
char str1[]="123456";//定义密码为123456
char str2[6];
printf("请输入密码:");
scanf("%s",&str2);
for(i=1;i<=3;i++)
if(strcmp(str1,str2)==0)
{
system("cls");//清屏
printf("\n\n");
printf("\t\t\t 请选择您所需的服务:\n");
loop:
printf("\n\n");
printf("\t==================================\n");//菜单
printf("\t| | |\n");
printf("\t|查询 :1 | 存款 :3|\n");
printf("\t|------------ |-----------------|\n");
printf("\t|取款 :2 | 退出 :4|\n");
printf("\t| | |\n");
printf("\t==================================\n");
printf("\n\t请选择功能:\n");
scanf("%d",&select);}
else
{
printf("密码错误,请重新输入!\n");
scanf("%s",&str2);
}
printf("密码错误3次,已不能使用!!\n");
switch(select)
{
case 1:
system("cls");
printf("\n\n\n\n\t\t\t\t显示卡内余额$%.2f元\n\n\n\n",money); //显示金额,取两位小数
system("pause");
system("cls");
goto loop;
break;
case 2:
int select;
system("cls");
printf("\n\n\n\t\t\t请选择金额:");//选择取款金额
printf("\n\n");
printf("\t==================================\n");
printf("\t\t|$100 :1|\n");
printf("\t|------------ |-----------------|\n");
printf("\t\t|$300 :2|\n");
printf("\t|------------ |-----------------|\n");
printf("\t\t|$1000 :3|\n");
printf("\t|------------ |-----------------|\n");
printf("\t\t|$2000 :4|\n");
printf("\t==================================\n");
printf("\t\t请选择:\n");
scanf("%d",&select);
switch(select)
{
case 1:
printf("\n\n\\n\t您取了$100元\n\t\t\t卡里余额是$%.2f元\n\n\n\n\n",money-100);break;
case 2:
printf("\n\n\\n\t您取了$300元\n\t\t\t卡里余额是$%.2f元\n\n\n\n\n",money-300);break;
case 3:
printf("\n\n\\n\t您取了$1000元\n\t\t\t卡里余额是$%.2f元\n\n\n\n\n",money-1000);break;
case 4:
printf("\n\n\\n\t您取了$3000元\n\t\t\t卡里余额是$%.2f元\n\n\n\n\n",money-3000);break;
default:printf("\n\n\t\t输入有误,请在1~4之间选择。\n\t\t\t");
}
system("pause");
system("cls");
goto loop;
break;
case 3:
float x;
printf("\n\n\n\t\t\t请输入存款金额:\n");
printf("\t\t\t\t [ ]\b\b\b\b\b");
scanf("%f",&x);
printf("\n\n\n\t\t\t正在交易请稍后...:\n");
system("pause");
system("cls");
printf("\n\n\n\n\t\t存款成功!您的余额为:%2.f\n\n\n\n",money+x);
system("pause");
system("cls");
goto loop;
break;
case 4:
system("cls");
printf("\n\n\n\n");
printf("\t\t\t 谢谢你的使用 \t\t\n");
printf("\t\t\t THANKS \t ");
printf("\n\n");
break;
}
}
浅谈《C语言程序设计》教学的实践与心得
庞师铎
【摘 要】 在21世纪的大环境下,各种实践性学科都将面临着强大的冲击,而作为计算机软件开发等的入门语言,更显得尤为关注。强调实验的重要性,可以促使学生在学习C语言的基本知识之外加强编程实践,使学生在掌握C语言语法知识的同时,也掌握程序设计的思想和方法,这样才能引导和督促学生多编程序,编出优秀的程序,增强学生的动手能力。
【关键词】 C语言 可移植性 应用性 程序调试
C语言是一门高级程序设计语言,使用广泛,表达能力强,目标代码运行效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,既可以用来编写系统软件,又可以用来编写应用软件。因此《C语言程序设计》课程在教学中占有重要地位。
《C语言程序设计》是高职高专院校计算机专业的一门核心专业基础课程,同时也是多数非计算机专业的主要选修课。该课程是一门实践性与应用性较强的课程,目的是培养学生算法设计的基本思想和程序设计的基本技能。课程的内容主要涉及C语言的基本概念、基本语法以及C语言程序设计的基本方法,在教学中既要重视严谨的系统理论教学,又要重视实践性环节和案例的讨论与分析,为以后有关课程的学习和从事软件开发奠定基础。以下是本人在《C语言程序设计》课程教学过程中的一些经验和体会,与大家共勉 。
一、提高教师自身素质
教师首先要提高自身的政治素质和业务水平,及时了解最新的科技成果并掌握C语言应用技术的发展方向,要不断拓宽知识面,具备一定的知识高度,同时不断研究与改进教学方法,理论联系实际,提高自身的教学水平。
二、合理选择教材
高职教育是针对岗位一线培养应用型、技能型人才的,而目前高职教育的C语言教材普遍存在的问题是结合岗位的针对性不强,技能训练的实践性不够。教材是提高教学质量的基础和前提,是学生系统学习知识的依据,一本好的教材应能培养学生的自学能力和独立思考能力,使学生能够依据教材理解课堂教学内容,深入了解本学科各个领域的知识。在选择教材方面应注重以下几个方面:(1)充分考虑高职高专教学的特色,理论知识要够用,注重理论联系实际,突出实用性。(2)语言表达要通俗易懂,在内容编排上尽量符合初学者的要求。(3)注意点与面的结合,注重基础与新技术的结合,
使教材不仅是师生教与学的媒介,还是能够培养学生编程能力的工具。(4)在选择好的教材的同时,教师应积极编写符合实际教学需要的高质量的教材。
明确C语言课程的教学目标,培养学生模块化程序设计的逻辑思维能力,掌握程序设计的基本语法规则和程序调试方法,具备初步的分析问题与解决问题的能力。主要的教学目标包括:掌握C语言语法,能够熟练运用基本程序结构解决简单问题,理解模块化程序设计原则并能针对复杂问题进行合理分解,掌握基本算法分析与设计知识。
1.作为计算机专业的基础课,目的是使学生掌握程序设计的基本方法并逐步形成正确的程序设计思想,能够熟练地使用C语言进行程序设计,具备调试程序的能力,为后继课程及其他程序设计课程的学习和应用打下基础。学生要在理解C语言的基础上更加专注于理解《算法》或者《数据结构》等课程,而不至于被语言本身的复杂语法现象干扰,要强调C语言的实用性。另外,在掌握C语言的基础上,比较容易学习其他主流编程语言,学生通过对C语言的学习,可以获得针对基本程序结构的程序编写与程序调试知识。
2.学生对C语言的熟练掌握可以在一定程度上降低后续计算机硬件技术基础课程的学习难度。计算机硬件技术基础课程中有很大一部分内容是对汇编语言的学习,同样作为面向机器模型的程序设计语言,C语言仅仅是抽象程度更高一些,其程序结构与汇编语言具有一定的相似性,C语言的编程经验对学生学习汇编语言会有很大的帮助。
3.对于非计算机专业理工类学生而言,该课程有比较强的工业基础应用前景,C语言为用计算机解决实际问题提供了方法,是后续理论与实践教学的基础和重要工具,同时也是计算机二级考试所统一要求的课程之一。教学内容的改革应本着突出基础理论知识的应用和实践能力培养的原则,以应用为目的,以“必需、够用”为度,加强针对性和实用性。
三、注重教学过程,优化教学方法,把握教与学的关系
高职高专C语言课程理论性强,概念性强,抽象而且复杂,在教学过程中要注意的问题主要有:培养学生对C语言的兴趣;教给学生正确的学习方法;加强实践教学环节;有效地组织课程设计;培养学生分析和解决实际问题的能力。教学过程是教师和学生的双边活动,只有既注重教,又注重学,才能真正做到教为学服务。教师所要做的就是传道、授业、解惑,开阔学生的思路,激发学生学习的积极性和主动性,激发反思,调动潜能,引导学生讨论,帮助学生解决遇到的问题,寓教于学。只有把握好教与学的关系,才能优化整个教学过程。
1.将案例带到教学中来。C语言是应用性很强的一门课程,既有理论,又有实践,既讲方法,又讲动手能力。采用案例教学法可以改变“满堂灌”的做法,将学生的眼、手、脑全部调动起来,培养学生的学习兴趣。本人在上课过程中,将课程内容分为若干个主题,以程序设计作为贯穿各主题的主线,每个主题的教学过程由“要点讲解”、“自学/上机实践”和“疑难解答”三个阶段组成。通过案例分析,重点讲解程序设计的思
想和方法,辅以语言知识的介绍;然后通过上机练习,包括基本训练(自测作业和主题作业)与综合训练(大型作业),教师针对学生暴露出的问题答疑解惑,结合案例教学,努力将C语言作为解决实际问题的工具,强化学生的编程能力,在分析程序与程序设计的过程中使学生逐步熟悉语法,应用语句,提高学生分析问题、解决问题的能力,由浅入深、由易到难、循序渐进地使学生在实践中掌握知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法。最终在课堂上教师扮演“和方法,运主导”角色,而学生真正地成为“主体”。
例如:《C程序教程》(谭浩强主编)中有一题为:用循环语句结构判断整数m是否为素数。
/* ex5_5.c */
#include"stdio.h"
main()
{
int m,c=2;
scanf("%d",&m);
while(m%c)
}
书中介绍了三种循环语句结构均可以作出判断结果,这时我们就应该利用“比较法”,将三种循环语句结构进行对比,使学生有一个较为深刻的理解与记忆。
2.切合实际的分组教学。要真正掌握程序设计的思想用语言解决实际问题,综合训练势在必行。整个过程以学生独立完成为主,教师提供相应的理论辅导。经过这样的模拟实际软件开发的演练,不但提高了学生的学习兴趣,培养了学生问题求解和编程能力,还有利于培养他们探索与创新的能力,更加有利于激发学生学习的积极性。
3.分层次教学。即标准化教学与个性化教学相结合,结合不同专业、不同班级学生的具体情况,制定各有特色的教案、讲稿和教学课件。既发挥群体智力优势,又充分发挥教师个体的教学风格特长,有利于提高教学水平。
4.加强实验课与理论课的联系。在理论课上将上机实验任务题目进行讲解,也可以将案例算法作为实验内容。实验课程可以分为两部分,实验任务问题作为理论课的内容在课堂上讨论、讲述,确定实现算法。对于同样的题目,可以确定若干不同的算法,比较其优劣,分析其原因。上机实验的任务是完成已确定算法的编码实现和运行。这种c++; printf("%d is a prime number.\n",m); printf("%d is not a prime number.\n",m); if(c==m) else
做法相当于在教师带领下,对实验内容做了集体预习,贯彻了“算法重于语法,语法重于编码”的课程指导原则,综合运用学过的知识,加强实践教学。学生只有通过大量的练习,才能真正掌握语言知识,培养程序设计能力,逐步理解和掌握程序设计的思想和方法,学会利用计算机解决实际问题。
5.充分利用多元化、现代化的教学手段。在教学过程中应多方位应用现代教育技术手段,尤其是多媒体辅助教学手段与网络化辅助教学手段。在课堂教学中采用多媒体教学课件,加强直观教学,可提高学生的空间想象力。教师应从最简单的C语言程序的调试入手,详细演示C语言程序的调试过程与调试细节,同时让学生参与进来,实现教师与学生、学生与学生的双向交流和互动,提高学生的学习兴趣,加深学生的理解与记忆。使其检验自己本阶段的学习成果,加强对所学知识的吸收和消化。
总结:
改革考核方式,强化应用能力《C语言程序设计》的考核应采用多种形式考核学生的知识掌握程度和实践能力,包括卷面考试与实验考核,要强调职业技能。实验考核可采用上机考试与平时训练相结合的方式,上机考试可以使用能自动组卷和评分的考试平台;平时训练包括作业和综合编程训练的完成情况。该评价方法可以提前让学生体验全国计算机等级考试的过程,也可以促使学生在学习C语言的基本知识之外加强编程实践,使学生在掌握C语言语法知识的同时,也掌握程序设计的思想和方法,这样才能引导和督促学生多编程序,编出优秀的程序。
介于本人的能力有限,在实践及教学环节中还存在着许许多多的问题与不足,今后将会更加关注自身能力的提高,以便取得更好的教学效果。
【参考文献】
[1] 张陵山 《C语言程序设计教程(修订版)》 湖南大学出版社
[2] 杨起帆 《C语言程序设计教程》 浙江大学出版社
[3] 谭浩强 《C程序设计(第二版)》 清华大学出版社
东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:电子工程学院专业:电子信息工程年级:20##班别:2班指导教师:…
C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体…
河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名…
C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的…
C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录…
《C语言程序设计》教学改革总结报告《C语言程序设计》是信息工程系各专业都开设的一门非常重要的专业基础课,也是国家计算机等级考试可选…
C语言程序设计实训总结李爱强通过此次实训,同学们能够利用C语言面向过程的编程思想来完成系统的设计,熟练掌握C语言的基本知识和技能;…
《C语言程序设计》实验报告实验七、结构体和联合体程序设计学号姓名一、实验目的1.掌握结构体类型变量和数组、共用体类型变量和数组以及…
C语言程序设计教学基本知识点第一章C语言基本知识1C源程序的框架尽管各个C源程序的功能千变万化但框架是不变的主要有编译预处理主函数…
附表2C或C语言课程设计总结报告源代码学生通讯录管理系统能够实现对通讯录的内容进行创建显示查询删除以及修改等功能includelt…
贾博超:课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练…