c语言课程设计案例精编第八章酒店客房管理系统vc实现

时间:2019-05-11 22:53:58下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《c语言课程设计案例精编第八章酒店客房管理系统vc实现》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《c语言课程设计案例精编第八章酒店客房管理系统vc实现》。

第一篇:c语言课程设计案例精编第八章酒店客房管理系统vc实现

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

c语言课程设计案例精编第八章酒店客房管理系统vc

实现

#include #include #include #include //#include //#include

#define TRUE 1 #define FALSE 0

#define N 200

/*定义酒店客房的最大数量,用户可自行设置*/

/*与room记录格式化输出有关的宏定义*/ #define HEADER1 “| Number |Price| E_F| C_Name |

C_IC

|

Date

|CNum|C_AP| n” #define FORMAT1

“|%-10s|%5d|%4d|%-10s|%10s|%4d-%2d-%2d|%4d|%4d|n” #define DATA1

lll->num,lll->price,lll->empty_flag,lll->client_name,lll->client_ic,lll->client_date.da_year,lll->client_date.da_mon,lll->client_date.da_day,lll->client_

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

numdays,lll->client_ap

/*与member记录格式输出有关的宏定义*/ #define HEADER2 “|

Number

|

Name

| Sex|Age |

IC

|

Tele

| n” #define FORMAT2 “|%-12s|%-10s|%-4s|%4d|%15s|%15s|n” #define DATA2

lll->data.num,lll->data.name,lll->data.sex,lll->data.age,lll->data.ic,lll->data.tele

int saveflag=0;

//是否需要存盘的全局标志变量

//分别保存客房文件或会员文件中的记录条int count1=0, count2;数

struct date {

int da_year;int da_mon;int da_day;}sysTime;int currentYear;/*保存当前年份*/

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

int currentMonth;/*保存当前月份*/ int currentDay;/*保存当前日期*/

/*定义与客房有关的数据结构*/ typedef struct room

/*标记为room*/ { char

num[15];

/*客房编号*/ int

price;

/*客房价格*/ int

empty_flag;

/*客房空闲标记,1表示空闲,0表示未空闲*/ char

client_name[15];/*顾客姓名*/ char

client_ic[20];

/*顾客身份证号*/ struct date client_date;/*顾客入住日期*/ int

client_numdays;

/*顾客入住天数*/ int

client_ap;

/*顾客预付款advance payment(ap)入住时,除了房费,另收压金至少100元,即ap>=price*client_numdays+100*/ }ROOM;ROOM GR[N];

//定义客房结构数组

/*定义与会员有关的数据结构*/

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

typedef struct member

/*标记为member*/ { char num[15];

/*会员编号*/ char name[15];

/*会员姓名*/ char sex[4];

/*会员性别M或F,Male:男性,Female:女性*/ int age;

/*会员年龄*/ char ic[20];

/*会员身份证号*/ char tele[15];

/*会员联系电话*/ };

/*定义每条会员记录的数据结构,标记为:member_node*/ typedef struct member_node { struct member data;

/*数据域*/ struct member_node *next;

/*指针域*/ }Member_Node,*Member_Link;

/*Member_Node为member_node类型的结构变量,*Member_Link为member_node类型的指针变量*/ Member_Node *p2,*r2;//定义会员记录指针变量 Member_Link ll;//定义会员指针链表

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

/******************************↓函数声明↓******************************/

//room相关

int AddRoom(ROOM tp[],int n);

//fucntion1 void QueryRoom(ROOM tp[],int n);//fucntion2 void ModifyRoom(ROOM tp[],int n);//fucntion3 int DelRoom(ROOM tp[],int n);void SortRoom(ROOM tp[],int n);

//function4 //function5 void CountRoom(ROOM tp[],int n);//function6 void SaveRoom(ROOM tp[],int n);

//member相关

void AddMember(Member_Link l);

//function7 void QueryMember(Member_Link l);//function8 void ModifyMember(Member_Link l);//function9 void DelMember(Member_Link l);void SortMember(Member_Link l);

//function10 //function11 void CountMember(Member_Link l);//function12 void SaveMember(Member_Link l);//R&R

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

void RegisterRoom(ROOM tp[],int n,Member_Link ll);void ReturnRoom(ROOM tp[],int n,Member_Link ll);

/******************************↑函数声明↑******************************/

//function13 //function14 /******************************************************************* 作用:用于定位数组中符合要求的记录,并返回保存该记录的数组元素下标值

参数:findmess[]保存要查找的具体内容;nameornum[]保存按什么在数组中查找;********************************************************************/ int LocateRoom(ROOM tp[],int n,char findmess[],char nameornum[]){ int i=0;if(strcmp(nameornum,“num”)==0)/*按客房编号查询*/ {

while(i

{

if(strcmp(tp[i].num,findmess)==0)/*若找到findmess客房编号的客

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

房记录*/

return i;

i++;

} } else if(strcmp(nameornum,“name”)==0)/*按顾客姓名查询已入住客房*/ {

while(i

{

if(strcmp(tp[i].client_name,findmess)==0)/*若找到findmess 顾客姓名的客房记录*/

return i;

i++;

} } return-1;/*若未找到,返回一个整数-1*/ }

/************************************************************* 作用:用于定位会员链表中符合要求的节点,并返回指向该节点的指

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

参数:findmess[]保存要查找的具体内容;nameornum[]保存按什么查找;

在单链表l中查找;**************************************************************/ Member_Node* LocateMember(Member_Link l,char findmess[],char nameornum[])

{

Member_Node *r;

if(strcmp(nameornum,“num”)==0)/*按会员编号查询*/

{

r=l->next;

while(r)

{

if(strcmp(r->data.num,findmess)==0)/*若找到findmess值的会员编号*/

return r;

r=r->next;

} } else if(strcmp(nameornum,“name”)==0)/*按会员姓名查询*/

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

{

r=l->next;

while(r)

{

if(strcmp(r->data.name,findmess)==0)

/*若找到findmess值的会员姓名*/

return r;

r=r->next;

} } return 0;/*若未找到,返回一个空指针*/ }

/***********倒计时函数***********/ void countdown(int i){

for(;i>0;i--){

Sleep(1000);printf(“bb”);

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

}

} printf(“%d”,i);Sleep(1000);printf(“n”);/*输入字符串,并进行长度验证(长度

char n[255];

do{

printf(notice);/*显示提示信息*/

scanf(“%s”,n);/*输入字符串*/

if(strlen(n)>(size_t)lens)

{

printf(“exceed the required length!n”);

} /*进行长度校验,超过lens值重新输入*/

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

}while(strlen(n)>(size_t)lens);

strcpy(t,n);/*将输入的字符串拷贝到字符串t中*/ }

/*判断是否是闰年函数*/ int isLeapyear(int year){

/*闰年的判断:(1)year被4整除,并且year不被100整除

或(2)year被4整除,并且year被400整除*/

if(year%4==0&&year%100||year%400==0)

return 1;

else

return 0;}

unsigned char* GetPassword(unsigned char*pw){

unsigned char ch;int i=0, hx_flag;

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

while(i < 30){

ch =(unsigned char)getch();hx_flag =TRUE;

if(ch == 'r')

//ch == 'r' <==> ch == 13

我说老是实现不了回车结束, == 用成 = 了

=_=||

{

pw[i++]=0;

//0-->null......p[0]=null;

break;

}

else if(ch >= 32 && ch <= 126)/*所有可打印字符*/

{

pw[i++]=ch;

}

else if(ch == 8 && i> 0)/*退格键*/

{

pw[i--] = 0;

hx_flag = FALSE;

精心收集

精心编辑

精致阅读

如需请下载!

//

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

putchar(ch);putchar(' ');putchar(ch);

} else hx_flag = FALSE;if(hx_flag)putchar('*');}

pw[i]=0;

//?-->解决数组显示乱码问题,MS注释掉依旧不乱码, 可能在判断回车时, 已经用了该语句

}

