資源簡介
期末 C++ 課程設計作業。
使用C++完成一個銀行賬戶管理系統。
代碼片段和文件信息
/*
2017/6
C++?課程設計
銀行賬戶管理系統
*/
#include?“stdio.h“
#include?“stdlib.h“
#include?“string.h“
#define?H1?“---Bank?Account?Managment?System---\n“
#define?H2?????“----------------------------------------------------------------------\n“
#define?H3?????“number\tname\t???????tel\t??????bank\t?????????balance\n“
#define?FORMAT?“%-5s??%-18s%-11s???%-18s%-10.2lf\n“
#define?H4?????“-----------------------------------------------\n“
#define?DATE?p->numberp->namep->telp->bankp->balance
#define?wrong?printf(“Please?make?sure?input?between?0?and?9\n“)
#define?clear()?printf(“\033[2J“)??//clean?up?screen
#define?move(xy)?printf(“\033[%d;%dH“?(x)?(y))
int?save?=?0;?????
char?anykey;
char?Administrator[21]?=?“zhangyu“;
char?key[8]?=?“000001“;
typedef?struct?holder
{
???char?number[11];
???char?name[21];
???char?tel[12]?;
???char?bank[21];
???double?balance;
???struct?holder?*next;
}Holder;
void?menu()?;
int?empty(Holder?*l);
Holder?*fmt_input();
Holder?*serch(Holder?*l);?
void?display(Holder?*l);?
Holder?*store(Holder?*l);
Holder?*add(Holder?*l);
Holder?*insert(Holder?*l);
void?del(Holder?*l);
void?savefile(Holder?*l);
void?quit(Holder?*l);
Holder?*take(Holder?*l);
int?login(void);
void?adm_set();
void?sort(Holder?*l);
int?main(int?argc?char?const?*argv[])
{
FILE?*fp;
Holder?*l?=?(Holder?*)malloc(sizeof(Holder));
????Holder?*r;
fp?=?fopen(“holder.dat““a+“);
if(!fp)?{
printf(“Open?file?failed\n“);
exit(0);
}
l?=?(Holder*)malloc(sizeof(Holder));
if(!l)?{?
printf(“allcate?memory?failed\n“);
?exit(0);
?}
?l->next?=?NULL;
?r?=?l;
?int?count?=?0;
?while(!feof(fp))
?{
Holder?*p?=?(Holder*)malloc(sizeof(Holder));
if(!p){
printf(“allcate?memory?failed\n“);
exit(0);
}
if(fread(psizeof(Holder)1fp)?==?1)?{
p->next?=?NULL;
r->next?=?p;
r?=?p;
count++;
}
?}
????//?printf(“%d\n“count);
?fclose(fp);
?????FILE?*t?=?fopen(“key.in““r“);
?????if(t?==?NULL)?{?printf(“File?open?failed!\n“);?exit(0);?}
?????fscanf(t“%s“Administrator);
?????fscanf(t“%s“key);
?????fclose(t);
????//while(!login());?????//Administrator?login
?while(1)
?{
char?select;
menu();
move(1039);scanf(“?%c“&select);
????????getchar();
switch(select)
{
case?‘0‘:display(l);break;
case?‘1‘:serch(l);break;
case?‘2‘:store(l);break;
case?‘3‘:add(l);break;
case?‘4‘:take(l);break;
case?‘5‘:insert(l);break;
case?‘6‘:del(l);break;
case?‘7‘:sort(l);break;
case?‘8‘:savefile(l);break;
case?‘9‘:quit(l);break;
??????case?‘S‘:adm_set();break;
default:?wrong;break;
}
?}
return?0;
}
void?menu()??????//?later
{
clear();
????move(123);printf(H1);
????move(216);printf(H4);
????move(425);printf(“0?:Display???????5?:Insert\n“);
????move(525);printf(“1?:Serch?????????6?:Delete\n“);
????move(625);printf(“2?:Store?????????7?:Sort(disable)\n“);
????move(725);printf(“3?:Add???????????8?:Save\n“);
????move(825);printf(“4?:Take??????????9?:Quit\n“);
????move(1025);printf(“Enter?Number:___“);
????move(1039);
}
int
評論
共有 條評論