江西科技师范大学
C语言程序设计报告
题目:ATM机操作系统的简单开发姓名:唐智德
学号:20132195
专业:计师1班
指导老师:郑睿颖
2013.4.11
目录
一,需求分析
二,设计思路
三,详细设计
1.功能关系图
2.函数的主要关系图
四,调试分析与编程心得体会五,用户手册
六,源程序代码
一,需求分析
1.设计一个模拟自动取款机AT M,有常用的功能。
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;
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;
system("cls");
printf("\n\n\n\n");
printf("\t\t\t 谢谢你的使用\t\t\n");
printf("\t\t\t THANKS \t ");
printf("\n\n");
break;
}
}。