中南的悲催啊~阿寧! 三. 程序代碼
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、洋縣網(wǎng)站維護(hù)、網(wǎng)站推廣。
#include iostream
#includestring
#include fstream
using namespace std;
struct flight
{int fligh;
int num;
char place[10];
int dticket;
int yticket;
}fl[10]=,
,
};
struct customer
{char name[10];
int seat;
int num;
}cu[300]=,,}; //定義結(jié)構(gòu)體
int cnum=3; //定義客戶編號(hào)
void list();
void dingpiao();
void tuipiao();
void chaxun();
void chaxun();
void chaxunquanbu();
void caidan1(); //函數(shù)聲明
void caidan2();
void chushi();
void main()
{cout"歡迎使用航空訂票系統(tǒng)2012末日版——版權(quán)所有,盜版必究~"endlendl;
caidan2();
} //主函數(shù)
void caidan1()
{int i;
cout"************* 航空訂票系統(tǒng)v2012 *************"endl;
cout"*** ***"endl;
cout"*** 1.訂票業(yè)務(wù) 2.退票業(yè)務(wù) ***"endl;
cout"*** 3.查詢客戶信息 4.查詢?nèi)啃畔?***"endl;
cout"*** 5.退出系統(tǒng) ***"endl;
cout"*** ***"endl;
cout"*** 如果是第一次使用本系統(tǒng),請載入初始信息~謝謝~ ***"endl;
cout"*********************************************************"endl;
ifstream infile1("airline.dat");
ifstream infile2("customer.dat");
for(i=0;i3;i++)
for(i=0;i300;i++)
infile1.close();infile2.close(); //讀取數(shù)據(jù)
cout"請輸入業(yè)務(wù)代碼:";
list();
} //菜單1
void caidan2()
{int t;
cout"第一次啟動(dòng)本軟件請輸入1,否則請輸入2:";cint;
if(t==1)chushi();else caidan1();} //菜單2
void chushi()
{int i;
ofstream outfile("airline.dat");
ofstream file("customer.dat");
for (i=0;i3;i++)
{ outfilefl[i].fligh " "
fl[i].num" "
fl[i].place" "
fl[i].dticket" "
fl[i].yticketendl;
filecu[i].name" "cu[i].num" "cu[i].seat" "cnumendl;}
outfile.close();file.close();
cout"初始化已完畢!"endlendl;
caidan1();
} //存儲(chǔ)數(shù)據(jù)
void list()
{int a;
cina;coutendl;
switch(a)
{case 1:dingpiao();break;
case 2:tuipiao();break;
case 3:chaxun();break;
case 4:chaxunquanbu();break;
case 5:;break;
default: //輸入代碼
}
}
void dingpiao()/////////////////////////////////////////////////////////// 訂票
{char name[10];
int num,i,t,j,k,temp;
int x;
cout"請輸入你的姓名和想訂的航班號(hào):"endlendl;
cout"姓名:";cinname;
coutendl;
cout"航班號(hào):";cinnum;
for(i=0;i300;i++)
if(strcmp(name,cu[i].name)==0)
{cout"您已經(jīng)定過航班,要返回主菜單嗎?(1.返回/2.退出)";
cint;switch(t)
{case 1:caidan1();break;
default :break;}
}
for(i=0;i300;i++)
if (name!=cu[i].name)
for(j=0;j10;j++)
if(fl[j].fligh==num)temp=j;
if(fl[temp].yticket=100) {cout"此航班還有余票,要訂票嗎?(1.是/2.否)";
cinx;
switch(x)
{case 1: {for (k=0;k3;k++)
if (fl[k].fligh==num)
{
fl[k].dticket=fl[k].dticket+1;fl[k].yticket=fl[k].yticket-1;cnum=cnum+1;
strcpy(cu[cnum].name,name);cu[cnum].num=num;
cu[cnum].seat=fl[k].dticket;
ofstream outfile1("airline.dat");
for(j=0;j3;j++)
outfile1fl[j].fligh" "fl[j].num" "fl[j].place" "fl[j].dticket" "fl[j].yticketendl;
ofstream outfile2("customer.dat",ios::app);
outfile2cu[cnum].name" "cu[cnum].num" "cu[cnum].seat" "cnumendl; //打開文件并存儲(chǔ)數(shù)據(jù)
cout"訂票成功!"endlendl
"客戶信息:"cu[cnum].name'\t'"航班號(hào):"cu[cnum].num'\t'"座位號(hào):"cu[cnum].seatendl;
outfile1.close();outfile2.close();
cout" 1.返回主菜單 2.退出 :";cintemp;
if(temp==1) caidan1();else;
}};break;
default :caidan1();break;}}else cout"此航班票已經(jīng)售完,請訂其他航班次的票~";
} ///////////////////////////////////////////////////////////////////////////////////////////////////// //訂票
void tuipiao()///////////////////////////////////////////////////////////////////////////////////////// 退票
{char name[10];
int i,temp,t,num,a,j;
struct tmp;
cout"請輸入您的姓名和航班號(hào):"endl;
cout"姓名:";cinname;cout"航班號(hào):";cinnum;coutendl;
for(i=0;i300;i++)
{if (strcmp(cu[i].name,name)==0)
{a=0;cout"確定退訂嗎?(1.是 2.否):";cintemp;
if(temp==1)
{ ofstream outfile1("airline.dat");
ofstream outfile2("customer.dat");
for(j=0;j=i;j++)
outfile2cu[j].name" "cu[j].num" "cu[j].seat" "jendl;
for(t=0;t3;t++)
}
for(t=0;t3;t++)
outfile1fl[t].fligh" "fl[t].num" "fl[t].place" "fl[t].dticket" "fl[t].yticketendl;
}
}
else a!=0;}
if (a!=0) cout"沒有你的信息,請查證后再操作!";
cout"返回主菜單?1.是2.否:";cintemp;
if(temp==1)caidan1();}
//////////////////////////////////////////////////////////////////// 退票
void chaxun()
{char name[10];
int temp,i,a;
cout"請輸入你的姓名:";cinname;
for(i=0;i300;i++)
if (strcmp(cu[i].name,name)==0)
cout"*****乘客信息*****"endl"姓名:"cu[temp].name'\t'
"航班號(hào):"cu[temp].num'\t'"座位號(hào):"cu[temp].seatendl;
if (a!=0) cout"沒有你的信息,請查證后再操作!"endl;
cout"返回主菜單?1.是2.否";cintemp;
if(temp==1)caidan1();
} //查詢客戶信息
void chaxunquanbu()
{int i,temp;
cout"乘客信息:"endlendl;
for(i=0;i300;i++)
for(i=0;itemp;i++)
cout"姓名:"cu[i].name'\t'"航班號(hào):"cu[i].num'\t'"座位號(hào):"cu[i].seat'\t'"編號(hào):"i+1endl;
coutendl"航班信息:"endlendl;
for(i=0;i3;i++)
cout"航班號(hào):"fl[i].fligh'\t'"飛機(jī)號(hào):"fl[i].num'\t'"目的地:"fl[i].place'\t'"已訂票數(shù):"fl[i].dticket'\t'"剩余票數(shù):"fl[i].yticketendl;
cout"返回主菜單?1.是2.否";cintemp;
if(temp==1)caidan1();} //查詢?nèi)啃畔?/p>
這個(gè)你看看能用嗎
另外,站長團(tuán)上有產(chǎn)品團(tuán)購,便宜有保證
這種只能提供思路了,既然是java實(shí)現(xiàn) , 那么應(yīng)該對(duì)對(duì)象比較了解.
把點(diǎn)擊了的歌曲(對(duì)象)放到一個(gè)集合中,比如list , map , stack 等等 , 根據(jù)實(shí)際需求來選擇最適合的集合管理.
你的那登陸怎么不用任何輸入,也能登陸!!!
*************************完成第三部分*****************************
************人員管理是不是人員的增加也刪除等操作******************
有關(guān)說明:
1.首次運(yùn)行時(shí),由于沒有建立用戶信息數(shù)據(jù)文件,系統(tǒng)會(huì)自動(dòng)創(chuàng)建,會(huì)出現(xiàn)登陸面致慢的現(xiàn)象!
2.2和3權(quán)限的人,可以進(jìn)入修改用戶信息,但只能修改自己的密碼,不能進(jìn)行其他任何操作,如:不能修改權(quán)限.
3.其他的自己運(yùn)行就知道了!!!!!!!!!!!!!!!!!!
#include stdio.h
#include stdlib.h
#include conio.h
#include string.h
#include time.h
#include ctype.h
#include string.h
#include windows.h
//結(jié)構(gòu)3:用戶檔案
struct user{
int p_id;//人員序號(hào)
char usr[20];//用戶名
char psd[10];//密碼
int level;//權(quán)限級(jí)別(1-全部權(quán)限2-只能新增和查詢3-只能查詢)
}us[10]={{1,"admin","admin",1},{2,"kinglin","kinglin",2}},Online_User={0,"","",3};
//Oneline為在線用戶,可用于權(quán)限級(jí)別等限制?。?!
//第三部分:人員管理
void user_menu(struct user *show_user);
void user_add(struct user *show_user);
void user_find(struct user *show_user);
void user_update(struct user up_user);
void user_del(struct user *show_user);
//第四部分:休閑小游戲及登錄程序和界面設(shè)計(jì)
void main_menu();
void game_play();
void user_login();
//另外:文件操作
void data_user_read_file(struct user *show_user);
void data_user_write_file(struct user *show_user);
void main()
{
data_user_read_file(us);
user_login();
main_menu();
}
void main_menu()
{
int select;
system("cls");
system("color f1");
printf("\n\n\t\t\t+==============================+\n");
printf("\t\t\t| |\n");
printf("\t\t\t| 1-歌曲基本數(shù)據(jù)管理 |\n");
printf("\t\t\t| 2-歌曲點(diǎn)取播放 |\n");
printf("\t\t\t| 3-人員權(quán)限管理 |\n");
printf("\t\t\t| 4-休閑小游戲 |\n");
printf("\t\t\t| 5-退出系統(tǒng) |\n");
printf("\t\t\t| |\n");
printf("\t\t\t+==============================+\n");
scanf("%d",select);
switch(select)
{
// case 1: music_menu()break;
// case 2: play_menu()break;
case 3: user_menu(us);break;
//case 4: game_play();break;
case 5: data_user_write_file(us);exit(1);break; //退出前保存數(shù)據(jù)。
default:printf("選項(xiàng)輸入錯(cuò)誤!請選擇(1-5):");
}
}
void user_login()
{
int i,count=0;
char u_name[10];
char u_psd[10];
do{
system("cls");
system("color f1");
printf("\n");
printf("\t\t ");
for(i=1;i=60000000;i++)
{
if (i%3000000==0)
printf("☆");
}
printf("\n\n\t\t\t 歡迎進(jìn)入KTV點(diǎn)歌系統(tǒng)! \n");
printf("\t\t\t \n");
printf("\t\t\t 風(fēng)花雪月 \n");
printf("\t\t\t 研發(fā)小組 \n");
printf("\t\t\t 組長:王林 \n");
printf("\n\t\t\t 艾生芳 羅澤宇 鄧豐波\n");
printf("\n\t\t\t 2007/08/15\n");
printf("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t ");
for(i=1;i=60000000;i++)
{
if (i%3000000==0)
printf("★\b\b");
}
printf("\n");
printf("\n\t\t\t用戶名:");
fflush(stdin);
gets(u_name);
printf("\n\t\t\t密 碼:");
for(i=0;i10;i++)
{
fflush(stdin);
u_psd[i]=getch();
if (int (u_psd[i])==13)
{
u_psd[i]='\0';
break;
}
else if (int (u_psd[i])==8)
{
i=i-2;
printf("\b \b");
}
else
printf("*");
}
u_psd[i]='\0';
for(i=0;i10;i++)
{
if(strcmp(u_name,us[i].usr)==0us[i].p_id0)
break;
}
if (strcmp(u_psd,us[i].psd)==0)
{
printf("\n\t\t\t\t登陸成功!\n");
Sleep(1500);
for(i=0;isizeof(us)/sizeof(us[0]);i++)
{
if(stricmp(us[i].usr,u_name)==0)
{//登陸成功,記錄用戶信息
Online_User.p_id=us[i].p_id;
sprintf(Online_User.usr,"%s",us[i].usr);
sprintf(Online_User.psd,"%s",us[i].psd);
Online_User.level=us[i].level;
break;
}
}
break;
}
else
{
count++;
if(count=3)
printf("三次密碼不正確,請稍后再試!");
else
printf("\n\t\t\t用戶名或密碼不正確,請重新輸入!\n");
}
}while(count3);
}
void user_menu(struct user *show_user)
{
int sign=1,select;
while(sign)
{
system("cls");
system("color b1");
printf("\n\n\t\t\t+==============================+\n");
printf("\t\t\t| |\n");
printf("\t\t\t| 1-增加用戶信息 |\n");
printf("\t\t\t| 2-刪除用戶信息 |\n");
printf("\t\t\t| 3-查詢用戶權(quán)限 |\n");
printf("\t\t\t| 4-修改用戶信息 |\n");
printf("\t\t\t| 5-退出管理 |\n");
printf("\t\t\t| |\n");
printf("\t\t\t+==============================+\n");
printf("選擇操作數(shù):");
fflush(stdin);
scanf("%d",select);
if((Online_User.level==2select==2)||(Online_User.level==3select!=3select!=4select!=5))
select=6;
switch(select)
{
case 1: user_add(show_user);break;
case 2: user_del(show_user);break;
case 3: user_find(show_user);break;
case 4: user_update(Online_User);break;
case 5: sign=0;break;
case 6: printf("\t\t\t警告:你的權(quán)限不足,3 秒后自動(dòng)返回!");Sleep(3000);break;
default:printf("選項(xiàng)輸入錯(cuò)誤!請選擇(1-5):");
}
}
}
void user_update(struct user up_user)
{
int sign=1,select,level=1,i;;
char usr[20]="",psd[10]="";//密碼
char psd_1[10]=" ";//重復(fù)密碼
while(sign==1)
{
system("cls");
printf("\t\t\t===================================\n");
printf("\t\t\t++ KTV點(diǎn)歌系統(tǒng)--更新用戶信息 ++\n");
printf("\t\t\t++ 1.修改密碼 ++\n");
printf("\t\t\t++ 2.設(shè)置權(quán)限 ++\n");
printf("\t\t\t++ 3.更新用戶庫 ++\n");
printf("\t\t\t++ 4.返回上一菜單 ++\n");
printf("\t\t\t===================================\n");
fflush(stdin);
scanf("%d",select);
if((Online_User.level==2||Online_User.level==3)select!=1select!=4)
select=5;
switch(select)
{
case 1: printf("\t\t\t 新 密 碼:");
fflush(stdin);
scanf("%s",psd);
printf("\t\t\t 重復(fù)密碼:");
fflush(stdin);
scanf("%s",psd_1);
if(stricmp(psd,psd_1)!=0)
{ printf("\t\t兩次輸入密碼不一致!3秒后返回自動(dòng)!\n");Sleep(3000);break;}
sprintf(up_user.psd,"%s",psd);
for(i=0;isizeof(us)/sizeof(us[0]);i++)
if(stricmp(us[i].usr,up_user.usr)==0us[i].p_id0)
{ sprintf(us[i].psd,"%s",psd); break;}
data_user_write_file(us);
break;
case 2: printf("\t\t\t 用 戶 名:");
fflush(stdin);
scanf("%s",usr);
printf("\t\t\t 設(shè)置權(quán)限:");
fflush(stdin);
scanf("%d",level);
for(i=0;isizeof(us)/sizeof(us[0]);i++)
if(stricmp(us[i].usr,usr)==0us[i].p_id0)
{ us[i].level=level; break;}
data_user_write_file(us);
break;
case 3: data_user_write_file(us); break;
case 4: sign=0;break;
case 5: printf("\t\t\t警告:你的權(quán)限不足,3 秒后自動(dòng)返回!");Sleep(3000);break;
default:printf("選項(xiàng)輸入錯(cuò)誤!請選擇(1-3):");
}
}
}
void user_add(struct user *show_user)
{
int i,sign=1;
char usr_cp[20],usr[20]="";//用戶名 ;
char psd[10]="";//密碼
char psd_1[10]=" ";//重復(fù)密碼
int level;
while(sign)
{
sign=0;
system("cls");
printf("\t\t\t===================================\n");
printf("\t\t\t++ KTV點(diǎn)歌系統(tǒng)--添加用戶 ++\n");
printf("\t\t\t===================================\n");
printf(" 注意: 1.根據(jù)提示,輸入用戶名、密碼、并設(shè)置用戶權(quán)限!\n");
printf(" 2.權(quán)限級(jí)別(1-全部權(quán)限2-只能新增和查詢3-只能查詢.\n\n");
printf("\t\t\t 用 戶 名:");
fflush(stdin);
scanf("%s",usr);
printf("\t\t\t 密 碼:");
fflush(stdin);
scanf("%s",psd);
printf("\t\t\t 重復(fù)密碼:");
fflush(stdin);
scanf("%s",psd_1);
printf("\t\t\t 設(shè)置權(quán)限:");
fflush(stdin);
scanf("%d",level);
for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)
{
sprintf(usr_cp,"%s",show_user[i].usr);
if(stricmp(usr_cp,usr)==0||stricmp(usr,"*")==0)
{ sign=1; printf("\t\t輸入的用戶名已經(jīng)存在或者為空!1 秒后自動(dòng)返回!\n");Sleep(1500);break;}
}
if(stricmp(psd,psd_1)!=0sign==0)
{ sign=1; printf("\t\t兩次輸入密碼不一致!3 秒后自動(dòng)返回!\n");Sleep(1500);break;}
for(i=0;isizeof(show_user[0])/sizeof(show_user) sign==0;i++)
{
if(show_user[i].p_id==0)
{
show_user[i].p_id=i+1;
sprintf(show_user[i].usr,"%s",usr);
sprintf(show_user[i].psd,"%s",psd);
show_user[i].level=level;
data_user_write_file(show_user);
break;
}
if(i-1==sizeof(show_user[0])/sizeof(show_user)) {printf("已達(dá)到最大用戶數(shù)!");}
}
}
}
void user_find(struct user *show_user)
{
int i,sign=1;
char usr_cp[20],usr[20],ctnu='Y';
while(ctnu=='Y'||ctnu=='y')
{
system("cls");
printf("\t\t\t===================================\n");
printf("\t\t\t++ KTV點(diǎn)歌系統(tǒng)--用戶信息查詢 ++\n");
printf("\t\t\t===================================\n");
printf("\t\t 提示:輸入*號(hào),可查詢所有用戶信息!\n");
printf("\t 用 戶 名:");
fflush(stdin);
scanf("%s",usr);
printf("%d",stricmp(usr,"*"));
if(stricmp(usr,"*")==0)
{
printf("\t\t\t 編號(hào) 用戶名 用戶權(quán)限\n");
for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)
if(show_user[i].p_id0)
printf("\t\t\t\t %d %s %d\n",show_user[i].p_id,show_user[i].usr,show_user[i].level);
}
for(i=0;isizeof(show_user[0])/sizeof(show_user) stricmp(usr,"*")!=0;i++)
{
sprintf(usr_cp,"%s",show_user[i].usr);
if(stricmp(usr_cp,usr)==0show_user[i].p_id0)
{
printf("\t\t\t 編號(hào) 用戶名 用戶權(quán)限\n");
printf("\t\t\t\t %d %s %d\n",show_user[i].p_id,show_user[i].usr,show_user[i].level);
break;
}
}
if(i==sizeof(show_user[0])/sizeof(show_user)stricmp(usr,"*")!=0)
printf("\t\t 用戶不存在。\n");
printf("\n\t\t\t 繼續(xù)-查詢操作?(Y||N):");
fflush(stdin);
scanf("%c",ctnu);
}
}
void user_del(struct user *show_user)
{
int i;
char usr_cp[20],usr[20],ctnu='Y';
while(ctnu=='Y'||ctnu=='y')
{
system("cls");
printf("\t\t\t===================================\n");
printf("\t\t\t++ KTV點(diǎn)歌系統(tǒng)--刪除用戶 ++\n");
printf("\t\t\t===================================\n");
printf("\t\t\t 用 戶 名:");
fflush(stdin);
scanf("%s",usr);
for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)
{
sprintf(usr_cp,"%s",show_user[i].usr);
if(stricmp(usr_cp,usr)==0stricmp(usr_cp,"admin")!=0show_user[i].p_id0)
{
printf("\t\t已刪除: 編號(hào) %d 用戶名 %s 用戶權(quán)限 %d 的用戶。\n",show_user[i].p_id,show_user[i].usr,show_user[i].level);
show_user[i].p_id=0;
sprintf(show_user[i].usr,"%s","");
data_user_write_file(show_user);
break;
}
}
if(i==sizeof(show_user[0])/sizeof(show_user)) printf("\t\t\t 用戶不存在,刪除失敗。\n");
printf("\n\t\t 繼續(xù)下一個(gè)-刪除操作?(Y||N):");
fflush(stdin);
scanf("%c",ctnu);
}
}
void data_user_read_file(struct user *show_user)
{
FILE *fp;
int i;
if((fp=fopen("user_data.dat","rb"))==NULL)
{
fp=fopen("user_data.dat","wb+");
printf("Can not open the oid_data_file,It's a new_data_file!\n");
Sleep(3000);
}
for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)
{
fseek(fp,i*sizeof(struct user),0);
fread(show_user[i],sizeof(struct user),1,fp);
}
fclose(fp);
}
void data_user_write_file(struct user *show_user)
{
FILE *fp;
int i;
if((fp=fopen("user_data.dat","wb"))==NULL)
{
printf("Can not open the file\n");
exit(0);
}
for(i=0;isizeof(show_user[0])/sizeof(show_user);i++)
{
fseek(fp,i*sizeof(struct user),0);
if(fwrite(show_user[i],sizeof(struct user),1,fp)!=1)
printf("File write error\n");
}
fclose(fp);
}
!!!!!!!!!!!!!!!!!!!!!!!!!自己去稍微做修改!!!!!!!!!!!!!!!!!!!!!!!!!
********************************結(jié)束******************************
KTV點(diǎn)唱系統(tǒng)是一個(gè)應(yīng)用軟件,是基于XP或2003上,看你選擇,網(wǎng)上有賣錢的,也有破解版的,