软件优化ing

 

  

大家好,我是来自上海海洋大学的一名大二学生,你们可以叫我小落,现在因为课程要求所以开始将课程作业写成博客,如果有不准确的地方欢迎批评指正。本次作业我选取的是我同学的期末作业进行升级与优化,我们先来看看题目的具体要求吧。

【题目】为了管理账户,设立两个文件:一是账户基本信息文件,包括账户的账号,姓名,身份证号,建账日期等信息;另一个是账户余额文件,包括账户的账号和当前余额两项数据。本程序可以执行账户的开户,借款,还款,存款,销户等操作,而且能够实现对账户信息的查询统计功能,按借款户的余额从大到小排序功能,按存款户的余额从小到大排序功能和按开户日期从小到大排序功能。

一眼看过去目标十分明确,主要运用了文件读取等一系列基础能力,对于代码初学者来说是一道非常适合的练手题。我们来看看两年前我们写的代码具体长什么。总体而言并没有什么太大的问题,但有一些小细节需要注意一下,在用户输入账号时,不能正确定位用户位置,暨每个用户的存款都加到一个账户里,但搜索每个账户都会查询到错误的余额。这在当时我们无法利用现有知识解决,但现在不同了。我想出了一个解决办法,必须先正确定位账户的位置,自己输入数字是字符,所以字符相减就得到一个数字,这数字加上一个定义为0的变量就是账号的位置,因此每次先让用户输入账号,能快速判断位置,也能判断账号是否销户或者是否正确输入账号。然后我们再来看看代码的运行界面。

 

 

 

 这个页面虽然简介但是较为不美观,我们可以利用一下代码将它变得好看一些。将颜色和布局改变一下。

 

	printf("\n\n\n");
	printf("\t\t|----------Bank----------|\n");
	printf("\t\t| <1>开户         <2>销户|\n");
	printf("\t\t| <3>借款         <4>还款|\n");
	printf("\t\t| <5>存款         <6>取款|\n");
	printf("\t\t| <7>管理         <8>退出|\n");
	printf("\t\t|------------------------|\n\n");
	printf("\t\t请选择您要办理的业务:");
	system("color F0"); 

  

现在就会好多了,让用户看起来十分简洁和美观。同时我还改编了一些东西,运用了switch递归:当使用switch后,为避免程序运行一次便终止,并且避免switch 进行一次后switch 循环的判断条件未能改变而导致多次循环,而采用递归的方式,能使用户选择一个功能后随时返回所需要的界面,减少循环次数,增加灵活性。以上便是我第一次的代码升级。如果有问题或不对的地方欢迎指正,谢谢大家!

posted @ 2023-03-06 01:03  凡尘落空  阅读(33)  评论(0)    收藏  举报