logo资料库

C语言实现影院管理系统.pdf

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
C语言实现影院管理系统 语言实现影院管理系统 主要为大家详细介绍了C语言实现影院管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣 的小伙伴们可以参考一下 本文实例为大家分享了C语言影院管理系统的具体代码,供大家参考,具体内容如下 #include #include #include #include #include"state.h" #define change 3 int iCount; int n; //*****************注册*****************// void router_registe(pAccout ahead) { system("cls"); char username[20]; char password[13]; char pass[13]; char q; int i; FILE *fp; loop2: printf("\n\n\n\n"); printf("\t\t\t\t账号:"); scanf("%s",username); getchar(); printf("\t\t\t\t密码:"); i=0; while (1) { q = getch(); if (q != 13) { printf("*"); password[i++] = q; } else { password[i] = '\0'; printf("\n"); break; } } printf("\t\t\t\t请确认密码:"); i=0; while (1) { q = getch(); if (q != 13) { printf("*"); pass[i++] = q; } else { pass[i] = '\0'; printf("\n"); break; } } if(strcmp(pass,password)==0) { fp=fopen("e:\\课设\\Accout1.txt", "ab+"); fprintf(fp," %s %s",username,password); //把内存中的文件输入到硬盘中 fclose(fp); system("cls"); printf("\n\n\n\n注册成功\n"); } else goto loop2; } //*****************登录*****************// pAccout router_acc(pAccout ahead) { pAccout p1,p2; FILE *fp; int m=0; if((fp=fopen("e:\\课设\\Accout.txt", "rw"))==NULL)
{ printf("读取失败!"); return ahead; } ahead==NULL; p1=(pAccout)malloc(sizeof(Accout)); while(fscanf(fp,"%s %s",p1->name,p1->pass)==2) { //printf("%s\n",p1->name); //读进去了 m=m+1; if(m==1) { ahead->next=p1; p2=p1; p2->next = NULL; } else { p2->next=p1; p2=p1; p2->next=NULL; } p1=(pAccout)malloc(sizeof(Accout)); } fclose(fp); return ahead; } pAccout router_acc1(pAccout ahead) { pAccout p1,p2; FILE *fp; int m=0; if((fp=fopen("e:\\课设\\Accout1.txt", "rw"))==NULL) { printf("读取失败!"); return ahead; } ahead==NULL; p1=(pAccout)malloc(sizeof(Accout)); while(fscanf(fp,"%s %s",p1->name,p1->pass)==2) { //printf("%s\n",p1->name); //由于文件没有读入换行,读出的时候将先一个人的密码和 //printf("%s",p1->pass); //后一个人的名称 m=m+1; if(m==1) { ahead->next=p1; p2=p1; p2->next = NULL; } else { p2->next=p1; p2=p1; p2->next=NULL; } p1=(pAccout)malloc(sizeof(Accout)); } fclose(fp); return ahead; } void login_printf() { system("cls"); printf("\n\n\n\n"); printf("\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★ 0.退出 ☆\n"); printf("\t\t\t☆ ★\n"); printf("\t\t\t★☆★☆★☆★☆★☆★☆★☆★☆\n"); } void login_printf1() { system("cls"); printf("\n\n\n\n"); printf("\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|| 0.退出 ||\n"); printf("\t\t\t|| ||\n"); printf("\t\t\t********************************\n"); } void login_acc() { system("cls"); int bk; int bb; pAccout ahead,p1; ahead=(pAccout)malloc(sizeof(Accout)); ahead->next=NULL; while(1) { char a[200]; char b[200]; loop: login_printf(); printf("请输入:"); scanf("%s",a); bk=back(a); switch(bk) { case 1:{ login_printf1(); printf("请输入:"); scanf("%s",b); bb=back(b); switch(bb) { case 1:{ router_acc(ahead); ahead=login_panduan(ahead);//管理员登录 meun(); break; } case 2:{ router_acc1(ahead); ahead=login_panduan(ahead);//用户登陆 menu1(); break; } case 0: { print2(); exit(0); break; } default:printf("输入错误!"); Sleep(1000); system("cls"); break; } if(bb!=0)//丢失此处则会无法跳出循环 break; } case 2:{ router_registe(ahead); goto loop; break; } case 0:{ // printf("BUG!!!!\n");测试bug!!!!! print2(); exit(0); break; } default:printf("输入错误!"); Sleep(1000); system("cls"); break; } if(bk!=0) break; } } pAccout login_panduan(pAccout ahead) { char name1[20],pass1[20]; char q;
pAccout p1; int i=0,j=0; system("cls"); printf("\n\n\n\n"); loop1: while(1) { j++; p1=ahead->next; printf("\t\t\t\t账号:"); scanf("%s",name1); getchar(); printf("\t\t\t\t密码:"); i=0; while (1) { j++; q = getch(); if (q != 13) { printf("*"); pass1[i++] = q; } else { pass1[i] = '\0'; printf("\n"); break; } } //printf("%s",pass1);密码正确(加密最初出现问题) while(p1!=NULL) { if(strcmp(name1,p1->name)==0) { if(strcmp(pass1,p1->pass)==0) { printf("\n\n\t\t\t\t登录成功!"); Sleep(2000); return ahead; } else { p1=p1->next; } } else { p1=p1->next; } if(p1==NULL) { printf("\n\n\n\n\t\t\t\t输入有误"); system("cls"); printf("\n\n\n\n\t\t\t\t请重新输入\n"); Sleep(2000); goto loop1; break; } } if(j>=change) { system("cls"); printf("\n\n\n\n"); printf("\t\t\t\t***************\n"); printf("\t\t\t\t你完蛋了!!!!!\n"); printf("\t\t\t\t***************\n"); Sleep(2000); print2(); exit (0); } } return ahead; }//登录成功 int panduan(char choice) { while(1) { fflush(stdin); choice=getchar(); if(choice == 'y'|| choice =='Y') return 1;
else if(choice == 'n'||choice == 'N') return 0; while(getchar() != '\n') continue; printf("输入错误!请重新输入您的选择:\n"); } } int back(char *a) { if(strlen(a)==1) { if(a[0]>='0'&&a[0]<='9') return ((int)a[0]-48); } else return 10; } void print1() { int i; system("cls"); printf("\n\n\n\n"); printf("\t\t\t\t|******************************|\n"); printf("\t\t\t\t||****************************||\n"); printf("\t\t\t\t||| |||\n"); printf("\t\t\t\t||| 欢迎来到影院管理系统 |||\n"); printf("\t\t\t\t||| |||\n"); printf("\t\t\t\t||****************************||\n"); printf("\t\t\t\t|******************************|\n"); printf("\n\t\t\t\t系统开始启动.........\n"); printf("===================================================================================================\r"); for(i=1;i<100;i++) { Sleep(40); printf(">"); } } void print() //主界面 { system("cls"); printf("\t\t\t|*******************************|\n"); printf("\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.查询信息 |\n"); printf("\t\t\t| 4.修改信息 |\n"); printf("\t\t\t| 5.排序信息 |\n"); printf("\t\t\t| 6.删除信息 |\n"); printf("\t\t\t|-------------------------------|\n"); printf("\t\t\t|-------------------------------|\n"); printf("\t\t\t| 0.退出程序 |\n"); printf("\t\t\t|===============================|\n"); } void print2() { system("cls"); printf("\n\n\n\n"); printf("\t\t\t|******************************|\n"); printf("\t\t\t||****************************||\n"); printf("\t\t\t||| |||\n"); printf("\t\t\t||| 谢谢使用 |||\n"); printf("\t\t\t||| |||\n"); printf("\t\t\t||****************************||\n"); printf("\t\t\t|******************************|\n"); Sleep(2000); } void print3() { system("cls"); printf("\t\t\t|*******************************|\n"); printf("\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.排序信息 |\n"); printf("\t\t\t| 4.打印报表 |\n"); printf("\t\t\t|-------------------------------|\n"); printf("\t\t\t|-------------------------------|\n"); printf("\t\t\t| 0.退出程序 |\n");
printf("\t\t\t|===============================|\n"); } /*******************查询模块********************/ pticket searchmenu(pticket phead) //查询子系统菜单 { fflush(stdin); system("cls"); int bk; while(1) { char P[200]; system("cls"); printf("\t\t\t|*******************************|\n"); printf("\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.按价格区间查找 |\n"); printf("\t\t\t|-------------------------------|\n"); printf("\t\t\t| 0.返回上一层 |\n"); printf("\t\t\t|*******************************|\n\n"); printf("请输入指令:"); scanf("%s",P); bk=back(P); switch(bk) { case 1: { phead=search1(phead);//按影院查询 break; } case 2: { phead=search2(phead);//按电影查询 break; } case 3:{ phead=search3(phead);//按价格区间查询 break; } case 0:break; default:printf("输入错误!请重新输入\n"); system("pause"); break; } if(bk==0) break; } return phead; } pticket search1(pticket phead) //影院查询 { system("cls"); char cinema1[30],choice; pticket p; int flag=0; char q; p=(pticket)malloc(sizeof(ticket)); while(1) { system("cls"); printf("\n\n\n\t\t\t请输入影院名称:"); scanf("%s",cinema1); if(strlen(cinema1)>=30) { system("cls"); printf("**************\n"); printf("请输入正确的名字!\n"); printf("**************\n"); Sleep(1000); } else break; } while(1) { system("cls"); if(phead->next==NULL) { printf("\n\n\n\t\t\t没有信息!\n"); system("pause");
break; } p=phead->next; print_stu2(); do { if(strcmp(p->cinema,cinema1)==0) { printf(" %-4s ",p->number); printf("%-12s ",p->name); printf("%-16s",p->cinema); printf(" %4d ",p->time); printf("%.2lf ",p->price); printf(" %.1lf ",p->grade); printf("\n"); flag=1; } p=p->next; }while(p!=NULL); if(flag==0) { printf("不存在的!\n"); } printf("是否继续查找?(Y or N)"); q=getchar(); if(panduan(q)==1) { while(1) { system("cls"); printf("\n\n\n\t\t\t请输入影院名称:"); scanf("%s",cinema1); if(strlen(cinema1)>=30) { system("cls"); printf("**************\n"); printf("请输入正确的名字!\n"); printf("**************\n"); Sleep(1000); } else break; } } else if(panduan(choice)==0) break; } return phead; } pticket search2(pticket phead) //按电影名称查询 { system("cls"); char name1[30],choice; pticket p; int flag=0; char q; while(1) { system("cls"); printf("\n\n\n\t\t\t请输入电影名称:"); scanf("%s",name1); if(strlen(name1)>=30) { system("cls"); printf("**************\n"); printf("请输入正确的名字!\n"); printf("**************\n"); Sleep(1000); } else break; } while(1) { system("cls"); if(phead->next==NULL) { printf("没有信息!\n"); system("pause"); break; }
p=phead->next; print_stu2(); do{ if(strcmp(p->name,name1)==0) { printf(" %-4s ",p->number); printf("%-12s ",p->name); printf("%-16s",p->cinema); printf(" %4d ",p->time); printf("%.2lf ",p->price); printf(" %.1lf ",p->grade); printf("\n"); flag=1; } p=p->next; }while(p!=NULL); if(flag==0) { printf("不存在的!\n"); } printf("是否继续查找?(Y or N)\n"); q=getchar(); if(panduan(q)==1) { while(1) { system("cls"); printf("请输入电影名称:"); scanf("%s",name1); if(strlen(name1)>=30) { system("cls"); printf("**************\n"); printf("请输入正确的名字!\n"); printf("**************\n"); Sleep(1000); } else break; } } else if(panduan(choice)==0) break; } return phead; } pticket search3(pticket phead) //按价格区间名称查询 { system("cls"); int count=0; char choice; float x,y; pticket p; int flag=0; char q; loop2: system("cls"); printf("\n\n\n\t\t\t请输入价格下限:"); scanf("%f",&x); printf("\n\t\t\t请输入价格上限:"); scanf("%f",&y); while(1) { system("cls"); if(phead->next==NULL) { printf("没有信息!\n"); system("pause"); break; } p=phead->next; print_stu2(); do{ if(p->price>x&&p->pricenumber);
分享到:
收藏