C語言ATM自動取款機系統(tǒng)項目的設(shè)計與開發(fā)-創(chuàng)新互聯(lián)

文章目錄
  • 基于C語言的ATM自動取款機系統(tǒng)項目設(shè)計與開發(fā)
    • 一、ATM自動取款機系統(tǒng)功能分析與介紹
    • 二、開發(fā)ATM自動取款機系統(tǒng)的工具以及創(chuàng)建項目的過程
      • 2.1、本項目使用Visual Studio 2019作為開發(fā)工具。
      • 2.2、項目創(chuàng)建的過程
  • ATM自動取款機系統(tǒng)的設(shè)計與開發(fā)的步驟
    • 一、設(shè)計登入頁面的顯示功能
    • 二、設(shè)計登入頁面退出功能
    • 三、設(shè)計登入頁面登入和系統(tǒng)主頁面顯示的功能
      • 3.1登入用戶賬號功能
      • 3.2登入用戶密碼功能
      • 3.3主頁面顯示功能
    • 四、設(shè)計主頁面修改用戶密碼的功能
    • 五、設(shè)計主頁面查詢用戶余額的功能
    • 六、設(shè)計主頁面用戶取款的功能
    • 七、設(shè)計主頁面用戶存款的功能
    • 八、返回登入頁面的功能
  • 總結(jié)

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)隴南免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變?;贑語言的ATM自動取款機系統(tǒng)項目設(shè)計與開發(fā) 一、ATM自動取款機系統(tǒng)功能分析與介紹

ATM自動取款機系統(tǒng)是銀行業(yè)務(wù)流程中十分重要且必備的環(huán)節(jié)之一,在銀行業(yè)務(wù)流程中起著承上啟下的作用,其重要性不言而喻。但是,目前許多銀行在具體的一此業(yè)務(wù)流程處理過程中仍然使用手工操作的方式來實施,不僅費時、費力,效率低下,而且無法達到理想的效果。

本應(yīng)用主要模擬ATM設(shè)備的常用功能,如登錄系統(tǒng)、身份驗證、余額查詢、取款、存款和修改密碼等功能。

在設(shè)計的過程中也以此為依據(jù),每一 種具體功能使用一 個或幾個函數(shù)來實現(xiàn)。

該系統(tǒng)的主要功能如下幾個要點所示:
1、顯示登入頁面功能:系統(tǒng)運行可以顯示ATM自動取款機系統(tǒng)的登入頁面,功能包括了登入和退出的兩個功能。

2、登入頁面的用戶登入功能:用戶可以用賬號,根據(jù)相關(guān)的提示登入ATM自動取款機系統(tǒng)。

3、修改密碼功能:用戶可以更改自己登入ATM自動取款機系統(tǒng)賬號的密碼功能。

4、查詢余額功能:用戶可以查詢自己賬號的余額。

5、取款功能:用戶可以將自己賬號里面存放的錢取出來。

6、存款功能 :用戶可以將自己的現(xiàn)金存入到自己的賬號中

7、返回登入頁面功能:用戶可以返回登入頁面,進而可以選擇登入自己或其他的賬號,或者選擇退出ATM自動取款機系統(tǒng)。

二、開發(fā)ATM自動取款機系統(tǒng)的工具以及創(chuàng)建項目的過程 2.1、本項目使用Visual Studio 2019作為開發(fā)工具。 2.2、項目創(chuàng)建的過程

打開VS2019,選擇語言為C++,所屬平臺為Windows,項目類型為控制臺項目,并選擇空項目,如下圖所示
在這里插入圖片描述

然后輸入項目的名稱和選擇項目的路徑如下圖所示
在這里插入圖片描述

創(chuàng)建好項目后,向項目中添加ATM.h頭文件和ATM.c源文件如下所示
在這里插入圖片描述

然后編寫相關(guān)的代碼如下
ATM.h頭文件代碼

#pragma once

#include// 包含相應(yīng)的頭文件
#include

ATM.c源文件代碼

#define _CRT_SECURE_NO_WARNINGS

#include "ATM.h"

int main()
{system("color 3E");

	system("pause");
	return 0;
}

現(xiàn)在ATM自動取款機系統(tǒng)項目就創(chuàng)建好了。

ATM自動取款機系統(tǒng)的設(shè)計與開發(fā)的步驟 一、設(shè)計登入頁面的顯示功能

在ATM.h頭文件中定義一個賬號的登入密碼和賬號登入之后的初始余額大小,如下所示