void menu(){ char ch;//function15中 保存y,Y,n,N return pw;int selectNum;

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

ROOM GR[N];

/*定义客房结构数组*/

//printf(“n”);system(“cls”);printf(“[ROOM]

[Member]

[R&R]

//用笨方法:space, 不用tab printf(”1.Add

7.Add

13.Register

printf(“2.Query

8.Query

14.Return

printf(”3.Modify

9.Modify

15.Exit

printf(“4.Delete

10.Delete

printf(”5.Sort

11.Sort

printf(“6.Count

12.Count

//system(”pause“);

//暂停, 并显示”按任意键继续“

//Sleep(1000);loop: printf(”n“);printf(”enter a number to selcet the function: “);scanf(”%d“,&selectNum);

精心收集

精心编辑

精致阅读

如需请下载!

n”);n“);n”);n“);n”);n“);n”);

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

if(selectNum >15){

} switch(selectNum){

case 1: count1=AddRoom(GR,count1);break;case 2: QueryRoom(GR,count1);break;case 3: ModifyRoom(GR,count1);break;

//增加客房记录 printf(“no such a function, please try again!”);goto loop;

//查询客房服务 //修改客房记录

case 4: count1=DelRoom(GR,count1);break;//删除客房记录

case 5: SortRoom(GR,count1);break;

case 7: AddMember(ll);break;

//增加会员记录 //查询会员记录

//修改会员记录 case 6: CountRoom(GR,count1);break;

//排序客房记录 //统计客房记录

case 8: QueryMember(ll);break;

case 9: ModifyMember(ll);break;

case 10:DelMember(ll);break;

case 11:SortMember(ll);break;

case 12:CountMember(ll);break;

//删除会员记录 //排序会员记录 //统计会员记录

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

case 13:RegisterRoom(GR,count1,ll);break;case 14:ReturnRoom(GR,count1,ll);break;case 15:

//登记住宿

//退宿

{ system(“cls”);

printf(“n=====>Are you really exit the Hotel Guest Room Management System?(y/n):n”);

scanf(“%c”,&ch);

printf(“testn”);

if(ch=='y'||ch=='Y'){SaveRoom(GR,count1);SaveMember(ll);exit(0);}

}

精心收集

精心编辑

精致阅读

如需请下载!

}

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

}

/***************与客房相关的函数*******************/

