• 个人作业三-ATM管理系统


    博客班级 计算机18级
    作业要求 ATM管理系统
    作业目标 熟悉ATM机制并实现相应功能
    学号 3180701128

    一.题目要求

    编写一个ATM管理系统,语言不限,要求应包括以下主要功能:

    (1)开户,销户

    (2)查询账户余额

    (3)存款

    (4)取款

    (5)转账(一个账户转到另一个账户)等...

    二.代码提交

    结构体:
    struct node
    {
    	char Name[30];
    	char Id[30];
    	char Key[20];
    	float Money;
    } info[10000];
    
    保存信息
    int preserve_info()//保存信息 
    {
    	int i = 0;
    	FILE *fp;
    	fp = fopen("info.txt", "w");
    	if(fp == NULL)
    	{
    		printf("文件打开失败
    ");
    		exit(0);
    	}
    	for(i=0; i<10000 && info[i].Id[0]!=''; i++)
    	{
    		fprintf(fp, "%s	", info[i].Name);
    		fprintf(fp, "%s	", info[i].Id);
    		fprintf(fp, "%s	", info[i].Key);
    		fprintf(fp, "%f
    ", info[i].Money);
    	}
    	fclose(fp);
    	return 0;
    }
    
    读取信息
    int  read_info()//读取信息 
    {
    	int i;
    	FILE *fp;
    	fp = fopen("info.txt", "rb");
    	if(fp == NULL)
    	{
    		printf("文件打开失败
    ");
    		exit(0);
    	} 
    	i=0;
    	while(!feof(fp))
    	{
    		fscanf(fp, "%s", &info[i].Name);
    		fscanf(fp, "%s", &info[i].Id);
    		fscanf(fp, "%s", &info[i].Key);
    		fscanf(fp, "%d", &info[i].Money);
    		i++;
    	}
    	fclose(fp);
    	return 0;
    }
    
    创建信息
    int create_info()//创建信息
    {
    	int i;
    	for(i=0; i<10000; i++)
    	{
    		if(info[i].Id[0]=='')
    		{
    			getchar();
    			printf("
      姓名:");
    			gets(info[i].Name);
    			printf("  身份证号:");
    			gets(info[i].Id);
    			printf("  密码:");
    			gets(info[i].Key);
    			info[i].Money = 0;
    			printf("
    账户创建成功!!!
    
    ");
    			return 0;
    		}
    	}
    	return 0;
    } 
    
    存取款以及转账
    int add_money(int n) //存款
    {
    	float num;
    	printf("存款金额为:");
    	scanf("%f", &num);
    	info[n].Money = info[n].Money + num;
    
    	printf("存款成功,剩余金额为:%.2f
    ", info[n].Money);
    
    	return 0;
    }
    
    int withdraw_money(int n) //取款
    {
    	float num;
    	printf("取款金额为:");
    	scanf("%f", &num);
    	info[n].Money = info[n].Money - num;
    
    	printf("取款成功,剩余金额为:%.2f
    ", info[n].Money);
    
    	return 0;
    }
    
    int transfer_money(int n)//转账 
    {
    	float num;
    	int i;
    	char other_id[30];
    	printf("请输入收款人的身份证号:");
    	getchar();
    	gets(other_id);
    	
    	for(i=0; i<10000; i++)
    	{
    		if(strcmp(info[i].Id, other_id) == 0)
    		{
    			printf("请输入转账金额:");
    			scanf("%f",&num);
    			
    			info[n].Money = info[n].Money - num;
    			info[i].Money = info[i].Money + num;
    			printf("转账成功,剩余金额为:%.2f", info[n].Money);
    			return 0;
    		}
    	} 
    	printf("转账失败
    ");
    	return 0;
    }
    
    登录
    int login_account() //登录
    {
    	int n;
    	char personal_id[30], personal_key[20];
    
    	printf("请输入您的身份证号:");
    	getchar();
    	gets(personal_id);
    	printf("请输入您的密码:");
    	gets(personal_key);
    
    	for (n=0; n<10000; n++)
    	{
    		if ((strcmp(info[n].Id, personal_id) == 0) && (strcmp(info[n].Key, personal_key) == 0))
    		{
    			return n;
    		}
    	}
    	return n;
    }
    
    截图
    创建账户

    创建账户.png

    存款

    存款.png

    登录

    登录.png

    取款

    取款.png

    销户

    销户.png

    转账

    转账.png

    三.个人小结

    psp 任务内容 计划完成需要的时间(min) 实际完成需要的时间(min)
    Planning 计划 20 16
    Estimate 估计这个任务需要多少时间,并规划大致工作步骤 20 23
    Development 开发 300 280
    Analysis 需求分析(包括学习新技术) 24 20
    Design Spec 生成设计文档 10 5
    Design Review 设计复审 10 5
    Coding Standard 代码规范 5 3
    Design 具体设计 20 15
    Coding 具体编码 60 58
    Code Review 代码复审 5 10
    Test 测试(自我测试,修改代码,提交修改) 20 15
    Reporting 报告 10 8
    Test Report 测试报告 5 3
    Size Measurement 计算工作量 3 2
    Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 6 5
  • 相关阅读:
    关于MySQL数据库优化的部分整理
    PHP跨域form提交
    px、dp和sp,这些单位有什么区别?
    301和302 Http状态有啥区别?
    PHP HTTP请求
    php的http_build_query使用
    nginx ssi 模块
    MongoDB学习笔记(一) MongoDB介绍及安装(摘)
    Django Admin 录入中文错误解决办法
    关于python字符串连接的操作
  • 原文地址:https://www.cnblogs.com/hudamao/p/14003176.html
Copyright © 2020-2023  润新知