/*功能:超市寄存管理系统
完成时间:2014年6月12日夜12点
完成地点:12#506宿舍
院系:信息工程学院
班级:网工1301B
作者:
#include<stdio.h>
#include<windows.h>
#include<stdlib.h>//预处理头文件
#include<string.h>
#include<time.h>
#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")///导入winmm.lib库,支持对windows 多媒体的编程.
#define CLS system("cls")
#include<conio.h>
/********游戏所需函数变量声明********/
#define PR_Box printf("■")
#define PR_Gold printf("★")
#define PR_Ag printf("☆")
#define PR_FBird printf("Ю")
#define PR_DBird printf("Ф")
#define PR_Land printf("┳┳┯")
#define PR_Bg_TL printf("╔")
#define PR_Bg_TR printf("╗")
#define PR_Bg_DL printf("╚")
#define PR_Bg_DR printf("╝")
#define PR_Bg_X printf("═")
#define PR_Bg_Y printf("║")
#define PR_Blank printf(" ");
int Grade = 1, C_Gold = 0, C_Ag = 0, Score = 0, Delay_time = 1000, Max_blank = 9, Distance = 18;
struct Birds
{
 int x, y;
 int condition;
};
Birds *Bird = (Birds*)malloc(sizeof(Birds));
struct Bg
{
 int x, y;
 int l_blank;
 int reward[9];
 Bg *pri;
 Bg *next;
};
Bg *Bg1 = new Bg[sizeof(Bg)];
void Position(int x, int y)
{
 COORD pos = { x - 1, y - 1 };
 HANDLE Out = GetStdHandle(STD_OUTPUT_HANDLE);
 SetConsoleCursorPosition(Out, pos);
}
void CreatBird()
{
 Bird->x = 41;
 Bird->y = 10;
 Bird->condition = 0;
}
void CreatBg()
{
 Bg *Bg2 = (Bg*)malloc(sizeof(Bg));
 Bg1->x = 90; Bg1->y = 8;
 Bg2->x = Bg1->x + Distance; Bg2->y = 9;
 Bg1->l_blank = Max_blank - Grade;
 Bg2->l_blank = Max_blank - Grade;
 Bg1->next = Bg2;
 Bg1->pri = Bg2;
 Bg2->next = Bg1;
 Bg2->pri = Bg1;
}
void InsertBg(Bg *p)
{
 int temp;
 Bg *Bgs = (Bg*)malloc(sizeof(Bg));
 Bgs->x = p->pri->x + Distance;
 Bgs->l_blank = Max_blank - Grade;
 srand((int)time(0));
 temp = rand();
 if (temp % 2 == 0)//++
 {
 if ((temp % 4 + p->pri->y + Max_blank - Grade)<21)
 Bgs->y = p->pri->y + temp % 4;
 else
 Bgs->y = p->pri->y;
 }
 else
 {
 if ((p->pri->y - temp % 4)>2)
 Bgs->y = p->pri->y - temp % 4;
 else
 Bgs->y = p->pri->y;
 }
 Bgs->pri = p->pri;
 Bgs->next = p;
 p->pri->next = Bgs;
 p->pri = Bgs;
}
void Check_Bg(Bg *q)
{
 Bg *p = q; int i = 0, temp;
 while (++i <= 5)
 {
 if (p->x>-4)
 p = p->next;
 else
 {
 srand((int)time(0));
 temp = rand();
 if (temp % 2 == 0)//++
 {
 if ((temp % 4 + p->y + Max_blank - Grade)<21)
 p->y = p->y + temp % 4;
 else
 p->y = p->y;
 p->x = p->pri->x + Distance;
 p->l_blank = Max_blank - Grade;
 }
 else
 {
 if ((p->y - temp % 4)>2)
 p->y = p->y - temp % 4;
 else
 p->y = p->y;
 p->x = p->pri->x + Distance;
 p->l_blank = Max_blank - Grade;
 }
 }
 }
}
void Loop_Bg(Bg *q)
{
 Bg *p = q; int i = 0;
 while (++i <= 5)
 {
 p->x = p->x - 1;
 p = p->next;
 if (Bird->x == p->x)
 {
 Score += 1;
 if (Score % 4 == 0 && Grade<4)
 Grade++;
 }
 }
}
void Prt_Bg(Bg *q)
{
 Bg *p = q; int i = 0, k, j;
 while (++i <= 5)
 {
 if (p->x>0 && p->x <= 78)
 {
 for (k = 2; k<p->y; k++)
 {
 Position(p->x + 1, k);
 PR_Box; PR_Box; PR_Blank
 }
 Position(p->x, p->y);
 PR_Box; PR_Box; PR_Box; PR_Blank;
 Position(p->x, p->y + p->l_blank);
 PR_Box; PR_Box; PR_Box; PR_Blank;
 k = k + p->l_blank + 1;
 for (k; k <= 22; k++)
 {
 Position(p->x + 1, k);
 PR_Box; PR_Box; PR_Blank;
 }
 Position(p->x, 23);
 for (k = 1; k<Distance / 3 - 2; k++)
 PR_Land;
 }
 p = p->next;
 if (p->x == 0)
 {
 for (j = 2; j<p->y; j++)
 {
 Position(p->x + 1, j);
 PR_Blank; PR_Blank;
 }
 Position(p->x + 1, p->y);
 PR_Blank; PR_Blank; PR_Blank;
 Position(p->x + 1, p->y + Max_blank - Grade);
 PR_Blank; PR_Blank; PR_Blank;
 j = j + Max_blank - Grade + 1;
 for (j; j <= 22; j++)
 {
 Position(p->x + 1, j);
 PR_Blank; PR_Blank;
 }
 }
 }
}
void PrtBg()
{
 int i;
 Position(1, 1); PR_Bg_TL;
 Position(79, 1); PR_Bg_TR;
 Position(1, 24); PR_Bg_DL;
 Position(79, 24); PR_Bg_DR;
 for (i = 3; i <= 78; i += 2)
 {
 Position(i, 1); PR_Bg_X;
 Position(i, 24); PR_Bg_X;
 }
 /*for(i=2;i<=23;i++)
 { Position(1,i);PR_Bg_Y;printf("%d",i-1);
 Position(79,i);PR_Bg_Y;
 }*/
}
void PrtBird()
{
 Position(Bird->x, Bird->y - 1);游戏代码——————————————————
 PR_Blank;
 Position(Bird->x, Bird->y);
 PR_FBird;
 Position(38, 2);
 printf("Score:%d", Score);
}
int CheckYN(Bg *q)
{
 Bg *p = q; int i = 0;
 while (++i <= 5)
 {
 if (Bird->y>23)
 return 0;
 if (Bird->x == p->x&&Bird->y <= p->y)
 return 0;
 if ((Bird->x == p->x || Bird->x == p->x + 1 || Bird->x == p->x + 2) && Bird->y == p->y)
 return 0;
 if (Bird->x == p->x&&Bird->y>p->y + p->l_blank)
 return 0;
 if ((Bird->x == p->x || Bird->x == p->x + 1 || Bird->x == p->x + 2) && Bird->y == p->y + p->l_blank)
 return 0;
 p = p->next;
 }
 return 1;
}
void Prtfirst()
{
 printf("══════════════════════════════════════\n");
 printf(" ■■ ■■\n");
 printf(" ■■ ■■\n");
 printf(" ■■ ■■ C语言版 快乐小鸟\n");
 printf(" ■■ ■■ 瞎搞人:磊哥\n");
 printf(" ■■ ■■ 瞎搞日期:2014.2\n");
 printf(" ■■ ■■ 耗时:4小时\n");
 printf(" ■■■ ■■ 游戏说明:\n");
 printf(" ■■ 1-按上箭头使鸟起飞\n");
 printf(" ■■ 2-等级越高,难度越大!\n");
 printf(" Ю ■■■\n");
 printf("\n");
 printf(" ■■■ 欢迎各路大神与我探讨C、C++、VB、PHP、C#\n");
 printf(" ■■\n");
 printf(" ■■\n");
 printf(" ■■ ■■■ 【无版权,随意修改】\n");
 printf(" ■■ ■■\n");
 printf(" ■■ Ф ■■\n");
 printf(" ■■ ■■\n");
 printf(" ■■ ■■\n");
 printf(" ■■ ■■\n");
 printf(" ■■ ■■\n");
 printf(" ┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳┳┯┳\n");
 system("pause");
 Position(1, 1);
 int i = 0;
 while (i++<40 * 25)
 PR_Blank;
}
struct goods{
int num;
   char passward[6];
char name[10];
}g[50];
void welcome();
void slect();
int cun(struct goods g[50]);
void qu(struct goods g[50]);//各个子函数
void printf();
void out();
void set_color();
void seach(struct goods g[50]);
void game();
//文件
FILE *cun_record;
FILE *qu_record;
int Count=0;
int main(void)
{
system("Title 超市寄存管理系统");//设置标题
    PlaySound (TEXT("C:\\1.mp3"), NULL, SND_ASYNC | SND_NODEFAULT);//播放背景音乐
welcome();
slect();//主函数
out();
return 0;
}
//欢迎界面
void welcome()
{
char s[10]="color 0",str;
int n = 20;
srand((unsigned int) time(NULL));
printf("\n\n\n\n\n");
    printf("                *                                                 *\n");
printf("                *                    ********                     *\n");
printf("                *                ****************                 *\n");
printf("                *               *******************               *\n");
printf("                *     * *   ***************************   * *     *\n");
printf("                *   *  *  **      #     **  #   #      **  *  *   *\n");
    printf("                *  *  *** * ####  ##### ** ## #    ### *  ***  *  *\n");
printf("                *   *  * **  # # # #  # **  # # #    #  ** *  *   *\n");
printf("                *     *****   #   # #   ** ## ###  ###  ** ***    *\n");
printf("                *        **  # # #   #  **  #   #  #    **        *\n");
printf("                *        ** #   #     # ** ###########  **        *\n");
printf("                *        **             **              **        *\n");
printf("                *        *********************************        *\n");
printf("                *   ******************************************    *\n");
printf("                *        ********使用超市物品寄存********         *\n");
printf("                *          *********管      理*********                                                                                              *\n");
printf("                *                 *****系统*****                  *\n");
    printf("                *                     *******                     *\n");
while(n--)
{
Sleep(100);
int num=rand()%9+1;
str=num+'0';
s[7]=str;
s[8] = '\0';
system(s);
}
system("color 04");
}
//功能选择
void slect(){
int choice=5;
while(choice!=0){
printf(" ※ ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n");
printf(" ※                     [1],   寄存           [2],提取                           ※\n");
    printf(" ※                                                                              ※\n");
printf(" ※                      [3],打印存取记录             [4],换个颜色                  ※\n");
printf(" ※                                                                              ※\n");
printf(" ※                         [5],查询寄存信息     [0],退出                        ※\n");
printf("                                  [6],玩会儿,游戏?                              \n");
printf(" ******************************************************************************\n");
scanf("%d",&choice);
switch(choice){
case 1:cun(g);break;
case 2:qu(g);break;
case 3:printf();break;
case 4:set_color();break;
case 5:seach(g);break;
case 6:game();break;
case 0:break;
}
system("pause");
CLS;
}
}
//物品存放
int cun(struct goods g[50]){
if(Count>50)
printf("\n亲,不好意思,储物柜已满,请到其他地方存放");
if((cun_record=fopen("H:\\cun.txt","r"))==NULL){
printf("\n亲,您真是太幸运了,您是第一个使用本机器的人类,给你个飞吻吧");
Sleep(2000);
printf("\n                        ◎                   \n");
}
cun_record=fopen("H:\\cun.txt","w");
char s[6];
char name[10];
time_t now;
time(&now);
printf("\n                 请稍后,正在分配储物柜                          \n");
Sleep(2000);
printf("                           亲,您的货柜编号是%d\n",Count);
Sleep(2000);
printf("\n               已经打开储物柜,请将货物放入                         \n");
Sleep(2000);
printf("                亲,请输入货物名称,以便进行统计                    \n");
scanf("%s",name);
printf("\n              亲,请输入六位密码,并牢记密码:                     \n");
scanf("%s",s);
strcpy(g[Count].passward,s);
g[Count].num=Count;
printf("存入时间:%s",ctime(&now));
fprintf(cun_record,"%d\t%s\t%s\n",Count,name,ctime(&now));
   fclose(cun_record);
   Count++;
return 0;

}
//物品提取
void qu(struct goods g[50]){
if((qu_record=fopen("H:\\qu.txt","r"))==NULL){
printf("\n亲,您是今天第一个来取货的人\n");
}
qu_record=fopen("H:\\qu.txt","w");
   time_t now;
time(&now);
int num;
char mima[20];
printf("亲,请输入您的货柜编号\n");
scanf("%d",&num);
if(strcmp(g[num].name,"kong")==0)
printf("货物已被提取\n");
else{
if(num>Count)
printf("亲,对不起,没有寄存此货物\n");
else{
printf("亲,请输入您的密码\n");
scanf("%s",mima);
if(strcmp(g[num].passward,mima)==0){
printf("密码输入正确,货柜正在打开,请稍后。。。。\n");
Sleep(2000);
           fprintf(qu_record,"%d\t%s\t%s\n",num,g[num].name,ctime(&now));
printf("已经打开,请提取\n");
                strcpy(g[num].name,"kong");
}
else{
printf("亲,再好好想一想,您还有一次机会,请再次输入\n");
scanf("%s",mima);
            if(strcmp(g[num].passward,mima)==0){
printf("密码输入正确,货柜正在打开,请稍等。。。。。。\n");
Sleep(2000);
printf("已经打开,请提取\n");
           fprintf(qu_record,"%d\t%s\t%s\n",num,g[num].name,ctime(&now));
strcpy(g[num].name,"kong");
}
else{
printf("对不起,密码输入错误,请好好想一想,系统自动退出\n");
out();
}
}
}
}
   fclose(qu_record);
}
//退出
void out()
{
char s[10]="color 0",str;
int n = 20;
srand((unsigned int) time(NULL));
printf("\n\n\n\n\n");
 printf("*                                                 *\n");
printf("                *                    ********                     *\n");
printf("                *                ****************                 *\n");
printf("                *               *******************               *\n");
    printf("                *                     谢谢                        *\n");
printf("                *        *********************************        *\n");
printf("                *   ******************************************    *\n");
printf("                *        ********使用超市物品寄存********         *\n");
printf("                *          *********管      理*********           *\n");
printf("                *                 *****系统*****                  *\n");
    printf("                *                     *******                     *\n");
while(n--)
{
Sleep(100);
int num=rand()%9+1;
str=num+'0';
s[7]=str;
s[8] = '\0';
system(s);
}

system("color 07");
}
//改变字体颜色
void set_color()
{
int num;
srand((unsigned int)time(NULL));
char cmd[10] = "color 0" , ch;
num=(int)rand()%10;
ch=num+'0';
cmd[7]=ch;
cmd[8] = '\0';
system(cmd);
}
void printf(){
char ch;
if((cun_record=fopen("H:\\cun.txt","r"))==NULL)
printf("不好意思,亲,没有存入记录\n");
if((qu_record=fopen("H:\\qu.txt","r"))==NULL)
printf("不好意思,亲,没有取出记录\n");
printf("\n寄存记录\n");
printf("货柜编号\t货物名\t称取货时间\n");
while(!feof(cun_record)){
ch=fgetc(cun_record);
printf("%c",ch);
}
printf("取货记录\n");
while(!feof(qu_record)){
ch=fgetc(qu_record);
printf("%c",ch);
}
}
//查询
void seach(struct goods g[50]){
int c;
printf("\n亲,输入物品货柜编号\n");
scanf("%d",&c);
if(strcmp(g[c].name,"kong")==0)
printf("货物被提取,请到记录中查询\n");
else
printf("亲,您在%d号货柜存放的是%s\t",c,g[c].name);
}
//游戏
void game(){
CLS;
 int i = 0; 
 Prtfirst();
 PrtBg();
 CreatBg();
 InsertBg(Bg1);
 InsertBg(Bg1);
 InsertBg(Bg1);
 CreatBird();
 while (1)
 {
 if (!CheckYN(Bg1))
 break;
 Check_Bg(Bg1);
 Prt_Bg(Bg1);
 PrtBird();
 Loop_Bg(Bg1);
 Bird->y = Bird->y + 1;
 if (GetAsyncKeyState(VK_UP))
 {
 Position(Bird->x, Bird->y - 1);
 PR_Blank;
 Bird->y = Bird->y - 4;
 }
 while (i++<500);
 { Sleep(100);
 }
 i = 0;
 }
 Position(38, 10);
 printf("You Lost!");
 Position(1, 25);
 system("pause");
}