/************** 1.增加客房记录 **************/ int AddRoom(ROOM tp[],int n){

char ch,flag=0,num[15];

int i;

system(“cls”);

while(1)/*一次可输入多条记录,直至输入客房编号为0的记录结点添加操作*/

{

while(1)/*输入客房编号,保证该客房编号没有被使用,若输入客房编号为00,则退出添加记录操作*/

{

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

stringinput(num,15,“input room number(press '00'return menu):”);/*格式化输入客房编号并检验*/

flag=0;

if(strcmp(num,“00”)==0)/*输入为00,则退出添加操作,返回主界面*/

{menu();}

i=0;

while(i

{

if(strcmp(tp[i].num,num)==0)

{

flag=1;

break;

}

i++;

}

if(flag==1)/*提示用户是否重新输入*/

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

{

getchar();

printf(“=====>The number %s is existing,please try again(y/n)?”,num);

scanf(“%c”,&ch);

if(ch=='y'||ch=='Y')

continue;

else

return n;

}

else

{break;}

}

/*给客房记录赋值*/

strcpy(tp[n].num,num);/*将字符串num拷贝到tp[n].num中*/

printf(“Room Price:”);scanf(“%d”,&tp[n].price);

tp[n].empty_flag=1;/*客房空闲标记,1表示空闲,0表示未空闲*/

strcpy(tp[n].client_name,“");/*顾客姓名*/

strcpy(tp[n].client_ic,”“);/*顾客身份证号*/

tp[n].client_date.da_year=0;/*顾客入住日期*/

tp[n].client_date.da_mon=0;

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

tp[n].client_date.da_day=0;

tp[n].client_numdays=0;/*顾客入住天数*/

tp[n].client_ap=0;/*顾客预付款初始为0,ap>=price*client_numdays+100*/

saveflag=1;

n++;

printf(”>>>>press any key to start next record!“);

getchar();getchar();

}

return n;}

/************** 2.查询客房记录 **************/ void QueryRoom(ROOM tp[],int n)/*按客房编号或入住顾客姓名查询*/ {

int select;/*1:按客房编号查,2:按入住顾客姓名查,其他:返回主界面(菜单)*/

char searchinput[20];/*保存用户输入的查询内容*/

int p=0;

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

if(n<=0)/*若客房记录为空*/

{

system(”cls“);

printf(”=====>No Room Record!n“);

getchar();getchar();

return;

}

system(”cls“);

cprintf(”=====>1 Search by room number =====>2 Search by client name“);

cprintf(”please choice[1,2]:“);

scanf(”%d“,&select);

if(select==1)

/*按客房编号查询*/

{

stringinput(searchinput,15,”input the existing room number:“);

p=LocateRoom(tp,n,searchinput,”num“);/*在数组tp中查找编号为searchinput值的元素,并返回该数组元素的下标值*/

if(p!=-1)/*若p!=-1*/

{printf(”--------------“);

printf(”Room Number:%s“,tp[p].num);

printf(”Room Price:%d“,tp[p].price);

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

printf(”Room Empty_flag(1:Empty):%d“,tp[p].empty_flag);

printf(”Client_name:%s“,tp[p].client_name);

printf(”Client_ic:%s“,tp[p].client_ic);

printf(”Client_date:%d-%d-%d“,tp[p].client_date.da_year,tp[p].client_date.da_mon,tp[p].client_date.da_day);

printf(”Client_numdays:%d“,tp[p].client_numdays);

printf(”Client_ap:%d“,tp[p].client_ap);

printf(”--------------“);

printf(”press any key to return“);

getchar();getchar();

}

else

{printf(”=====>Not find this room!n“);getchar();getchar();}

}

else if(select==2)/*按入住顾客姓名查询*/

{

stringinput(searchinput,15,”input the existing client name:“);

p=LocateRoom(tp,n,searchinput,”name“);

if(p!=-1)

{ printf(”--------------“);

精心收集

精心编辑

精致阅读

如需请下载!

演讲稿 工作总结 调研报告 讲话稿 事迹材料 心得体会 策划方案

printf(”Room Number:%s“,tp[p].num);

printf(”Room Price:%d“,tp[p].price);

printf(”Room Empty_flag(1:Empty):%d“,tp[p].empty_flag);

printf(”Client_name:%s“,tp[p].client_name);

printf(”Client_ic:%s“,tp[p].client_ic);

printf(”Client_date,%d-%d-%d“,tp[p].client_date.da_year,tp[p].client_date.da_mon,tp[p].client_date.da_day);

printf(”Client_numdays:%d“,tp[p].client_numdays);

printf(”Client_ap:%d“,tp[p].client_ap);

printf(”------------

精心收集

精心编辑

精致阅读

如需请下载!

第二篇:C语言课程设计报告-学生成绩管理系统(vc)

一、实践的目的和要求

加深对《C语言》课程所学知识的理解,进一步巩固C语言语法规则。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。

二、实践内容

在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。进一步掌握各种函数的应用,包括时间函数、绘图函数,以及文件的读写操作等。

三、实践任务 1.欢迎画面

2.学生成绩管理系统(自己设计界面)3.异或加密与解密

(1)文件加密

(2)文件解密 说明:将某一已知文件的内容以字符形式读出,与密钥(用户从键盘输入)的对应字符进行异或操作即可,解密同样如此。如:设原文为ab1234,密钥为56,则有 ab1234 565656

按二进制进行异或操作即可得到密文(乱码)。4.移位加密与解密(1)文件加密(2)文件解密

说明:将某一已知文件的内容(限于英文字母)以字符形式读出,根据密钥k(用户从键盘输入)将对应字符进行移位操作即可,解密时移动方向相反。

如:设原文为abcdef,密钥为5,则有

abcdef 每个字母按字母表向后移动位(注:z后接a)fghijkl 可得到密文(乱码)。5.辅助运算(1)整数N模m的乘法逆t

要求:输入整数N和m,求出t,若t不存在,给出信息。提示:这三个数满足:N*t%m=1,使用穷举法。

例如:当N为11,m为26时,由于(11×19)%26=1,所以11模26的乘法逆为19。(2)统计字母个数

要求:输入一段英文字母,统计各个字母的个数,并按个数从大到小排序输出。

提示:字母大小写等价。输出格式为:字母:个数。(3)OTP加密

要求:输入同等长度的原文x和密钥k(英文字母),根据公式 c=(x+k)%26 得到密文,并输出。

提示:将26个字母按0~25编号,将原文字母和对应位置的密钥字母的编号按上述公式进行计算后得到一个新的字母。

四、设计流程图

流程图另附!

五、相关程序 1 欢迎画面

#include #include struct Snow { int x;int y;int speed;}snow[100];int snownum=0;int size;int change=10;void *save1,*save2;void Copy();void DrawSnow();void Pr();void main(void){int gd=DETECT,gm;

initgraph(&gd,&gm,“c: urboc2”);Copy();DrawSnow();getch();closegraph();}

void Copy(){

setcolor(0);

setfillstyle(SOLID_FILL,15);fillellipse(200,200,4,4);size=imagesize(196,196,204,204);save1=malloc(size);save2=malloc(size);

getimage(196,196,204,204,save1);getimage(96,96,104,104,save2);}

void Pr(){

int s[15]={0,100,150,200,150,200,250,150,250,300,250,150,100,250,350};setcolor(change/10);settextstyle(0,0,4);

outtextxy(150,200,“Welcome!!”);sound(s[change/10]);}void DrawSnow(){int i;int sx[62];randomize();for(i=0;i<62;i++)sx[i]=(i+2)*10;cleardevice();while(!kbhit()){ Pr();

if(snownum!=100){

snow[snownum].speed=2+random(5);i=random(62);

snow[snownum].x=sx[i];

snow[snownum].y=10-random(100);} for(i=0;i

putimage(snow[i].x,snow[i].y,save2,COPY_PUT);Pr();

if(snownum!=100)snownum++;/*delay(300);*/

setfillstyle(SOLID_FILL,15);for(i=0;i

snow[i].y+=snow[i].speed;

putimage(snow[i].x,snow[i].y,save1,COPY_PUT);if(snow[i].y>500)

snow[i].y=10-random(200);}

change++;if(change==140)change=10;}

nosound();}

2学生成绩管理系统(自己设计界面)#define N 1 struct student {char num[10];char name[10];int score[4];float ave;}stu[N];main()

{int i,j,max,maxi,sum;float average;for(i=0;i

{printf(“Please input scores of student %d :n”,i+1);printf(“NO.:”);

scanf(“%s”,stu[i].num);printf(“name:”);

scanf(“%s”,stu[i].name);for(j=0;j<3;j++)

{printf(“score %d :”,j+1);scanf(“%d”,&stu[i].score[j]);} }

average=0;max=0;maxi=0;for(i=0;i

for(j=0;j<3;j++)sum+=stu[i].score[j];stu[i].ave=sum/3.0;average+=stu[i].ave;if(sum>max){max=sum;maxi=i;} }

average/=N;

printf(“ NO.name score1 score2 score3 averagen”);for(i=0;i

{printf(“%5s”,stu[i].num);

printf(“%10s”,stu[i].name);for(j=0;j<3;j++)

printf(“%9d”,stu[i].score[j]);printf(“%8.2fn”,stu[i].ave);}

printf(“average=%6.2fn”,average);

printf(“The highest score is : %s,score total :%dn”,stu[maxi].name,max);getch();}

3.异或加密与解密 #include #include #include #include

void jiami(char *in,char *pwd,char *out);void main(int argc,char *argv[]){

char in[30];char out[30];char pwd[8];if(argc!=4){

printf(“Input file name:n”);gets(in);

printf(“Please enter password:n”);gets(pwd);

printf(“Output file name:n”);gets(out);

jiami(in,pwd,out);} else {

strcpy(in,argv[1]);strcpy(pwd,argv[2]);strcpy(out,argv[3]);jiami(in,pwd,out);} }

void jiami(char *in,char *pwd,char *out_file){

FILE *fp1,*fp2;register char ch;int j=0;int k=0;

fp1=fopen(in,“rb”);if(fp1==NULL){

printf(“Cannot open in-file!n”);exit(1);}

fp2=fopen(out_file,“wb”);if(fp2==NULL){

printf(“Cannot open or create output-file!n”);exit(1);}

while(pwd[++k]);ch=fgetc(fp1);while(!feof(fp1)){

fputc(ch^pwd[j>=k?j=0:j++],fp2);ch=fgetc(fp1);}

fclose(fp1);fclose(fp2);}

4.移位加密与解密 #include“stdio.h” main(){

int choice=0,k;FILE *fp1,*fp2;

char c,filename1[30],filename2[30];

printf(“Please input two deferent filename:”);scanf(“%s%s”,filename1,filename2);printf(“Please input the password :n”);scanf(“%d”,&k);

if((fp1=fopen(filename1,“r”))==NULL)

printf(“nERROR!CAN NOT OPEN THE FILEn”);else{

fp2=fopen(filename2,“w”);

printf(“nChoose:(1-jiami 2-jiemi)”);scanf(“%d”, &choice);switch(choice){ case 1: do{ c=getc(fp1);

if(((c>='a')&&(c<='z'-k))||((c>='A')&&(c<='Z'-k)))putc(c+k,fp2);

else if(((c>'z'-k)&&(c<='z'))||((c>'Z'-k)&&(c<='Z')))putc(c-(26-k),fp2);else

putc(c,fp2);}while(c!=EOF);break;case 2: do{

c=getc(fp1);

if(((c>='a'+k)&&(c<='z'))||((c>='A'+k)&&(c<='Z')))putc(c-k,fp2);

else if(((c>='a')&&(c<'a'+k))||((c>='A')&&(c<'A'+k)))putc(c+(26-k),fp2);else

putc(c,fp2);}while(c!=EOF);break;

default:

printf(“nYou have choose a wrong number!Please choose again!”);} }

fclose(fp1);fclose(fp2);}

5.辅助运算

(1)整数N模m的乘法逆t

main(){

unsigned n,m,t=1;int c;

printf(“Please enter the number:n”);scanf(“%d,%d”,&n,&m);while(t<65535){

c=n*t%m;if(c==1||c==0)break;t++;}

if(t==65535||c==0)

printf(“Nicheng number is not exited!n”);if(c==1)

printf(“T is : %dn”,t);getch();}

(2)统计字母个数 #include “string.h” main(){ int i,j,t;

char a[80],b[26];int c[26];char e;

printf(“Please enter the letters:n”);gets(a);

for(i=0;i<26;i++)b[i]='A'+i;for(i=0;i<26;i++)c[i]=0;

for(j=0;j<80;j++){for(i=0;i<26;i++){

if(a[j]==b[i]||a[j]==b[i]+32)c[i]++;}

if(a[j]=='')break;}

for(j=0;j<=25;j++){for(i=0;i<=25;i++){if(c[i]>c[i+1]){

t=c[i];c[i]=c[i+1];c[i+1]=t;e=b[i];b[i]=b[i+1];b[i+1]=e;} } }

for(i=25;i>=0;i--){if(c[i]!=0)

printf(“The %c letter number is %d n”,b[i],c[i]);} getch();}

(3)OTP加密 #include “stdio.h” main()

{char a[80],b[80],c[80];int i;

printf(“Please enter the x :n”);gets(a);

printf(“Please enter the k :n”);gets(b);

for(i=0;i<80;i++)c[i]=(a[i]+b[i])%26;printf(“The result is :n”);for(i=0;i<80&&c[i]!='';i++)printf(“%c”,c[i]);getch();}

六 心得体会

通过此次C语言程序设计实践,本人实在是获益不浅!C语言是上个学期开的课程,所以这个学期并没怎么看过,当要开始设计的时候,还真不知从哪下手!结果,第一次的上机,我只坐了一个下午,什么也没干!回去以后,我想,这样不行,这样下去还得了!我就重新学了一遍我们上个学期的教材,发觉自已有许多都遗忘了!特别是有文件的操作,几乎是一遍空白!温习过后,开始做题!那个欢迎动画是在”C语言之家”找到的,自已改了一下,但并没做多大的改动!之后做出来的第一个程序是”统计字母个数”,因为上个学做过类似的!接着是”乘法逆”,这个我觉得比较简单!再接着是”OTP”加密!而那个学生成绩管理系统是参考了上机手册后做出来的!最后,花了最多时间的是”异或加密与解密”和”移位加解密”,几乎花了我百分之九十的时间,而且还是在一些在其他大学读计科专业的同学的帮助下和在上网查看了大量的资料之后才做出来!最后,想说两句,这次设计,让我重新掌握了C语言,而且还得到了用C语言解决实际问题的宝贵经验!七 参考文献

<> <> <>

第三篇:VC课程设计报告--教学事务管理系统

C++ 课 程 设 计 实 验 报 告

学号

姓名

院系专业 能源与环境工程 热能与动力工程

一、课题名称

《教学事务管理系统》

二、问题陈述

使用面向对象设计的系统分析和设计,设计出适当的数据结构,编写一个信息管理程序,程序的功能是管理学生基本信息,要求具有添加,删除,查询,排序的功能,并具有一定的查询功能。

三、设计目标和设计任务

新学期开学时新学生需要注册,登记注册信息。注册信息包括每个已注册学生的班级代号、学号、姓名、注册的学期等。

每个学期开始,学生可以选课,登记选课信息。选课信息包括已注册的每个学生所选的课程,选课仅限该生注册的学期。

每个学期考试完毕,需要成绩登记。每个学生所选课程的考核成绩,以及此成绩的类型。

所输入学生的信息如果有误,可以修改。对于退学、转学的学生,删除有关资料,对转入的学生,可以增加其各项信息。

学生信息包括:学号、班级、院系、姓名、性别、联系电话、家庭住址等。课程信息包括:课程代号、课程名、开课学期、学分、课时。

成绩信息包括:姓名、学号、班级、课程代号、成绩、类别(初修、补考、重修)。可提供的查询功能:

根据某些信息(班级、性别、专业)查询学生名单; 某门课程的选修者名单(含学号、成绩、成绩类型); 某个学生某个课程某学期的成绩单; 某个班级某个课程各个学生的成绩单; 某个课程选修者中不及格学生的名单;

某个课程的各项信息(课程代号、学分、课时、开课学期);

四、解题算法思想

程序包括11个对话框,主对话框上四个按钮,分别调用“注册信息”、“选课信息”、“成绩录入”及“信息管理和查询”四个子对话框。

其中,在“注册信息”对话框内可以选择学生的注册学期,点击“确定”按钮后,弹出“学生信息”对话框,此对话框与后面将会提到的“信息管理与查询”对话框的子对话框之一,“学生信息”相同,二者可相互共享。在该对话框中点击“增加”按钮,将调用“成员对话框”,用以实现学生的注册。信息填写完整后点击“确定”,并可依次返回至主对话框。

接着,点击“选课信息登记”,弹出选课信息对话框,在相应输入框或下拉菜单中输入信息后,点击所要选的课程(可多选),然后点“确定”,程序可以自行判断信息输入是否合理(选课学生是否已经注册或是否已选择同样的课程),如果有误,则通过消息框提示,并可以再次输入信息;如果信息合理,则提示选课成功。

点击“返回”回到主对话框,可通过“学生成绩录入”按钮调用“成绩录入”对话框,在此对话框中,可在输入框或下拉菜单中填写相关信息,程序同样可以自行判断信息输入的合理性(输入的学生是否已注册或是否已选择相应课程),如果输入有误,则弹出消息框提示,可以再次输入信息;如果信息合理,则成绩录入成功,新的成绩信息会在下方的List Control控件中显示。也可以直接点击下方List中的原有信息,程序会自动将该信息中的学生学号及相应课程代码填写入上方控件,方便成绩的录入。所有成绩录入完成后,点击“完成并保存”按钮,保存已录入的信息,同时自动返回至主对话框。

如需要查询相应信息,可点击“信息管理与查询入口”,调用“信息管理与查询”对话框。在这个对话框中,包含三个主要功能按钮,“学生信息”,“课程信息”和“成绩信息”,分别用以提供相应的查询功能。

点击“学生信息”,进入“学生信息”对话框。在这里可以实现学生信息的查询及管理功能。在上方控件中填写或选择相应信息后,便可以在下方的List Control控件中查看到所要的学生信息,同时选中相应条目后,可以通过右方的“删除”、“增加”和“修改”按钮,实现数据的管理。而通过下方“载入”和“保存”按钮,可以载入及保存现有数据,当然也可以载入进之前保存的文件,从而实现相同学生,不同学期的信息查询。

返回至“信息管理与查询”对话框后,点击“课程信息”按钮,在弹出的“课程信息”对话框中,可以查看所有的课程的基本信息,并可以通过“增加课程”按钮,调用“增加课程”对话框,填写新课程信息,从而增加新的课程;在“课程信息”中的控件中选择某门课程后,也可以通过“查看课程”按钮调用“查看课程”对话框,查看到选修该课程的学生名单,包括学号,成绩等信息,勾选上方控件后可以查看不及格学生的名单。

依次返回至“信息管理与查询对话框”,点击“成绩信息”后,进入“成绩信息”对话框。在这个对话框中可以在下方的List Control看到所有学生的成绩单,通过上方的Edit控件输入各个相应的筛选条件,便可以在下方看到所有符合条件的学生的成绩单。

依次返回至主对话框,点击“◎”退出程序。

五、数据结构描述

程序数据通过两个节点类、两个链表类来存储。分别如下:

{ public:

CString m_CourseNum;//存储课程代码 CString m_CourseName;//存储课程名 CString m_CourseTerm;//存放课程开课学期 CString m_CoursePoint;//存放课程学分 CString m_CourseTime;//存放课程课时数 int m_CourseScore;//存放学生课程成绩 CString m_CourseType;//存放学生成绩类型 Course *next;Course()//默认构造函数 class Course

{

} Course(CString CourseNum,CString CourseName,CString CourseTerm,CString m_CourseNum=“";m_CourseName=”“;m_CourseTerm=”“;m_CoursePoint=”“;m_CourseTime=”“;m_CourseScore=0;m_CourseType=”";next=NULL;CoursePoint,CString CourseTime);};

class CourseList { public:

Course * head;CourseList();void DeleteNode(Course *p);//用来删除存放指定课程的链表 void SaveToFile(const char *name);//将课程信息保存至文件 void LoadFromFile(const char *name);//从文件中导入课程信息 void ReleaseList();//释放链表

void AddNode(CString CourseNum,CString CourseName,CString CourseTerm,CString CoursePoint,CString CourseTime);//向链表中添加节点

};

class CStudent Course* FindNode(CString CourseNum);//根据课程代码查找节点 { public:

CString m_StudentNo;//存放学号 CString m_Class;//存放班级 CString m_Name;//存放学生姓名 CString m_Sex;//存放学生性别 CString m_Dept;//存放专业

CString m_PhoneNo;//存放学生电话号码 CString m_Address;//存放学生家庭住址 CString m_Term;//存放学生注册学期 CStudent *next;Course m_Course[20];//用来存放学生选的各项课程 int s;//存放学生所选课程的数量 CStudent();CStudent(CString CourseNum,CString StudentNum,int Score,CString ScoreType);CStudent(CString StudentNo,CString Class,CString Name,CString Sex,CString Dept,CString PhoneNo,CString Address);};class CStudentList { public:

CStudent * head;//头指针 int n;//节点数量 CStudentList();void DeleteNode(CStudent *p);//从链表中删除指定节点 void SaveToFile(const char *name);//将链表内容存入文件 void LoadFromFile(const char *name);//从文件载入链表内容 void ReleaseList();//释放链表 void AddNode(CString StudentNo,CString Class,CString Name,CString Sex,CString Dept,CString PhoneNo,CString Address);//向学生链表中添加节点 void AddScoreNode(CString CourseNum,CString StudentNum,int Score,CString ScoreType);//向链表中加入成绩信息 void AddCourseNode(CString StudentNo,CString CourseName, CString CourseNum,CString CourseTerm CString CoursePoint, CString CourseTime);//向链表中加入对应课程信息

};

另外,定义了全局变量:

CStudentList m_List;//用来保存学生的各项数据

CString Term;//用来存放学生的注册学期,用来将注册的学期信息加入链表(开始时,AddNode函数中忘记加入m_Term变量了)

CString Num;//为了在查看课程信息时,对话框里的内容能够方便的传入子对话框中 CStudent* FindNode(CString StuNo);//根据学号查找节点

六、测试数据

以下为程序初步运行后保存至文件中的内容:

2009-***091许亚军男 能源与环境学院 ***M9

110100首修高等数学5.0

2009-201048课时111100首修

2009-201048课时大学物理3.0 2009-201048课时112100首修C++2.0 111100首修大学物理3.0 男

2009-201048课时

2009-***091周帆能源与环境学院110M9

111100首修大学物理3.0 2009-201048课时11299首修C++2.0 2009-201048课时

2009-***091雒志强男

2009-201048课时能源与环境学院10086M9

112100首修C++2.0 2009-***091杨宗冰男

能源与环境学院119M9

112100首修C++2.0 2009-201048课时2009-***091XX女建筑学院XXXXXX

11055补考高等数学5.0 2009-201048课时1110重修大学物理3.0 2009-201048课时112100首修2009-201048课时 C++2.0

七、运行情况分析

输入数据测试后,生成包含以上内容的文件。整个过程顺利,程序可以正确运行,未出现重大错误,各项功能也都可以实现。可将生成的文件另外保存,从而录入新的数据(如其他学期的学生信息),而在查询时,可以根据需要查询的不同学期的信息来载入不同的文件。

八、设计小结

在程序设计过程中遇到了不少问题,很多都是因为之前的想法没有完全照顾到全局,使得后来要大幅度的修改代码,或者用较为复杂的代码来弥补。所以,较大的程序设计,最重要的就是一定要有大局观,在设计初期就要将自己的目标、思路理清,最好做下记录,而且做每一步的同时也必须想到后面的很多步,否则到后来很可能会因为之前的缺陷而做不下去,或者不得不放弃某些功能。另外,对于程序编写本身,我发现需要注意的部分是文件的保存及载入,这部分的每一个代码都需要仔细斟酌,否则很可能出现在编译时没问题,而运行时出错的状况。而一旦出现这种情况,就必须通过恰当的方法寻找出问题所在,如注释某些最近写的代码、利用消息框弹出某些变量的值,从而判断其与设想是否相符等方法,而不能盲目的查看所有代码,慢慢找或者索性手足无措了。

九、心得体会

这是我第一次尝试做比较大的程序,所以从中学到的还是很多的。首先,我发现我对程序设计还是很感兴趣的,很喜欢去钻研;其次,在设计及编程的过程中,通过发现问题、解决问题,我自己总结出来了不少方法,也发现了编写时所必须注意和避免的错误,可以让以后少走弯路。这些都是对于程序设计本身,此中的心得当然有很多,我也无法一一列举出来,而最重要的是我从其中学到了一些程序设计之外的东西。我深切的体会到了全局思想的重要性,无论干什么,基本上都得有这种思想,每走一步都必须想到以后的路,必须想到这一步是为什么而走的,为什么目标而服务的。只有这样,才能慢慢的稳健的走向自己的目标,不会在某一点上突然发现自己走不下去了,发现之前的某一步将自己带上的崎岖的路,而不得不往回走去弥补之前的过错或者干脆拐上另一条不明方向的道路。另外,前进的过程中,当遇到问题时,必须通过恰当的方法去发现起源,然后解决,而不要盲目的去寻找或者毫无对策了,必要的时候也得求助他人。而在一步步解决问题的过程中,也必须学会自己总结,以避免以后再次遇上相同错误时再走弯路。

总之,这次的课程设计给了我很大帮助,如果有机会,我便会选择向这方面去深入发展。

参考资料

1、《C++课程设计》

2、《C++程序设计》 提交日期 2010-9-16 星期四

朱金付 何铁军 朱萍 郑雪清 徐冬梅 编著

朱金付 主编

第四篇:酒店客房管理系统

酒店客房管理系统

摘要

随着计算机技术的广泛应用,在酒店客房管理中引入计算机管理技术,成为一个值得深入研究的问题。本系统采用ASP+ACCESS作为开发环境,本文首先概要的论述了开发这个系统的软件的有关知识。之后,对本系统作了系统的描述。在此基础上,论文重点对本系统作了详细的介绍,然后,对开发一个小型的酒店管理系统所用到的语句、函数、对象、数据库进行了阐述。最后,结合自己编写的酒店管理系统,给出了完整的、可实际使用的数据。并给出了该系统的使用方法和设计方法。

[关键词] 酒店客房管理系统 ACCESS ASP

目录

第1章 概述..............................................................................................................................3 第2章 开发软件简介..............................................................................................................4 2.1 ASP介绍...........................................................................................................................4 2.1.1 ASP现状....................................................................................................................4 2.1.2 ASP六大对象............................................................................................................4 2.1.3 ASP与网关及服务器扩展模式相比有以下优点:................................................5 2.2 DREAMWEAVER简介.........................................................................................................6 2.3 ACCESS数据库简介..........................................................................................................6 第3章 酒店客房管理系统的开发..........................................................................................7 3.1 系统目标设计..................................................................................................................7 3.2 开发设计思想..................................................................................................................7 3.3 开发和运行环境选择......................................................................................................8 第4章 系统介绍......................................................................................................................8 4.1 系统简介..........................................................................................................................8 4.2 数据库设计......................................................................................................................9 4.3 主要功能........................................................................................................................11 4.4 主要模块介绍................................................................................................................12 4.4.1 管理员登录.............................................................................................................12 4.4.2 管理.........................................................................................................................13 4.4.3 修改密码.................................................................................................................13 4.4.4 客户资料.................................................................................................................14 4.4.5 退房.........................................................................................................................14 4.4.6 客房资料.................................................................................................................16 4.4.7 房间管理.................................................................................................................20 结束语......................................................................................................................................21 参考文献..................................................................................................................................22

第1章 概述

信息时代的到来,因特网的广泛普及和应用,给我们带来了新的挑战和机遇,如何更充分的利用计算机来解决我们身边的实际问题,是我们毕业答辩的首选方向。随着经济的发展,酒店正向着大型化、现代化发展,而对于中小型酒店,客房、顾客等有关的信息的管理随之急剧增加。在这种情况下单靠人工来处理不但显得力不从心,而且极容易出错。

该系统的具体任务就是设计一个酒店客房管理系统,由计算机来代替人工执行一系列诸如增加新客房、删除客房、客房修改、查询、客户管理等操作。这样就使办公人员可以轻松快捷地完成酒店客房管理任务,了解整个酒店客房信息。

有鉴于简单操作和界面的可视化的优势。并借助于网络的优势。本系统采用基于WEB形式开发,使用了access+asp作为开发环境。

论文将就 ASP、酒店客房管理系统这二个方面分别进行比较详细的论述。

第2章 开发软件简介

2.1 ASP介绍

2.1.1 ASP现状

由于我国中小企业信息化起点低,我们不能照搬大企业“高投入、长周期”的信息化模式,也不能走国外企业“先建局域网,后上互联网”的老路。我们要根据中小企业的实际需要,准确把握信息技术的前沿趋势,找到一条立足国情的中小企业信息化新路。ASP理念就十分适合我国广大的中小企业信息化建设和应用,有着很大的推广和应用价值。科技部在2002年结合网络化制造在ASP方面展开了相应的研究,并投入相应的资金扶植与ASP有关的产品、技术、服务体系的建立。2004年国家开始重视面向行业和中小企业的ASP应用解决方案,并十分重视ASP技术在企业应用的推广和示范。与此同时国内外ASP厂商的相关产品和服务也已经趋于成熟,已经逐渐形成了以政府引导和推动,IT厂商跟进,服务商运营推广的新局面,掀起了“ASP第二次浪潮”。2.1.2 ASP六大对象 Application对象

Application对象是个应用程序级的对象,用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。ObjectContext对象

该对象用于控制Active Server Pages的事务处理。事务处理由

Microsoft Transaction Server(MTS)管理。Request对象

Request对象用于接受所有从浏览器发往你的服务器的请求内的所有信息。Response对象

Response对象用于向浏览器输出文本、数据和Cookies以及控制在传送网页过程中的每一个阶段。Server对象

Server对象用于创建COM对象和Scripting组件等。6 Session对象

Session对象为单个用户保持数据。

2.1.3 ASP与网关及服务器扩展模式相比有以下优点: 完全与HTML文件融合在一起; 2 容易创建,不需要其它编译、链接程序; 3 面向对象的并通过ActiveX Sever对象可扩展。

在电子商务中,对用户而言,进行网上信息查询的目的是寻找自己需要的产品或服务,而对于服务提供者来说,其目的则是向用户推销自己的产品或服务。因此,让用户通过浏览器查询服务的后端数据是许多Web服务提供者必须提供的服务,ASP通过内置的ADODB组件来实现这一功能。可以使用ADO去编写紧凑简明的脚本,以便连接到ODBC兼容的数据库和OLE DB兼容的数据源。

2.2 Dreamweaver简介

Dreamweaver是Macromedia公司的出品的一款“所见即所得”的网页编辑工具。与 FrontPage不同,Dreamweaver采用的是Mac机浮动面版的设计风格,Dreamweaver的直观性与高效性是FrontPage所无法比拟的。

Dreamweaver对于DHTML(动态网页)的支持特别好,可以轻而易举地做出很多眩目的互动页面特效。插件式的程序设计使得其功能可以无限的扩展。Dreamweaver与Flash、Firework 并称为 Macromedia的网页制作三剑客,由于是同一公司的产品,因而在功能上有着一个非常紧密的结合.2.3 Access数据库简介

美国Microsoft公司于1994年推出的微机数据库管理系统。它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。其主要特点如下:

(1)完善地管理各种数据库对象,具有强大的数据组织、用户管理、安全检查等功能。

(2)强大的数据处理功能,在一个工作组级别的网络环境中,使用Access开发的多用户数据库管理系统具有传统的XBASE(DBASE、FoxBASE的统称)数据库系统所无法实现的客户服务器(Cient/Server)结构和相应的数据库安全机制,Access具备了许多先进的大型数据库管理系统所具备的特征,如事务处理/出错回滚能力等。

(3)可以方便地生成各种数据对象,利用存储的数据建立窗体和报表,可视性好。

(4)作为Office套件的一部分,可以与Office集成,实现无缝连接。

(5)能够利用Web检索和发布数据,实现与Internet的连接。Access主要适用于中小型应用系统,或作为客户机/服务器系统中的客户端数据库。

第3章 酒店客房管理系统的开发

3.1 系统目标设计

通过使用酒店客房管理系统,使酒店的客房管理工作系统化、规范化、自动化,从而达到提高酒店客房管理效率的目的。

本系统开发的总体任务是使办公人员可以轻松快捷地完成酒店客房管理的任务。

3.2 开发设计思想

本系统的开发设计思想: ● 采用B/S结构

在这中结构下,用户界面完全通过WWW浏览实现,一部分事务逻辑在前端实现,但主要事务逻辑在服务端实现,形成3-tier结构。B/S结构的前端是以TCP/IP协议为基础的企业的WWW服务器可以接受安

装有WEB浏览器程序的Internet终端的访问。作为终端用户只要通过WEB浏览器就可以完成事务处理,这样大大简化了客户端,减化了客户端,减轻了系统维护与升级成本和工作量,降低用户的总体拥有成本(TCO),而且使操作简单,基于以上原因本系统采用B/S结构开发。

● 系统应符合酒店客房管理的要求,达到操作过程中的直观、方便、实用等要求;● 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护;● 系统应具备客房信息管理功能,及时根据客房变化需求进行数据的添加、删除、修改等操作。

3.3 开发和运行环境选择

开发工具:dreamweaver,access。

运行环境:Windows 2000或Windows xp + IIS。

第4章 系统介绍

4.1 系统简介

“酒店客房管理系统”是专门针对中小型酒店客房管理系统。该软件针对客房设置,客户管理,在线定房等进行了设置,本软件采用Macromedia公司的dreamweaver开发,数据库采用和微软公司的access,软件的界面美观大方,系统运行稳定。该软件有以下特点。

功能强大:该软件以中小型酒店为应用对象,结合中小型酒店客房当前和未来发展的管理需求提供实用先进的客房管理模式,提高酒店客房管理的效益。

用户界面操作简洁:系统的每个功能都经过精心设计,充分考虑到使用人员计算机知识较少的特点,全部使用业务人员最熟悉的业务流程、提示用语和操作方式,即使不熟悉此软件的人也能熟练使用本软件完成业务处理。

系统性能稳定:严格按照规范的软件工程管理,充分利用面向对象技术,采用access为后台数据库,利用网页的广泛性,强大功能,从技术上和应用广泛性上保证了系统的稳定性、广泛性和先进性。

4.2 数据库设计

Access作为微软OFFICE以其简单易用而受到许多用户的欢迎,综合考虑,为了节约系统开发时间等因素,本系统数据库采用ACCESS。

重要数据及其简要描述如表6.

1、表6.

2、表6.

3、表6.4所示。

表6.1

管理员表

表6.2

客户订房信息表

表6.3

房间表

表6.4

房间类型表

4.3 主要功能

“酒店客房管理系统”主要由修改密码、公告管理、最新资讯、客户管理、客房资料、房间管理,包括如下模块:

修改密码:只有超级管理员具有这个权限,修改、删除、添加管理员名密码。

公告管理:发布酒店的公告,只有超级管理员具有这个权限。

最新资讯:发布酒店的最新活动,只有超级管理员具有这个权限。客户管理:根据客户提供的订单号,查询客户的住房信息,并可以退房,为了防止客户忘记订单号,用户只要提供身份证号就可以查询。

客房资料:系统的核心部分,可以看到房间分类、创建房间分类、修改房间分类,查看某一类房间详情、创建此类房间号,为了方便客户开房,把功能放在详情里。

房间管理:根据输入的房间号查询此房间的情况。

4.4 主要模块介绍

4.4.1 管理员登录

管理员登录界面,需要输入正确的管理员名、密码、验证码,可以根据管理员名判断管理员的权限。

session(“power”)=rs(“power”)‘保存用户权限 ‘用于管理员权限的判断 <% if session(“power”)=1 then

response.Write(“你是超级用户!”)

else

response.Write(“你是一般用户!”)

end if

%>

4.4.2 管理

主程序也是程序控制的核心,操作权限、程序功能调用等都要通过管理主程序实现。

4.4.3 修改密码

此功能只有超级管理员具有,根据登陆用户是否超级管理员给出相应的权限,普通管

理员不具有这些功能,超级管理员具有添加、修改、删除管理员权限。

如下图就是一般用户点击修改后的页面。4.4.4 客户资料

根据客户提供的订单号查询客户的信息,为防止证客户忘记订单号,可以输入客户身份证号查询订单号,可以查询客户在此订单号下的定房信息,不分是那种管理员都具有这个功能。4.4.5 退房

根据客户提供的房间号给予退房,为防止出错,在此功能里显示客户基本信息,用以确定,如下图:

此功能里可以实现自动算账。基本代码如下: <% dim x,y,z

dtime=rs(“dtime”)‘订房时间 y_dtime=int(year(dtime))

m_dtime=int(month(dtime))

d_dtime=int(day(dtime))

ntime=now()‘退房时间即当前时间

y_ntime=int(year(ntime))

m_ntime=int(month(ntime))

d_ntime=int(day(ntime))

x=(y_ntime-y_dtime)

y=(m_ntime-m_dtime)

z=(d_ntime-d_dtime)

if x>0 then

tim=x*365+y*30+z

end if

if x=0 then

tim=y*30+z

end if

if tim=0 then‘如果未满一天算做一天

tim=1

end if

response.Write tim

response.Write “天”

response.Write “*”

response.Write pric

response.Write “元”

response.Write “=”

response.Write tim*pric‘计算

response.Write “元”

%> 4.4.6 客房资料

列出所有房间分类,在此可以修改此类房间,查看此类房间详情,并订房,创建此类房间号,普通管理员不具有客房修改、创建功能。为了便于客户管理,每个客户产生一订单号。

<% ‘根据服务器时间来生成定单号保证了不会有同样的定单号存在

tim=year(now())&month(now())&day(now())&hour(now())&minute(now())&second(now())response.Write(tim)%> 为了防出现某一个号房间被设置成不同的房间类型使用以下代码判断 <% fanghao2=request.Form(“fanghao2”)roomlei=request.Form(“hiddenField”)if fanghao2=“" then

response.Redirect(”chuanjinafj.asp“)end if sql1=”select * from fj where roomname='“&fanghao2&”'“ set rs1=conn.execute(sql1)if not rs1.eof then‘判断是否存在

response.Redirect(”chuanjinafj.asp“)‘数据库中有这种房间返回chuanjinafj.asp else sql2=”insert

into

fj

(roomlei,roomname)values(“&roomlei&”,'“&fanghao2&”')“ conn.execute(sql2)‘创建插入数据库 conn.close end if conn.close %> 为了防止出现某一类房间数设置时大于此类房间总数使用以下代码判断

<% i=1 id=request(”id“)sqlchk=”select * from [fj] where roomlei=“&id set chkrs=conn.execute(sqlchk)

do while not chkrs.eof i=i+1 chkrs.movenext loop sql1=”select * from room where id=“&id set rs1=conn.execute(sql1)x=int(trim(rs1(”totnum“)))y=i if y>x then ‘被此类房间被设置的房间数总数

Response.Write(””)else %> 当管理员点击详情时列出此类房的所以房间可以根据客户要求确定订房如下图:

为了防止同一房间被重复预订被定没有超链接解决方法核心代码: <%

if rs2(“ztai”)=true then

response.Write(“被定”)

else

response.Write(“未被定”)

end if

%>

valign=“middle”

align=“center” bgcolor=“#FFFFFF”> <% if rs2(“ztai”)=false then %>‘判断是否被定

&roomid=<%=rs1ro

om%>”>确定 <% else %>

确定

<% end if%>

4.4.7 房间管理

输入某一个房间号可以查询此房的状态是否被定,和房间类型

结束语

通过对酒店客房管理系统的分析,开发与应用几个步骤, 我对系统实践和软件开发的能力都得到全面的提高,自身素质也得到提高。

首先,制作这样一个完整的系统,就要在整个开发过程中贯穿软件工程的概念,其中,要在规范上要求统一和标准化。经常与同学交流经验,才能使工程质量提高。

其次,在过程中对网页的编程有了全面的了解,并能够熟练使用Dreamwerver 配合ASP 与Access进行动态网页的开发,同时在开发过程中也培养了一种IT人特有的职业习惯和吃苦耐劳的精神。由于编程水平欠佳,在技术角度有一定的缺陷,造成有些功能的不完善,这在以后的学习中,随着自身水平的提高,将得到解决。完成了本系统的开发任务。达到了初步的要求,且发现了一些问题,为今后该系统的进一步完善积累了宝贵经验。

最后,要感谢陈红菊老师,她无论在理论上还是在实践中,都给予我很大的帮助,使我得到很大的提高,这对于我以后的工作和学习都有一种巨大的帮助,在此真诚的感谢她耐心的辅导和认真的讲解。

参考文献

[1] 李晓喆,张晓辉,李祥胜.SQL Server2000管理及应用系统开发.人民邮电出版社,2004.4 [2] 宣小平,但正刚,张文毅.ASP数据库系统开发导航.人民邮电出版社,2004。[3] 汪晓平,钟军.ASP网络开发技术.人民邮电出版社,2004.5 [4] 施威銘研究室,钮建伟.ACCESS2002中文标准教程.中国青年出版社,2002.7 [5] 戎马工作室.ASP动态网站开发自学导航.机械工业出版社,2006.8 [6] 刘亚珠.ASP动态网站开发技术与实践.电子工业出版社,2007.7

第五篇:语言课程设计-学生成绩管理系统

1、课程设计的目的、任务

《汇编语言》课程设计对于巩固汇编语言理论知识,加强学生的实际动手能力和提高学生综合素质十分必要。课程设计的目的主要是通过程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。

2、软件需求分析和设计

2.1学生成绩管理系统是对学生成绩的管理,其中包括以下几个模块:(1).插入一个数据(插入学生学号以及语数外三个成绩)。(2)修改一个数据。(3)删除学生成绩数据。(4)查找学生成绩。(5)查看学生成绩的排名(6)查看学生成绩分布(7)按esc键退出系统

2.2学生成绩管理系统应该包含以下信息:学号,语文成绩,英语成绩,数学成绩。因此,系统应该提供以下功能:(1)输出显示菜单。(2)输入学生的成绩(3)修改学生成绩(4)删除学生成绩(5)查询学生成绩(6)显示学生成绩排名(7)显示成绩分布统计(8)按esc键退出系统

2.3依据程序的功能需求,该系统的功能结构图如下

系统功能结构图

2.4 程序流程图:

主程序流程图

查找学生成绩

插入学生学号及成绩

修改学生的成绩

显示各个学科各分数段的人数

3、程序实现说明

3.1学生管理系统中各子程序如下:

(1).输入全部学生学号以及语文,英语,数学三科的成绩。子程序名:insert 子程序描述:该子程序为输入字程序。系统在开始的时候是没有数据的,通过该子程序可以初始化系统,将学生的学号及成绩输入系统。

代码:

insert proc near;定义进程子程序:插入学生,学号及 成绩 call input;调用input add n,1 ret insert endp

(2).修改输入的成绩。子程序名:modify 子程序描述:通过子程序修改学生的成绩 代码:

modify proc near;定义进程子程序:修改学生学号,成绩 md1:output mess1;输出mess1 shuru;调用宏shuru:二位数据输入 mov bl,n mov bh,0 mov al,dl mov si,0 md: cmp al,xh[si];先查找输入的学生是否存在

je qq1_1;查到的话,就跳转到qq1_1输入修改的值,也就是重新输入。;结果相等则跳转到qq1_1 add si,1

cmp si,bx jbe md;小于等于则跳转到md output mess;输出mess jmp md1;不相等继续输入学号

qq1_1:;转入修改的值重新输入。mov di,si output mess2 output mess4 mov si,0 mov cx,3

qq3_1:shuruu;cmp dx,78h;

jbe qq2_1;output ts3;jmp qq1_1;qq2_1:mov buf[si],dl output bg;add si,1 loop qq3_1 mov al,buf[0];mov chi[di],al mov al,buf[1]

分别输入语文,英语,数学成绩,并将其放 在缓冲区buf中 比较输入的成绩是否大于120,如果大于120的 话,那么重 新输入成绩 小于等于则转移到qq2_1 输出ts3 跳转到qq1_1 输出空格 将存入buf中的成绩,分别赋值给存放对应科 目的成绩的数组

mov eng[di],al mov al,buf[2] mov mat[di],al ret modify endp

(3).删除学生的成绩。子程序名:delete 子程序描述:通过子程序删除学生的成绩 代码:

de proc near;删除某个学生的记录 sc1:output mess1 shuru;调用宏shuru,接受输入的学号 mov bl,n mov bh,0 mov al,dl mov si,0 sc: cmp al,xh[si];查询输入学号的学生信息是否存在,不存在的话,重新输入学号 je sc2;相等则转移到sc2 add si,1 cmp si,bx jbe sc;小于等于则转移到sc output mess;输出mess jmp sc1 sc2: sub bx,si cmp bx,0 je sc3;相等则转移到sc3 mov cx,bx

sc4:mov dl,chi[si+1] mov chi[si],dl mov dl,eng[si+1] mov eng[si],dl mov dl,mat[si+1] mov mat[si],dl mov dl,xh[si+1] mov xh[si],dl add si,1 loop sc4;loop循环指令,执行操作(cx)<--(cx)-1.若 cx!=0,跳转到标号sc处循环执行;cx=0,则推出

循环,执行loop的下一条指令 sub n,1 sc3: ret de endp

(3).查询学生的成绩。子程序名:find 子程序描述:通过子程序查询学生的成绩 代码:

find proc near;定义进程子程序:查找学生成绩 call sum;求学生的总成绩 call ping;求学生的平均成绩

bj1:output mess1;输出mess1 shuru;二位数数据输入 mov bl,n mov bh,0 mov al,dl

mov si,0

bj: cmp al,xh[si];将输入的学号与输入的学号相比,je i;存在的话,将此学生的成绩输出。je表示结果相

等则转移。add si,1 cmp si,bx jbe bj;output mess jmp bj1 i: output strr2 shuzi xh[si];shuzi output bg;mov al,chi[si] cbw;shuzii ax;shuzii output bg;mov al,eng[si] cbw;shuzii ax;shuzii output bg

mov al,mat[si] cbw shuzii ax output bg;

mov al,pj[si] cbw

小于等于则转移到bj 为二位数据输出 输出空格 将字节变为字

为三位数据输出。输出空格 将字节变为字

为三位数据输出 输出空格的字符串,用于与标题栏对齐

shuzii ax output bg

mov ax,si mov bl,2 mul bl mov bx,ax shuzii zc[bx];shuzii为三位数据输出

output bg;输出空格的字符串,用于与标题栏对齐 shuzi mc[si];shuzi为二位数据输出 ret find endp

(4).显示学生的成绩排名。子程序名:show 子程序描述:通过子程序显示学生的成绩排名 代码:

show proc near;定义进程子程序:显示结果排名 call sum;调用宏sum call ping;调用宏ping call rank;调用宏rank call shuchu;调用宏shuchu ret show endp

3.2程序运行抓图:

主菜单

修改学生成绩

删除学生成绩

显示各个学科各分数段的人数

4、程序总结

通过两个星期的学习,努力,终于完成了报告。系统可以很好的运行。这两个多星期的时间,几乎每天不是在敲代码,就是在看代码,查书,上网。系统中用到了很多最近才学习的知识,比如宏,子程序。这些都使得代码的运行效率提高了,代码行数减少了。系统还用到了bios的清屏功能。这些功能如果不是做课程设计,我想我很难会接触到这些知识。

由于自己对知识掌握的不是很牢固,其中也会碰到一些困难。每当遇到问题的时候,我会先上网去查找,看看有没有人提过这方面的问题。互联网是强大的,大部分的问题通过网络都可以解决。部分找不到的问题,我就去请教班里学得好的同学。他们对知识的掌握远超过我。这样下来,很多问题都迎刃而解了。

课程设计是一个很好的掌握书本上知识的过程。平时上课之后,自己都不会想着去敲一些代码联系联系。通过做课程设计,将理论与实践结合了起来,对知识的理解更加深入了。

下载c语言课程设计案例精编第八章酒店客房管理系统vc实现word格式文档
下载c语言课程设计案例精编第八章酒店客房管理系统vc实现.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C语言课程设计 仓库管理系统

    C语言课程设计 仓库管理系统 #include struct cangku { int num; char name[20]; char introdution[50]; float square; }; typedef struct cangku Cangku; int Input(......

    c语言课程设计-学籍管理系统(含源代码)

    课 程 设 计 课程设计名称: C语言程序设计 题 目:学籍管理系统 学 生 姓 名: 学生学号 : 学 院(系): 软件学院 专 业 班 级: 112021 指 导 教 师: 设计时间: 2012 年 9 月 日......

    c语言实现机票管理系统源代码

    /*1、用户和管理员及航班信息请以英文字母或数字输入*/ /*2、管理员账户为:boss,密码为:123。保存在txt文件中,需要修改请于程序中修改*/ /*3、部分文件读写为二进制读写,所以打......

    酒店客房智能管理系统(合集五篇)

    酒店客房智能管理系统 编辑 酒店客房智能管理系统是一款集灯光控制、空调控制、服务控制和管理功能于一体的高科技产品,具有智能化、网络化、规范化和节能化的特点。 酒店客......

    学生通讯录管理系统(C语言课程设计实验报告)

    C语言课程设计报告——刘显安 C语言课程设计 姓名:刘显安 学号:09041131 班级:090411 专业:计算机科学与技术 学院:信息工程学院 设计题目:学生通讯录管理系统 指导教师:宋文琳 提......

    C语言课程设计销售管理系统报告(大全五篇)

    报告正文 1、题目与要求: 1.1 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当日出售的每种产品各写一张便条交上来。每张便条内容有  销售员的代号 ......

    C语言课程设计任务书(学生成绩管理系统)

    课程设计题目:简单的学生成绩管理的程序要求: 一、由键盘输入原始数据。原始数据内容如下: 学号姓名C程序设计高等数学英语线性代数 1王..80808080 2张..90909090 注:要求至少有......

    C语言课程设计学生通讯录管理系统设计

    C语言课程设计学生通讯录管理系统设计一、题目内容的描述学生通讯录管理系统设计设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电......