程序设计综合实验报告册
- 格式:doc
- 大小:79.50 KB
- 文档页数:31
西南交通大学程序设计综合实验
实验地点:
实验学期:
学生班级:
学生学号:
学生姓名:
任课教师:龚勋
信息科学与技术学院
2012年4月
实验一:ATM机用户操作界面、业务逻辑编写
●实验目的及内容
1、根据ATM的工作流程编写用户界面,掌握文本用户菜单的编写方法;
2、根据ATM的工作流程编写业务罗杰,掌握搭建一个完整的应用系统的方法及软件编程思想。
●实验要求
1、除提示用户输入的数字外,界面上不能响应、出现任何其他用户输入;
2、每个菜单界面独立显示,不要出现多组菜单重叠显示的现象;
3、每个业务逻辑可以多次执行,直到用户选择退出业务。
●实验步骤及核心代码
void main()
{ int bExit=0;
char in; //控制语言的选择
while(!bExit)
{
MainMenu();
in=getch();
system("cls");
switch(in) { .....语言选择}
}
}
void MainMenu() {......}
void LanguageMenu(int t)
{
int cExit=0;
char in;
while(!cExit)
{
if(t==1)
{ ...... //显示中文功能选择菜单
in=getch();
system("cls");
switch(in)
{ 中文功能函数的选择}
}
else { 同上,只需将中文函数改为英文函数}
}
}
//中文的查询函数
void Query1()
{
printf("======================\n")
printf(“此账户有%.2f元\n",sum); //对sum已初始化system("pause");
system("cls");
}
//中文的存钱函数
void Deposit1(float *p)
{
float x;
printf("================================\n");
printf(" 输入您要存的数目:");
scanf("%f",&x);
*p+=x;
system("pause");
system("cls");
}
//中文的取钱函数
void WithDraw1(float *p)
{
float y;
int a=1;
printf("====================================\n");
printf("输入您要取的数目: ");
while(a)
{
scanf("%f",&y);
if(y>sum)
{ printf("\n余额不足,按任意键后重新输入\n"); }
else
{ *p-=y;
a=0;
}
}
system("pause");
system("cls");
}
实验二:进制转换器
●实验目的及内容
写一个进制转换器,实现十进制、二进制、十六进制的相互转换
●实验要求
1、转换要求包括整数和小数;
2、提供清晰、有好的用户界面;
3、各种转换可以反复多次执行,直到用户选择”退出“按钮。
●实验步骤及核心代码
void main() {...}
void Mainmenu() {...}
//二进制到十进制和十六进制
void BtoDH()
{
int iExit=0;
while(!iExit)
{ system("cls");
string s1,s2,s3,s;
int i,len;
...... //输入字符串s
s=s1;
len=s1.length();
for(i=0;i { s3=s1.substr(0,1); //截取从0到1的字符,包括0不包括1 s1=s1.substr(1,s1.length()-1); if(s3==".") { s2=s.substr(0,i); //截取0到i的字符 break; } } if(s2.length()==0) { s2=s; s1=""; } int in=BtoDint(s2); //把二进制数分离开后,调用整数部分 float dou=BtoDdecimal(s1); //调用二进制小数部分 dou=in+dou; string ss1,ss2; ss1=BtoHint(s2,1); ss2=BtoHint(s1,0); ...... //输出十进制形式和十六进制形式} } //二进制整数到十进制整数 int BtoDint(string s) { int i,ss=0,len,l; len=s.length()-1; l=len; for(i=0;i<=len;i++) { string ch=s.substr(0,1); s=s.substr(1,s.length()-1); if(ch=="1") { ss+=pow(2,l); l--; } else l--; } return ss; } //二进制小数到十进制小数 float BtoDdecimal(string s) { float ss=0.0; int i,len,l;