C语言数据的更新问题,大侠们,我C语言的期末大作业占考试成绩的一半,求高手帮忙编一段编程,题目如下

我的是羊城通系统,帮我简单编就行了,A模式是充值,B模式是消费,C模式是查询,然后要求能数据更新(就是每次打开源文件的时候数据都会是上一次结束时的最新数据),求帮忙啊,全... 我的是羊城通系统,帮我简单编就行了,A模式是充值,B模式是消费,C模式是查询,然后要求能数据更新(就是每次打开源文件的时候数据都会是上一次结束时的最新数据),求帮忙啊,全部分都给你了
其实不同写的那么复杂,越简单越好,求帮助
展开
 我来答
thebabe
2012-12-24 · TA获得超过829个赞
知道小有建树答主
回答量:729
采纳率:66%
帮助的人:560万
展开全部
#define src_file "SourceFile"
void main(){
FILE* fp;

float remain; // 余额

float money; // 操作金额
typedef enum {Charge, Expense, Query} MODE;

MODE mode;

fp=fopen(sr_file, "rt"); // 打开文件读

if(fp==NULL) { // 文件不存在,则表明之前没有余额

remain=0;

}

else {

fscanf(fp, "%f", &remain);

fclose(fp); // 读出后立即关闭文件,在程序退出时再打开写,则始终保持一个最新记录。

}

prinft("You still have [%f] yuan.\n", remain); // 输出当前余额

printf("Please type in your operation (A for Charge, B for Expense, C for Query):");

switch(getchar()){

case 'A': case 'a': mode=Charge; break;

case 'B': case 'b': mode=Expense; break;

case 'C': case 'c': mode=Query; break;

}

switch(mode){

case Charge:

//添加充值代码:比如输出提示充值多少钱?如下:

printf("Please input how much you want to recharge:")

scanf("%f", &money);

if(money <= 0) {

printf("Please try again.\nQuit now.");

}

else {

remain += money;

prinft("You have [%f] yuan now.\n", remain); // 输出当前余额

}

break;

case Expense:
//添加消费代码:比如输出提示消费多少钱?得到输入(scanf)后,检查是否小于余额,是则减掉消费额后存盘();

break;
case Query:
//添加查询代码:输出余额。

break;
}

fp=fopen(src_file, "wt");

if(fp != NULL) {

fprintf(fp, "%f", remain);

fclose(fp);

}

else {

printf("Cannot update record. Please check your file system that the [%s] is write enabled.\n", src_file);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式