程序设计综合实验报告册

  • 格式:doc
  • 大小:79.50 KB
  • 文档页数:31

下载文档原格式

  / 31
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西南交通大学程序设计综合实验

实验地点:

实验学期:

学生班级:

学生学号:

学生姓名:

任课教师:龚勋

信息科学与技术学院

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;