本人大一的课程设计,时间太长,代码可能有些许丢失,欢迎纠错相关推荐

  1. ## 大一java课程设计_航班查询系统(我是小白)

    大一java课程设计_航班查询系统(我是小白) 备注:第一个java程序有借鉴别人的成分,因为忘了在哪个大佬上面借鉴的,所以在此备注,如有侵权,请联系删除,(仅用于学习使用,并未想盈利) 框体介绍 一 ...

  2. Systemctl stop XXX 时间太长

    一.背景 假如我们自己开发了一个系统,例如web,想要通过systemd来控制.但使用过程中,出现了问题,systemctl stop XXX 的时间太长了. 二.问题原因 先说结论:我们的系统停止的 ...

  3. spark SQL读取ORC文件从Driver启动到开始执行Task(或stage)间隔时间太长(计算Partition时间太长)且产出orc单个文件中stripe个数太多问题解决方案...

    1.背景: 控制上游文件个数每天7000个,每个文件大小小于256M,50亿条+,orc格式.查看每个文件的stripe个数,500个左右,查询命令:hdfs fsck viewfs://hadoop ...

  4. Android 系统(161)---N/O版本上图库打开一张图片,图片从模糊到清晰的时间太长

    N/O版本上图库打开一张图片,图片从模糊到清晰的时间太长 与M版本比较,N版本上进图库打开一张图片,图片从模糊到清晰的时间太长 N上Google默认没有多线程encode而只有单线程encode,导致 ...

  5. win10 更新计算机时间,win10更新时间太长怎么回事_windows10更新时间太久解决教程...

    在使用win10系统的时候,经常会需要电脑进行更新,而我们会发现每次更新都会耗时1-2个小时时间.让人等的不耐烦,遇到win10更新时间太长怎么回事呢?接下来给大家分享一下windows10更新时间太 ...

  6. 苹果电脑开机长android,苹果笔记本开机白屏时间太长

    朋友,我的现在用"优化大师"优化了,开机才用:"13秒"! 1.电脑开机时间太长(建议你关机重启),或一次打开的网页过多,造成电脑"超载运行" ...

  7. java压缩mp4大小_压缩的mp4视频播放时间太长(exoplayer)

    视频(mp4)从Android摄像头录制并发送到后端,这里我使用ffmpeg包装器压缩视频[44mb视频到5.76mb] . 压缩效果很好,但是当我在android(exo播放器)发送视频播放时,开始 ...

  8. 【幻灯片制作软件】Focusky教程 | 帧的播放时间太长,该如何调整?

    (Focusky动画演示大师简称为"FS软件")设置适当的帧的播放时间能有效地展示内容,达到更好的演示效果.但如果帧的播放时间太长,所有演示动作完成后,还需等待一段时间后才能播放下 ...

  9. 大一MATLAB课程设计——空间曲线的切线与法平面

    大一MATLAB课程设计 空间曲线的切线与法平面 课时娱也,课毕遂卒.念及淘宝:忽明.奈何贵也.呜呼,吾魂兮毋求乎永生,当竭尽人事之所能. 先生要求的最简单的gui页面 one,two-seven: ...

