• 图书管理系统——皇帝的新衣


     

    代码如下

    /* Note:Your choice is C IDE */
    #include "stdio.h"
    #include "string.h"
    #include "windows.h"
    #include "stdlib.h"
    int i,j,bh,bh1;
     struct books{
        char name[20];
        double price;
        char introduce[100];
     }book1[3],book2[3],book3[3];
     void Init(){
             struct books book1[3]={
            {"红楼梦",25.05,"家境变迁的爱情故事"},
            {"白鹿原",15.25,"几个时代青年的世界"},
            {"西游记",25.26,"鬼怪魔神的奇幻之游"},
                            };
        struct books book2[3]={
            {"百年孤独",25.05,"rt"},
            {"我的大学",15.25,"托尔斯泰的传世之作"},
            {"傲慢与偏见",25.26,"rtgr"},
            };
        struct books book3[3]={
            {"诗经",25.05,"rtgh"},
            {"论语",15.25,"sry"},
            {"中庸",25.26,"er"},
            };
        printf("请输入功能编号
    ");
        scanf("%d",&bh1);
        printf("  书名		单价		介绍
    ");
        switch(bh1){
            case 1:    
                for(i=0;i<3;i++){
            printf("  %-12s%-15.2f%s
    ",book1[i].name,book1[i].price,book1[i].introduce);
            
            }
            break;
            case 2:    
                for(i=0;i<3;i++){
            printf("  %-12s%-15.2f%s
    ",book2[i].name,book2[i].price,book2[i].introduce);
            
            }
            break;
            case 3:    
                for(i=0;i<3;i++){
            printf("  %-12s%-15.2f%s
    ",book3[i].name,book3[i].price,book3[i].introduce);
            
            }
            break;
            default :printf("您输入的编号有误!
    ");break;
            
            }
           system("pause");
         }
    void character(){
        char arr[50][50]={
             "==============",
             "=1.中文书籍  =",
             "=2.英文书籍  =",
             "=3.古文学    =",
             "==============",
        };
        for(i=0;i<5;i++){
            for(j=0;j<15;j++){
                printf("%c",arr[i][j]);
            }
            printf("
    ");
        }
        Init();
        }
    void menu();
    void Openbook(){
        int booknum;
            FILE *fp;
            char aw[1500];  
        char c;  
        int n = 1;
       
        char crr[50][50]={
             "==============",
             "=1.百年孤独  =",
             "=2.白鹿原    =",
             "=3.古文学    =",
             "=4.教学资料  =",
             "==============",
        };
        
        for(i=0;i<6;i++){
            for(j=0;j<15;j++){
                printf("%c",crr[i][j]);
            }
            printf("
    ");
        }
        printf("Choose number to open book
    ");
        scanf("%d",&booknum);
    
    
        //EOF是文件结尾的标志,此处是判断是否到文件尾
        switch(booknum){
            case 1:
               system("cls");
                    fp = fopen("test2.txt","r");
            if(fp == NULL)  
           {  
            printf("文件打开失败!
    ");  
            exit(1);   
            }  
               while((fgets(aw,500,fp)) != NULL)  
             {  
                 printf("%s",aw);  
                
             }  
            printf("
    "); 
            system("pause");         
            fclose(fp);   
            break;
            case 2:
             system("cls");
                    fp = fopen("test3.txt","r");
            if(fp == NULL)  
           {  
            printf("文件打开失败!
    ");  
            exit(1);   
            }  
               while((c = fgetc(fp)) != EOF)  
             {  
                 printf("%c",c);  
                n++;  
             }  
            printf("
    "); 
            system("pause");         
            fclose(fp); 
            break;  
            case 3:
             system("cls");
                    fp = fopen("test4.txt","r");
             if(fp == NULL)  
             {  
             printf("文件打开失败!
    ");  
             exit(1);   
              }  
               while((c = fgetc(fp)) != EOF)  
             {  
                 printf("%c",c);  
                n++;  
             }  
            printf("
    "); 
            system("pause");         
            fclose(fp);   
            break;
            case 4:
            system("cls");
            fp=fopen("test5.txt","r");
            if(fp==NULL){
                printf("文件打开失败!
    ");  
             exit(1);   
            }
             while(( fgets(aw,1500,fp)) != NULL)  
             {  
                 printf("%s",aw); 
             }  
            printf("
    "); 
            system("pause");         
            fclose(fp);   
         break;
            default:
            printf("请输入正确的数字
    ");
        }
        
        }
    void main(){
       system("color 61");
       for(;;){
           
        menu();
           printf("请输入功能编号
    ");
        scanf("%d",&bh);
        switch(bh){
            case 1:character();break;
            case 2:Openbook();break;
            case 0:exit(0);
            default:printf("请输入正确编号
    ");
            }
       }//for
    }
    void menu(){    
        char brr[50][50]={
             "==============",
             "=1.图书馆藏书=",
             "=2.打开书籍  =",
             "=0.退出      =",
             "==============",
        };
        
        system("title 图书系统");
        system ( "mode con cols=40 lines=28" );
        printf("
    
    ");
        for(i=0;i<5;i++){
            for(j=0;j<15;j++){
                printf("%c",brr[i][j]);
            }
            printf("
    ");
            }
    
        }

    需要在同阶目录下存在文件test2.txt,test3.txt,test4.txt

    可以自己新建,并往里面写内容。也可以下载这几个文件

    https://files-cdn.cnblogs.com/files/TimVerion/%E5%9B%BE%E4%B9%A6%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F%E6%96%87%E4%BB%B6.rar

    text2.txt:

    text3.txt:

    text4.txt:

    皇帝的新衣游戏代码

    /* Note:Your choice is C IDE */
    #include "stdio.h"
    #include "time.h"
    #include "string.h"
    #include "windows.h"
    #include "mmsystem.h"
    #pragma comment(lib,"Winmm.lib")
    #define MAX 6
    char errorname[20];
    int i,j,k;//j代表天数
    void menu(){
        printf("			1.添加您的新妃子
    ");
        printf("			2.翻牌子
    ");
        printf("			3.打入冷宫
    ");
        printf("			4.召见妃子
    ");
    }
    
    
    void main()
    {
        int n=5,bh,bb;
        int bz;//牌子
        int rs=0;//不满的人数
        char temname[20];
        char name[MAX][20]={"西施","甄嬛","王昭君","杨玉环","郭德纲"};
        char title[MAX][20]={"贵人","妃子","正宫","娘娘","皇后"};
        int level[MAX]={1,0,1,1,1,-1};
        int love[MAX]={100,100,100,100,100};
        
        char  artile[6][50]={
            "啊!大海呀都是水",
            "红鲤鱼绿鲤鱼与驴",
            "这真是红旗招展,人山人海,锣鼓齐鸣",
            "寻寻觅觅冷冷清清凄凄惨惨戚戚",
            "对面的姑娘真是美,两个眼睛一张嘴",
            "智商二百五",
        };
        time_t t;
        struct tm *p;
        t=time(NULL);
        p=gmtime(&t);
        /*printf("time为%02d:%02d:%02d
    ",p->tm_hour+8,p->tm_min,p->tm_sec);*/
            srand((unsigned)time(NULL));
            PlaySound(TEXT("sounds\5287.wav"),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
        printf("			请新登基皇帝留下名字:
    ");
        fflush(stdin);
        gets(errorname);
        printf("%d年%02d月%02d日
    ",1900+p->tm_year,p->tm_mon+1,p->tm_mday);
        printf("%s登基
    ",errorname);
        for(j=0;j<10;j++){
        menu();
        printf("%-12s位置	心情
    ","姓名");
        for(i=0;i<n;i++){
            printf("%-12s%s		%d
    ",name[i],title[level[i]],love[i]);
            }
        printf("第%d天
    欢迎%s活到晴朗的一天
    ",j+1,errorname);                                  
        printf("请选择接下来的打算: 
    ");
        scanf("%d",&bh);
        switch(bh){
            case 1:
            PlaySound(TEXT("sounds\5126.wav"),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
            printf("闻说%s皇帝游历江南湖畔带来一位女子
    ",errorname);
            printf("请写出新娘娘的芳名:");
            scanf("%s",&name[n]);
            level[n]=0;
            love[n]=100;
            for(i=0;i<n;i++){
                love[i]-=10;//其他妃子扣10好感
                }
            n++;
            system("pause");
            system("cls");
            break;
            case 2:
    
            PlaySound(TEXT("sounds\欢乐斗地主.wav"),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
            printf("请您开始抽取您的幸运牌子
    ");
            bb=rand()%9;
            bz=rand()%n;
            for(i=0;i<10;i++){
            printf("%d",bb);        
            system("cls");
            Sleep(100);
            }
            printf("%d",bz);
            for(i=0;i<n;i++){
                if(i!=bz)
                love[i]-=20;//其他妃子扣20好感
                }
            printf("%s很荣幸和您相处
    ",name[bz]);
            love[bz]+=20;
            level[bz]+=1;
            system("pause");
            system("cls");
            break;
            case 3:
            PlaySound(TEXT("sounds\丧礼.wav"),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);
            printf("%s请您决定要把谁给打入冷宫了:",errorname);
            fflush(stdin);
            gets(temname);
            for(i=0;i<n;i++){
                if(strcmp(temname,name[i])==0){
                    for(k=i;k<n;k++){
                    strcpy(name[k],name[k+1]);
                    love[k]=love[k+1];
                    level[k]=level[k+1];}
                    break;
                }            
            }
            for(i=0;i<n-1;i++){
                love[i]+=10;
            }
            n--;
            system("pause");
            system("cls");
            break;
            case 4:
            printf("%s您准备和那位妃子去游玩:",errorname);
            fflush(stdin);
            gets(temname);
            bz=rand()%6;
            printf("%s兴致大起吟诗道:%s
    ",errorname,artile[bz]);
            for(i=0;i<n;i++){
                if(strcmp(temname,name[i])==0){
                   love[i]+=20;
                    break;
                }            
            }
            for(i=0;i<n-1;i++){
                love[i]-=20;
            }
            system("pause");
            system("cls");
            break;
            default :printf("输入错误");
        }
        for(i=0;i<n;i++){
            if(love[i]<=60){
                rs++;
                }
        }
        if(rs>=3){
            printf("妃子们确定起义将皇帝杀死
    ");
            printf("%s共执政%d天",errorname,i+1);
            break;
            }
        }
    }

    需要在同阶目录下:

    在sounds下存在这几个文件,自己随便找文件也行

  • 相关阅读:
    ThinkPHP---框架介绍
    (独孤九剑)--cURL
    浅谈Session与Cookie的区别与联系
    (独孤九剑)--会话管理和控制
    PHP数据乱码
    (独孤九剑)---PHP操作MySQL数据库
    错误宝典
    变量、常量、注释、PEP8开发规范、数据类型、Python2和Python3的区别、用户输入、流程控制语句
    什么是编程语言
    CSS
  • 原文地址:https://www.cnblogs.com/TimVerion/p/11193957.html
Copyright © 2020-2023  润新知