long int CODE = 123456;			// 登入密碼
long int balance = 10000;		// 存款的數(shù)目

然后在ATM.h頭文件中聲明一個EnterAccount函數(shù),用于用戶登入賬號的功能,并在ATM.c源文件中定義這個函數(shù)的功能。如下所示

//賬號輸入
void EnterAccount()
{system("cls");

	printf("*********************************\n");
	printf("*   歡迎使用 ATM 自動服務(wù)系統(tǒng)   *\n");
	printf("*     1.登入       2.退出       *\n");
	printf("*********************************\n");
	
	printf("請選擇功能:");
}

然后在main函數(shù)中添加如下的代碼

while (1)
	{EnterAccount();
	}

在主函數(shù)中,使用一個while死循環(huán),防止程序退出。
調(diào)試結(jié)果如下所示。
在這里插入圖片描述
到這一步,本文已經(jīng)實現(xiàn)了登入頁面的顯示的功能

二、設(shè)計登入頁面退出功能

當用戶在登入頁面選擇輸入2時,則會退出ATM自動取款機系統(tǒng)。在ATM.c源文件的EnterAccount函數(shù)中添加如下的代碼

long int user;
	int select;
	
	scanf("%d", &select);

	if (select == 1)
	{	}
	else
	{system("cls");

		printf("********************************\n");
		printf("*        歡迎您的再次使用      *\n");
		printf("*   按任意鍵將退出ATM系統(tǒng)?。?!*\n");
		printf("********************************\n");

		system("pause");
		exit(0);
	}

當輸入不是1時,就會退出ATM自動取款機系統(tǒng),其調(diào)試結(jié)果如下
在這里插入圖片描述
在這里插入圖片描述
到這一步,本文已經(jīng)實現(xiàn)了登入頁面的退出功能

三、設(shè)計登入頁面登入和系統(tǒng)主頁面顯示的功能

當用戶在登入頁面選擇輸入1時,則會登入ATM自動取款機系統(tǒng)。在ATM.c源文件的EnterAccount函數(shù)中添加如下的代碼

3.1登入用戶賬號功能
if (select == 1)
	{printf("請輸入卡號:");

		scanf("%d", &user);

		if (user != 123456)
		{	printf("    賬戶不存在,請從新輸入?。。n");

			system("pause");
			EnterAccount();
		}
		else
		{	EnterPassword();
		}
	}

根據(jù)輸入給user 值是否等于123456來進行是否進入輸入密碼的操作,若輸入的用戶賬號不對,則要求重新輸入。若輸入的賬號符合要求,則進入輸入密碼的頁面

3.2登入用戶密碼功能

在在ATM.h頭文件中聲明一個EnterPassword函數(shù),用于用戶輸入密碼的功能,并在ATM.c源文件中定義這個函數(shù)的功能。如下所示

//密碼輸入
void EnterPassword()
{long int code;
	int temp = 3;

	printf("********************************\n");
	printf("*          請輸入密碼          *\n");
	printf("********************************\n");

	printf("請輸入密碼:");

	scanf("%d", &code);

	while (code != CODE)
	{temp--;
		if (temp == 0)
		{	printf("********************************\n");
			printf("*      您已經(jīng) 3 次輸入密碼     *\n");
			printf("*  按任意鍵將返回登入系統(tǒng)?。?!*\n");
			printf("********************************\n");

			system("pause");
			EnterAccount();
		}

		printf("********************************\n");
		printf("*     密碼錯誤,請重新輸入     *\n");
		printf("*        您還有 ");
		printf("%d", temp);
		printf(" 次機會       *\n");
		printf("********************************\n");

		printf("請輸入密碼:");
		scanf("%d", &code);
	}

	Menu();
}

其中有三次機會給用戶輸入密碼,若三次輸入密碼都不對,則進入ATM自動取款機系統(tǒng)的登入頁面,否則進入系統(tǒng)機的主頁面。

3.3主頁面顯示功能

在在ATM.h頭文件中聲明一個Menu函數(shù),用于ATM自動取款機系統(tǒng)主頁面的功能,并在ATM.c源文件中定義這個函數(shù)的功能。如下所示