最新文章

  1. Linux系统配置VI或VIM的技巧
  2. 谷歌浏览器linux版_Chrome apps 要被谷歌干掉了
  3. 关于arcgis发布wfs问题
  4. python 服务端渲染_客户端渲染和服务器渲染的区别
  5. java中过滤器、监听器、拦截器的区别
  6. python os模块详细用法
  7. Standard C Library - 思维火花 - 博客频道 - CSDN.NET
  8. zookeeper专题:使用zookeeper客户端实现动态监听节点并获取数据
  9. 95.91p30.space\/index.php,关于 ThinkPHP6 分页样式的定制及点击下一页搜索条件丢失的解决方法...
  10. 159挑战 | 1:59:40,基普乔格打开人类新时代!
  11. c语言利用循环结构解决密码转换,C语言课件第六章循环结构.ppt
  12. SEO是什么?SEO的作用?SEO的推广特点?
  13. python让繁琐工作自动化 第12章 web页面抓取
  14. 软件工程学习之七大实际开发模型的讲解,及模块化设计的理念
  15. 传奇服务器端地图链接在哪个文件夹,传奇客户端有新地图,怎样在服务端设置链接?让玩家进去?...
  16. js实现页面的多个日期时间倒计时效果(多个拼团)
  17. 解决telnet不是内部或外部命令的方案!
  18. 《通用版CISCO交换机配置命令及释义》——【全面、通用,含部分功能的注释】
  19. 机器学习之朴素贝叶斯实现垃圾邮件过滤
  20. 数据结构(一)求矩阵中的鞍点

热门文章

  1. 网络编程学习(9)/ FTP项目(3) ——目录切换、目录查看功能
  2. 拆解博朗一款剃须刀,质量真心差。德吹可以休已
  3. 【文献学习】热电偶信号调理电路
  4. 开源的企业级网络管理平台:OpenNMS+SugarNMS
  5. 在Linux中安装ALSA声卡驱动
  6. 技术文档写作的职业探讨
  7. Java的基础语法——数据类型
  8. Deep Reinforcement Learning for Task Offloading in Mobile Edge Computing Systems
  9. 行为型:设计模式之访问者模式(二十三)
  10. C语言运算符优先级口诀