我用C語言做了一個小程式,準備交作業,奈何老師說里面要求有資料結構的知識,做的是一個ATM機,麻煩幫我改一下,老師說要用到結構體存盤,就是加一個 “存款”,然后余額是個定值,每次取款會減錢,謝謝啦
#include<stdio.h>
#include<time.h>
#include<windows.h>
#define clear system("cls")
#define p 3800000
#define N 19
int a,b,c,i,j,g,t;
void gotoxy(int x,int y) //輸出定位子函式
{
COORD c;
c.X=x-1;
c.Y=y-1;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
void delay(int z) //延時子函式,延時時間為1ms
{
int m,n;
for(m=z;m>0;m--)
for(n=110;n>0;n--);
}
void over() //結束模塊
{
clear;
gotoxy(28,13);
printf("本次交易結束,請取卡!");
delay(p);
}
void progressbar() //進度條模塊
{
clear;
gotoxy(31,13);
printf("請稍候");
for(c=0;c<10;c+=2)
{
gotoxy(38+c,13);
printf("*");
delay(380000);
}
}
void balance()
{
clear;
gotoxy(30,12);
srand(time(0));
t=rand()%100000000;
printf("您的余額是%d元!",t);
}
int homepage() //主頁
{
clear;
gotoxy(30,10);
printf("=========================");
gotoxy(31,11);
printf("1 取款業務 2 余額查詢");
gotoxy(31,13);
printf("3 轉賬業務 4 退出系統");
gotoxy(30,14);
printf("=========================");
gotoxy(30,15);
printf("請輸入相應業務選項:");
scanf("%d",&j);
switch(j)
{
case 1:getmoney();break;
case 2:
{
clear;
printf("正在查詢");
progressbar();
gotoxy(30,14);
balance();
gotoxy(30,14);
system("pause");
};break;
case 3:
{
clear;
gotoxy(34,13);
printf("業務暫不支持!");
delay(p);
progressbar();
};break;
case 4:
{
progressbar();
over();
progressbar();
main();
};break;
default:homepage();break;
}
homepage();
}
int getmoney()
{
clear;
gotoxy(30,12);
progressbar();
clear;
gotoxy(30,9);
printf("=====================");
gotoxy(31,10);
printf("1 100元 2 200元");
gotoxy(31,12);
printf("3 300元 4 400元");
gotoxy(31,14);
printf("5 自定義 6 回傳 ");
gotoxy(30,15);
printf("=====================");
gotoxy(30,16);
printf("請輸入相應選項:");
scanf("%d",&a);
clear;
gotoxy(30,13);
progressbar();
clear;
gotoxy(21,13);
switch(a)
{
//出鈔票的時候不知道弄成什么效果,所以以一句話代替了!
case 1:printf("您的鈔票100元已經出來,請點清……");break;
case 2:printf("您的鈔票200元已經出來,請點清……");break;
case 3:printf("您的鈔票300元已經出來,請點清……");break;
case 4:printf("您的鈔票400元已經出來,請點清……");break;
case 5:
{
printf("請輸入您要取出的數目:");
scanf("%d",&b);
clear;
gotoxy(21,13);
progressbar();
clear;
if(b%100==0&&b>99)
{
if(b<=10000)
{
clear;
gotoxy(21,13);
printf("您的鈔票%d元已經出來,請點清……",b);
}
else
{
clear;
gotoxy(21,13);
printf("您好,您要取的現金數太大,請您前往柜臺辦理!");
}
}
else
{
clear;
gotoxy(15,13);
printf("您輸入錯誤,所輸入的錢數必須為100的整數倍,請重新輸入!");
}
};break;
case 6:homepage();break;
default:
{
clear;
gotoxy(35,13);
printf("您輸入錯誤!");
};break;
}
delay(p);
delay(p);
getmoney();
getch();
}
int main() //主程式
{
while(1)
{
if(g<3)
{
clear; //清屏
gotoxy(20,12);
printf("===========================================");
gotoxy(21,13);
printf("請插入您的卡,并輸入密碼,完成后請按確認!");
gotoxy(20,14);
printf("===========================================");
gotoxy(33,15);
printf("密碼:");
scanf("%d",&i);
clear;
gotoxy(30,12);
progressbar();
switch(i)
{
case 123456:homepage();break;
default:
{
clear;
gotoxy(30,13);
printf("密碼錯誤,請重新輸入!");
clear;
gotoxy(30,13);
printf("您還有%d次機會!",2-g);
++g;
delay(p);
};break;
}
}
else
{
clear; //清屏
gotoxy(20,13);
printf("對不起,您已錯誤輸入三次,今天被暫停使用!");
delay(p);
delay(p);
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/66038.html
標籤:數據庫及相關技術