//基本操作界面
void Menu()
{int select = 0;

	system("cls");

	printf("********************************\n");
	printf("*    歡迎來到ATM自動取款系統(tǒng)   *\n");
	printf("*         請選擇一下業(yè)務(wù)       *\n");
	printf("*          1.修改密碼          *\n");
	printf("*          2.查詢余額          *\n");
	printf("*          3.取款              *\n");
	printf("*          4.存款              *\n");
	printf("*          5.返回              *\n");
	printf("********************************\n");

	printf("請選擇功能:");
	scanf("%d", &select);

	switch (select)
	{case 1:
		pwModify();				// 修改密碼  
		break;
	case 2:
		balanceQuery();			// 查詢余額
		break;
	case 3:
		moneyTakeOut();			// 取款   
		break;
	case 4:
		moneySave();			// 存款
		break;
	case 5:
		returnEnter();			// 返回
		break;
	default:
		printf("error\n");
	}
}

根據(jù)用戶輸入的數(shù)字賦值給變量select,然后使用Switch語句進行判據(jù)程序應(yīng)該進入哪一個函數(shù),并執(zhí)行相應(yīng)的函數(shù)功能。
登入調(diào)試結(jié)果如下
用戶賬號不對時
在這里插入圖片描述
在這里插入圖片描述
用戶賬號符合,但是密碼輸入錯誤時
在這里插入圖片描述
用戶賬號和密碼都符合時
在這里插入圖片描述
在這里插入圖片描述
到這一步,本文已經(jīng)實現(xiàn)了登入頁面的登入和系統(tǒng)主頁面顯示的功能

四、設(shè)計主頁面修改用戶密碼的功能

在ATM.h頭文件中聲明一個pwModify函數(shù),用于用戶修改用戶登入密碼的功能,并在ATM.c源文件中定義這個函數(shù)的功能。如下所示

//修改密碼
void pwModify()
{long int mm1, mm2, mm3;
	char temp;

	system("cls");
	printf("        密碼修改            \n");
	printf("輸入舊密碼:\n");
	scanf("%d", &mm1);

	while (mm1 != CODE)					// 判決舊密碼是否輸入有誤
	{printf("舊密碼錯誤\n");
		printf("請重新輸入?。。n");

		system("pause");

		printf("舊密碼:");
		scanf("%d", &mm1);
	}

	printf("\n輸入新密碼: ");
	scanf("%d", &mm2);

	if (mm1 == mm2)							// 判斷舊密碼與輸入的新密碼是否相同
	{printf("\n輸入的新密碼與舊密碼一樣?。?!\n");
		printf("重新輸入新密碼\n");

		printf("\n輸入新密碼: ");
		scanf("%d", &mm2);
	}

	printf("\n確認新密碼:");
	scanf("%d", &mm3);

	if (mm2 != mm3)				// 驗證輸入的新密碼
	{printf("確認密碼不一致\n");
		printf("請重新輸入?。?!\n");

		system("pause");
		pwModify();
	}

	if (mm2< 100000)			// 防止輸入的密碼過于短
	{printf("密碼必須大于或等于6位數(shù)\n");
		printf("請重新輸入?。?!\n");

		system("pause");
		pwModify();
	}

	temp = (char)mm2 % 111111;
	if (temp == 0)				// 防止輸入的密碼過于簡單
	{printf("密碼過于簡單\n");
		printf("請重新輸入!??!\n");

		system("pause");
		pwModify();
	}

	CODE = mm2;				// 更新變量的值,即修改密碼成功
	system("cls");
	printf("        修改密碼操作成功          \n");
	printf("    按任意鍵返回主頁面\n");

	system("pause");
	Menu();				// 返回系統(tǒng)的主頁面
}

其調(diào)試結(jié)果如下
輸入舊密碼不對時
在這里插入圖片描述
在這里插入圖片描述
確認密碼不對時
在這里插入圖片描述
修改密碼成功時
在這里插入圖片描述
到這一步,本文已經(jīng)實現(xiàn)了主頁面修改用戶密碼的功能

五、設(shè)計主頁面查詢用戶余額的功能

在ATM.h頭文件中聲明一個balanceQuery函數(shù),用于用戶查詢自己賬戶的余額功能,并在ATM.c源文件中定義這個函數(shù)的功能。如下所示

//余額查詢
void balanceQuery()
{system("cls");

	printf("          您的余額為          \n");
	printf("          %d元          \n", balance);
	printf("    按任意鍵返回主頁面\n");

	system("pause");
	Menu();
}

其調(diào)試結(jié)果如下所示

在這里插入圖片描述
到這一步,本文已經(jīng)實現(xiàn)了主頁面查詢用戶余額的功能

六、設(shè)計主頁面用戶取款的功能

在ATM.h頭文件中聲明一個moneyTakeOut函數(shù)和takeOutJudge函數(shù),用于用戶取出自己賬戶中的錢的功能,并在ATM.c源文件中定義這兩個函數(shù)的功能。如下所示

