1. 程式人生 > 實用技巧 >【C/C++】指標,傳參,引用的一些個人理解。

【C/C++】指標,傳參,引用的一些個人理解。

部落格班級 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/
作業要求 https://edu.cnblogs.com/campus/ahgc/AHPU-SE-19/homework/11477
作業目標 編寫一個ATM管理系統,語言不限,要求應包括以下主要功能:(1)開戶,銷戶(2)查詢賬戶餘額(3)存款(4)取款(5)轉賬
學號 3190704227

一、題目要求
編寫一個ATM管理系統,語言不限,要求應包括以下主要功能:
(1)開戶,銷戶
(2)查詢賬戶餘額
(3)存款
(4)取款
(5)轉賬(一個賬戶轉到另一個賬戶)
二、程式碼提交
//標頭檔案及函式定義

#include <stdio.h>
int choice;
void show_menu();
void create();
void declear();
void cunkuan();
void qukuan();
void zhuanzhang();
void chaxun();
double account=0.0;
char name;
int pass;
long id;

//主函式

int main()
{
while (1)
{
show_menu();
scanf("%d",&choice);
switch (choice)
{
case 1:
create();
break;
case 2:
declear();
break;
case 3:
cunkuan();
break;
case 4:
qukuan();
break;
case 5:
zhuanzhang();
break;
case 6:
chaxun();
break;
default:
break;
}
}

//選單函式

void show_menu()
{
printf("**************歡迎ATM************\n");
printf("\n1.建卡 2.銷戶 3.存款 4.取款 5.轉賬 6.查詢 0.退出\n");
printf("\n請選擇服務種類:");
}


//建立賬戶

void create()
{
     printf("請輸入你的姓名:");
	 scanf("%s",&name);
	 printf("請輸入你想選擇的卡號:");
	 scanf("%ld",&id);
	 printf("請輸入你的密碼:");
	 scanf("%d",&pass);
}


//存款函式

void cunkuan()
{
	int b;
	double	s;
	int num;
	printf("請輸入你要存款的賬戶:");
	scanf("%d",&b);
	if(b==id)
	{
		printf("請輸入密碼:");
		scanf("%d",&num);
		 if(pass==num)
		{			
			printf("請輸入你要存入的金額:");
			scanf("%lf",&s);
			account=account+s;
		}
	    else
	   {
			printf("請輸入正確的密碼\n");
	   }
	}
	else
	{
		printf("請輸入正確的賬戶\n");
	}
}


//取款函式

void qukuan()
{
	int c;
	double s;
	int num;
	printf("請輸入你要取款的賬戶:");
	scanf("%d",&c);
	if(c==id)
	{

		printf("請輸入密碼:");
		scanf("%d",&num);
		if(pass==num)
		{	
		printf("請輸入你要取款的金額:");
		scanf("%lf",&s);
		if(s<=account)
		{
		account=account-s;
		}
		else
		{
			printf("餘額不足!");
		}
		}
		else
	   {
			printf("請輸入正確的密碼\n");
	   }
	}
    else
	{
		printf("請輸入正確的賬戶\n");
	}
}


//轉賬函式

void zhuanzhang()
{
	int d;
	double s;
	int e;
    int num;
	printf("請輸入你要執行的賬戶:");
	scanf("%d",&d);
	if(d==id)
	{
		printf("請輸入密碼:");
		scanf("%d",&num);
		if(pass==num)
		{	
		printf("請輸入你要轉賬的賬戶:");
		scanf("%d",&e);
		printf("請輸入你要轉賬的金額:");
		scanf("%lf",&s);
		if(s<=account)
		{
		account=account-s;
		}
		else
		{
			printf("餘額不足!");
		}
		}
		else
	   {
			printf("請輸入正確的密碼\n");
	   }
	}
    else
	{
		printf("請輸入正確的賬戶\n");
	}
}


//查詢函式

void chaxun()
{
    int f;
	printf("請輸入你要查詢的賬戶:");
	scanf("%d",&f);
	if(f==id)
	{
		printf("你好,你的當前餘額為%lf\n",account);	
	}
    else
	{
		printf("請輸入正確的賬戶\n");
	}
}

//清除賬戶函式

void declear()
{
	int a;
	printf("請輸入你想刪除的賬戶:");
	scanf("%d",&a);
	if(a==id)
	{
		name='0';
		account=0;
		id=0;
	}
	else
	{
		printf("請輸入正確的賬戶\n");
	}
}


三、個人小結

psp2.1 任務內容 計劃完成需要的時間(min) 實際完成需要的時間(min)
Planning 計劃 10 10
Estimate 估計這個任務需要多少時間,並規劃大致工作步驟 5 5
Development 開發 180 200
Analysis 需求分析(包括學習新技術) 15 18
Design Spec 生成設計文件 5 5
Design Review 設計複審 10 15
Coding Standard 程式碼規範 3 3
Design 具體設計 15 20
Coding 具體編碼 120 180
Code Review 程式碼複審 10 10
Test 測試(自我測試,修改程式碼,提交修改) 10 10
Reporting 報告 10 10
Test Report 測試報告 2 2
Size Measurement 計算工作量 3 3
Postmortem & Process Improvement Plan 事後總結,並提出過程改進計劃 10 10