// 取款
void moneyTakeOut()
{long int temp;
	int select = 0;

	system("cls");

	printf("********************************\n");
	printf("*     請選擇您要取款的金額     *\n");
	printf("*        1.100    2.200        *\n");
	printf("*        3.500    4.800        *\n");
	printf("*        5.1000   6.其它       *\n");
	printf("*                              *\n");
	printf("*        7.返回   8.返回       *\n");
	printf("********************************\n");

	printf("     請輸入選擇序號:");
	scanf("%d", &select);

	switch (select)
	{case 1:
		takeOutJudge(100);
		break;
	case 2:
		takeOutJudge(200);
		break;
	case 3:
		takeOutJudge(500);
		break;
	case 4:
		takeOutJudge(800);
		break;
	case 5:
		takeOutJudge(1000);
		break;
	case 6:
		printf("     請輸入您要取款的金額:");
		scanf("%d", &temp);
		takeOutJudge(temp);
		break;
	case 7:
		Menu();
		break;
	}
}

void takeOutJudge(int takeOutMoney)
{if (takeOutMoney >balance)
	{printf("           余額不足!         \n");
		printf("          請重新操作          \n");
		printf("       按任意鍵返回主頁面\n");

		system("pause");
		Menu();
	}

	if (takeOutMoney >500000)
	{printf("    每次取款不能超過 50000 元  \n");
		printf("           請重新操作         \n");
		printf("    按任意鍵返回主頁面\n");

		system("pause");
		Menu();
	}

	balance = balance - takeOutMoney;

	printf("           取款操作成功         \n");
	printf("         按任意鍵返回主頁面\n");

	system("pause");
	Menu();
}

在moneyTakeOut函數(shù)中可以顯示取出錢的數(shù)目,并進行選擇,然后調(diào)用takeOutJudge函數(shù)對賬戶余額進行判斷是否充足等功能。
其調(diào)試結(jié)果如下所示
在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

取了兩次款,其調(diào)試結(jié)果正確。
到這一步,本文已經(jīng)實現(xiàn)了主頁面查詢用戶余額的功能

七、設(shè)計主頁面用戶存款的功能

在ATM.h頭文件中聲明一個moneySave函數(shù),用于用戶將自己的現(xiàn)金存入系統(tǒng)的賬戶中的功能,并在ATM.c源文件中定義這兩個函數(shù)的功能。如下所示

// 存款
void moneySave()
{long int tempMoney;

	system("cls");

	printf("請輸入存放的人民幣:");
	scanf("%d", &tempMoney);

	while (tempMoney< 0)
	{printf("輸入的存款數(shù)據(jù)不能為負數(shù)?。?!\n");
		printf("請重新輸入存放的人民幣:");
		scanf("%d", &tempMoney);
	}

	balance = balance + tempMoney;

	printf("           存款操作成功         \n");
	printf("         按任意鍵返回主頁面\n");

	system("pause");
	Menu();
}

可以對輸入的數(shù)據(jù)是否合法進行有效的判斷。
其調(diào)試結(jié)果如下所示

在這里插入圖片描述
到這一步,本文已經(jīng)實現(xiàn)了主頁面用戶存款的功能。

八、返回登入頁面的功能

在ATM.h頭文件中聲明一個returnEnter函數(shù),用于用戶返回系統(tǒng)登入頁面的功能,并在ATM.c源文件中定義這兩個函數(shù)的功能。如下所示

//返回登入頁面
void returnEnter()
{system("cls");
	printf("********************************\n");
	printf("*        歡迎您的再次使用      *\n");
	printf("*  按任意鍵將返回登入頁面!??!*\n");
	printf("********************************\n");

	system("pause");

	EnterAccount();
}

調(diào)試結(jié)果如下
在這里插入圖片描述

總結(jié)

到這里我們完成了ATM自動取款機系統(tǒng)的設(shè)計與開發(fā)。在設(shè)計的工程中,我們主要使用了C語言的函數(shù),while循環(huán)、system庫函數(shù)等知識。本文的項目可以讓剛剛?cè)腴T的小白C語言選手可以很快掌握C語言編程的基本編程能力。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁名稱:C語言ATM自動取款機系統(tǒng)項目的設(shè)計與開發(fā)-創(chuàng)新互聯(lián)
文章URL:http://bm7419.com/article30/dgocso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作搜索引擎優(yōu)化、網(wǎng)站設(shè)計公司、做網(wǎng)站、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司