C语言课程设计-抽奖系统

请勿直接引用,此内容为本人课程设计报告,上传意为记录自己的经历

题目:基于C语言的抽奖系统

摘要

本文介绍了一种基于C语言的简易抽奖系统的设计与实现。系统通过用户输入与随机数生成技术相结合,模拟现实中的抽奖过程。首先,用户可以根据提示选择输入目前的情绪状态,系统会给予相应的反馈,这样可以增加用户的使用体验,并使人机交互的效果更加符合本程序的设计初衷。接着,用户可以自定义设定抽奖次数,然后系统利用随机数生成算法进行多次抽奖,并实时显示结果。在设计过程中,系统包括用户交互界面、随机数生成模块以及奖品输出模块。经过大量的数据测试,该系统能够正常稳定地运行,并且生成的随机数分布合理,抽奖结果符合预期。本文详细介绍了系统的设计思路、代码实现和实验结果分析。通过本次设计,不仅可以学习和巩固C语言的基本编程技巧,还可以进一步了解随机数的生成及其在实际场景应用中的实现。该系统在娱乐和教育等领域具有一定的应用前景,为进一步的功能扩展提供了基础。总的来说,本次设计在功能实现、用户体验和技术细节上都达到了预期目标,并且为后续的进一步研究和改进奠定了基础,同时本程序也有一定的兼容性,为移植至其他功能程序的抽奖系统提供了一定的思路。

关键词:抽奖系统; 交互界面; 算法分析;

目录

题目:基于C语言的抽奖系统............................................................... 6

摘要:....................................................................................................... 6

目录........................................................................................................... 7

前言:....................................................................................................... 9

1.1本课题研究的意义............................................................. 9

1.2目的..................................................................................... 9

1.3研究范围及要求达到的技术参数................................... 10

1.3.1抽奖系统的需求分析:.............................................. 11

1.3.2抽奖算法的研究:...................................................... 11

1.3.3程序设计与实现:...................................................... 11

1.3.4系统测试与用户体验研究:...................................... 11

1.4本课程要解决的问题....................................................... 11

1.4.1抽奖算法:.................................................................. 12

1.4.2奖项设置:.................................................................. 12

1.4.3用户界面:.................................................................. 12

1.4.4抽奖结果输出:............................................................ 12

正文:..................................................................................................... 13

2.1引言:............................................................................... 13

2.2设计计算的方法和内容................................................... 14

2.2.1数据库的建立................................................................ 14

2.2.2人机交互界面的建立.................................................... 14

2.3实验方法、内容及其分析............................................... 15

2.3.1实验方法:.................................................................... 15

2.3.2实验内容:.................................................................... 15

2.3.3分析:............................................................................ 16

2.4理论论证、应用、结果以及讨论................................... 16

2.4.1理论论证:.................................................................... 16

2.4.2应用:............................................................................ 17

2.4.3结果:............................................................................ 17

2.4.4讨论:............................................................................ 18

结论:..................................................................................................... 18

致谢:..................................................................................................... 18

参考文献:............................................................................................. 19

附录:..................................................................................................... 19

前言:

1.1本课题研究的意义

在当今数字化的时代,抽奖活动作为一种常见的营销和娱乐方式,已经广泛应用于各个领域。[1]并且抽奖系统的设计和实现涉及到多个方面的知识和技术,包括编程语言、算法设计、用户界面设计等。通过对抽奖系统的研究,可以深入了解并掌握这些领域的知识和技术,提高我们对于解决问题算法和实现功能的编程的能力。本文将介绍一个基于C语言的抽奖系统的设计与实现,探讨其在教育教学中的应用和意义。

1.2目的

抽奖系统作为一种计算机语言程序,是计算机科学与技术领域的重要研究方向之一。通过对抽奖系统的研究,我们可以深入了解计算机程序设计的基本原理和方法,并提升我们的编程能力与解决实际问题的能力。同时,抽奖系统的设计和实现需要考虑到用户体验、交互性、安全性、稳定性等多个方面的因素,这也为我们提供了一个锻炼和提高综合素质的机会。

抽奖系统的研究也具有一定的教育教学意义。在计算机科学与技术、软件工程等相关专业的教学中,抽奖系统可以作为一个综合性的实验项目,让学生在实践中掌握编程语言、算法设计、数据库管理等多个方面的知识和技能,并可以在无形中提升自己的问题建模能力。通过参与抽奖系统的开发过程,学生可以提高自己的动手能力与创新能力,培养团队合作精神和解决实际问题的能力,并真正地将从课堂里学到的知识施以应用,提升我们自己的成就满足感。而且抽奖活动作为一种营销和娱乐方式,已经成为了商业活动和社交活动的重要组成部分。通过对抽奖系统的研究,可以开发出更加安全、公正、高效并且互动性高的抽奖系统,这可以为商业活动和社交活动提供更好的服务和支持。总而言之,我们研究抽奖系统的目的是为了更好地提升我们自己的能力以及最大限度地将抽奖系统应用于我们的日常生活里,也可以作为一个娱乐工具真正地满足人们的精神世界。对于当今世界的发展来说,计算科学技术等新技术的开发应用是非常关键的。计算机科学与技术所产生的影响是十分巨大的、非常广泛的,而这也为商业活动提供更多的便利。信息时代的快速发展,使各种信息的传播速度变得更加迅速,传播的方式也更加多样。通过抽奖系统的程序设计的商业实现,这可以为商业活动的开展节省出很多的时间成本,节省更多的人力成本,使各种商业活动的开展过程更加便利快捷。[2]

1.3研究范围及要求达到的技术参数

本课程的研究范围是基于C语言进行的程序设计,旨在将本学期所学的知识应用于实际之中。其中研究范围包括以下四个方面(1.3.1~1.3.4),并且本课程要达到的技术参数包括:系统结果的准确性、抽奖数据的随机性、抽奖程序的可移植性。

1.3.1抽奖系统的需求分析:

确定系统的功能需求、用户需求和性能需求。

1.3.2抽奖算法的研究:

分析和比较不同的抽奖算法,选择适合的算法用于实现抽奖功能。

1.3.3程序设计与实现:

使用C语言进行程序语言设计,包括简单的界面设计与简易的奖品数据的设置等。

1.3.4系统测试与用户体验研究:

进行充分的测试,确保系统的正确性和稳定性,并根据测试结果进行优化。同时也要考虑用户在使用抽奖系统时的体验,优化界面友好性和操作便捷性。

1.4本课程要解决的问题

以下过程顺序按照程序代码先后顺序进行排序:

1.4.1抽奖算法:

不同的算法有不同的运行效率。差的算法需要循环100多万次,好的算法只需要循环10次。学生通过本案例能够直观地体会到算法的价值——“算法是程序设计的灵魂”。[3]算法解释是编程的核心和关键,它能够帮助学生深入理解编程的本质,提高编程能力和解决问题的能力。由此我们可以知道一个程序算法的重要性,而在本课程里应设计一个合理的抽奖算法,确保每次抽奖的概率都是相同的。使本程序的功能更方便、高效。

1.4.2奖项设置:

设置不同的奖项,并设置奖品的总数(奖品数据库)从而确定每个奖项的中奖概率

1.4.3用户界面:

这是为了更好地实现人机交互功能,使用户有一个较好的使用体验,操作是设计一个友好的用户界面,方便用户参与抽奖,并且在程序运行的初期本程序使用简单的界面增加用户的娱乐性。

1.4.4抽奖结果输出:

将抽奖结果以清晰明了的方式输出给用户。并在最后输出一些增强本程序娱乐性的语句,与程序运行的开始形成对照。

正文:

2.1引言:

抽奖活动作为一种常见的营销和娱乐方式,在现代社会中扮演着重要的角色。随着科技的发展,抽奖系统的设计和实现也变得越来越复杂。一个公平、高效、可靠的抽奖系统不仅能够为用户带来良好的体验,还能够提升活动所带来的最终效果。本文将介绍一个基于C语言的抽奖系统的设计与实现,探讨其在学习和生活中的应用和意义。通过对抽奖系统的研究和实现,我们可以深入了解计算机程序设计的基本原理和方法,提高我们的编程能力和解决实际问题的能力。同时,抽奖系统的设计和实现也需要考虑到用户体验、安全性、稳定性等多个方面的因素,这为我们提供了一个锻炼和提高综合素质的机会。在教育教学中,抽奖系统可以作为一个综合性的实验项目,让学生在实践中掌握编程语言、算法设计、数据库的建立等多个方面的知识和技能。通过参与抽奖系统的开发过程,也可以提高我们自己的动手能力和创新能力,培养团队合作精神和解决实际问题的能力。同时,抽奖系统经过一定的修改也可以作为一种教学工具,用于辅助课堂教学和实验教学,帮助学生更好地理解和掌握相关的知识和技能。

2.2设计计算的方法和内容

2.2.1数据库的建立

在本次课程设计里,我们的奖品数据内容分别为“一等奖”、“二等奖”、“三等奖”、“特等奖”、“再来一次”、“未中奖”,总数据基数为100,其抽到的概率分别为2%、3%、4%、1%、2%、88%,而每个奖项被抽到的概率也和日常生活里超市购物抽奖等场景相符合,从而论证我们基础数据库建立和抽奖概率的合理性。

2.2.2人机交互界面的建立

为了保证用户的高体验感,所以我们在程序运行的开端建立了一个简单人机交互界面,通过简单的情绪分享价值,就有可能获得最大化收益,因为情绪价值的范围的其实是非常宽泛的,情绪价值包括了正向情绪价值和负向的,而大家所说的情绪价值,都是正向的情绪价值,也就是给人带来一切美好感受的能力,能引起正面情绪的能力。在人与人之间提供情绪价值十分重要,这也是亲密度的相关体现。[4]而当我们情绪服务被用户认可时,更多的用户才会使用我们的抽奖系统,从而收益最大化/宗旨是为了更好地提升用户的体验感与满足感,而具体的过程实施在本处我们只简单地提及,而在下面的代码(附录)解释里我会详细地介绍。

2.3实验方法、内容及其分析

2.3.1实验方法:

在抽奖系统做好以后,通过大量实验数据来证明抽奖系统的稳定性、准确性、交互性,并且将本系统推荐给同学使用,并记录每次的抽奖结果,重复抽奖过程多次,以获取足够的数据进行分析。防止系统会准确无误按照程序运行。下图为程序运行结果部分实验图:

2.3.2实验内容:

观察多次抽奖结果是否呈现出无规律的分布,以确保抽奖的公平性,以达到验证抽奖系统的随机性的目的。并分析不同奖品的出现频率,对比设定的概率与实际出现的频率是否相符。考察抽奖时间对结果的影响,看是否存在特定时间段抽奖更容易获得特定奖品的情况(此过程在代码附录里实现)。在我们的实验过程中,每一次的抽奖过程都不是同一个人,且并无影响实验结果的特征,此过程能说明研究参与者特征(如性别、年龄等)与抽奖结果并无关联,只和奖品获得概率有关,这样更能说明我们抽奖系统的公平性,并提高抽奖系统的可信度。

2.3.3分析:

通过对大量抽奖结果的统计分析以及上述附表结果可说明抽奖系统的随机性良好。并且各奖品的实际出现频率与设定概率接近,表明概率设置合理并无偏差较大的情况,同时根据代码实现过程,可表明抽奖时间对结果无明显影响,说明系统较为公平,并且参与者特征与抽奖结果无显著关联,可进一步说明抽奖系统的公正性和可信度。综上几点并分析可得:本次的课程设计抽奖系统符合预期标准,且概率设计合理,可满足大多数人的抽奖要求,系统较为完善。

2.4理论论证、应用、结果以及讨论

2.4.1理论论证:

通过调用rand()函数结合时间种子来产生随机数,以确保每次运行抽奖结果的随机性,这符合抽奖的基本原理。并使用字符数组来存储不同类型的奖品,这种数据结构简单直接,能够有效管理和展示奖品信息。

在交互界面利用switch语句根据用户输入的不同情绪代码进行相应反馈,体现了程序与用户的交互性,从理论上满足了与用户沟通和互动的需求。在算法上我们使用php算法来进行设置抽奖系统的概率设计,这能生成更符合本系统抽奖概率,而关于概率统计相关的知识和原理实际上,它是人类社会在发展过程中总结出的数学规律。高中数学概率知识相对较为笼统,所以我们应当加深概率统计在生活中的应用范围,对于生活中的问题做出正确和科学的决策。在当今社会,利用好概率知识并加以理解应用,能够使我们的生活更加便利。在现实生活中研究概率统计的意义:概率统计与实际生活密切相关,人们能够利用概率统计的方式也有很多种。比如在商场经常举办的抽奖活动当中,或者在聚会的游戏项目当中,都有概率统计的身影。[5]由此可知概率设计的重要性。同样在一个程序系统里重要的不仅仅只有算法,还有程序设计,程序设计是计算机语言教学中点,同时也是教学中的难点,循环结构是三种基本程序设计结构之一,是程序设计的基础。[6]在代码里我们使用了while循环语句,而它具有灵活性、简洁性、适用广泛性等优点,并且while循环可以根据条件的持续满足而多次执行循环体。这对于处理需要重复执行某些操作的情况非常有用,例如遍历数组、读取文件内容,而它的这种特性确保只有在满足特定条件时才执行循环体,避免不必要的计算和操作。

2.4.2应用:

此程序适用于一些小型娱乐活动或简单的互动场景。用户可以在轻松的氛围中体验抽奖的乐趣,并通过情绪反馈环节增强与程序的互动性。它可以用于个人娱乐,也可以在一些特定的聚会或活动中增加趣味性。

2.4.3结果:

程序启动后,会显示欢迎信息和情绪输入等提示,用户输入情绪代码后会得到相应的回应。然后在抽奖环节,根据设定的抽奖次数随机输出奖品。每次抽奖结果会明确显示,最后还会有抽奖结束的提示信息。

2.4.4讨论:

在本课程设计里优点是实现了抽奖和交互功能的结合,增加了程序的趣味性和用户参与度。并给用户提供情绪价值,用于满足用户的体验感,当然缺点也是明显的,在程序设计的过程中还做不到足够尽善尽美,比如说在欢迎用户界面做的太过简单以及代码结构相对较于简单且整体系统没有太多功能。但这份程序设计的答卷相对于我自己的编程水平还是比较满意的。

结论:

本课程设计是基于C语言进行设计的抽奖系统,通过大量实际数据测试,证明该系统能够满足抽奖的需求,具有较好的稳定性和可靠性,并可以提供给用户较好的使用体验。在未来的学习中,如果有机会我们将继续完善系统功能,提高系统性能,为用户提供更好的服务。

致谢

行文至此,落笔之处,本次课程设计将画上句号。在这一周的学习里,我收获了知识,也收获了成长,也真正地将课堂上学到的知识应用于实践。在此我想向所有给予我帮助和支持的人表达我最诚挚的感谢。

我要感谢我的指导导师侯守明老师,在论文的写作过程中,导师给予了我悉心的指导和耐心的解答。还要特别感谢本次课程设计的负责人周书强老师,感谢您不厌其烦地回答我的问题,给了我很多帮助。最后,我要感谢所有参与我本次课程设计研究的人员,感谢你们的付出和贡献为我的本次课程设计提供了很重要的支持。在未来的日子里,我将带着这份感恩之心,继续努力,不断追求卓越,为社会做出自己的贡献。

参考文献:

[1] 李自成.基于LabVIEW的简易抽奖系统的设计与实现[J].安徽电子信息职业技术学院学报,2020,19(4):31-34,38

[2]刘林.计算机科学与技术的发展与展望[J].集成电路应用,2023,40(03):338-339

[3]黄振永.用案例教学展示算法是程序设计的灵魂[J].福建电脑,2019,35(4):157-15

[4] 李歆萌.浅析如何提供情绪价值[J].情感读本,2023(26):46-48

[5] 李文龙.浅谈抽奖活动中的概率问题[J].中国高新区,2019(2):284-285

[6] 姜妍.C++中while循环语句教学设计探讨[J].科技创新导报,2012(5):205-205

附录:

代码如下:

//

// Created by huqinyun on 2024/5/21.

//

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#include <conio.h>

#include <string.h>

//定义奖品类型

char ch[100][15]={"一等奖","一等奖","二等奖","二等奖","二等奖", "三等奖","三等奖",

                  "三等奖","三等奖","特等奖","再来一次","再来一次","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",

                  "未中奖","未中奖",};

/*

void initialize_prizes() {

       for (int i = 0; i < 2; i++) ch[i] = "一等奖";

       for (int i = 2; i < 5; i++) ch[i] = "二等奖";

       for (int i = 5; i < 9; i++) ch[i] = "三等奖";

       ch[9] = "特等奖";

       for (int i = 10; i < 12; i++) ch[i] = "再来一次";

       for (int i = 12; i < PRIZE_COUNT; i++) ch[i] = "未中奖";

//在设置奖品类型的时候我们可以二维数组计入奖品或者我们也可以重新做一个自定义循环函数,更简洁方便地将每个奖品内容计入数组之中

}

 */

void jiaohu(){//交互界面为了给用户更好的体验感

    while(1){

        printf("欢迎来到抽奖系统!\n");

        printf("本程序仅供娱乐,本环节是为了和您进行互动!\n");

        printf("请根据下面的提示选择现在您的指令!\n");

        printf("*******************************************************\n");

        printf("如果您现在的心情很好请输入10\n");

        printf("如果您现在感觉烦躁请输入11\n");

        printf("如果您现在感到疲惫请输入12\n");

        printf("如果您现在感到平静请输入13\n");

        printf("如果您有其他不同的心情表现请输入14\n");

        printf("*******************************************************\n");

        break;

    }

    int emotion;

    scanf("%d",&emotion);

    switch (emotion) {

        case 10:

            printf("太棒了!希望您每天都这么开心~\n");

            break;

        case 11:

            printf("要不要尝试一些放松的活动,比如散步、听音乐或做一些您比较喜欢的运动~\n");

            break;

        case 12:

            printf("记得要照顾好自己,给自己一些时间来恢复精力,身体才是第一位哦~\n");

            break;

        case 13:

            printf("那很好啊,希望您的生活里处处充满平静和喜悦,没有烦恼和忧虑~\n");

            break;

        case 14:

            printf("我很在乎您的感受,如果您想倾诉,我随时都在这里。尽管我只是一串代码,但我希望您可以一直开心~\n");

            break;

        default:

            printf("您输入的字符串无效哦~\n");

            break;

    }

}

void ag(){//再来一次的环节

    while(1){

        int k = rand() % 99;  // 随机一位生成 0~99 的整数

        if(strcmp(ch[k],"再来一次")==0){

            printf("再来一次\n");

            continue;}//如果抽到再来一次,则重新进行循环

        else{

            printf("%s\n",ch[k]);

            break;//否则直接跳出while循环

        }

    }

}

int main()

{

    jiaohu();

//设置抽奖次数

    int n;

    printf("请输入你想要抽奖的次数(比如说您想抽5次就输入5):");

    srand((unsigned) time(NULL));  // 以当前时间定义随机数种子

    scanf("%d",&n);

    //开始抽奖

    printf("按任意键开始抽奖(按0退出)\n");//只有最后输入0然后才会结束程序运行

    while (1) {

        char c;

        int i;

        c = getch();//读取输入的字符<conio.h>

        if (c == '0') break;

        else {

            for(i=0;i<n;i++)

            {

                ag();

            }

printf("*******************************************************\n");

            printf("本次抽奖环节已结束!\n");

            printf("希望在这短暂的时间里您可以收获一份快乐!\n");

            printf("很高兴期待和您的下次相逢~\n");

            printf("结束程序运行请输入0\n");

printf("*******************************************************\n");

        }

    }

    return 0;

}

不同时间下相同试验次数的对比(部分):

图1

文本  描述已自动生成

图2

文本  描述已自动生成

此过程是为了测试是否存在特定时间段抽奖更容易获得特定奖品的情况(此过程在代码附录里实现),保持其他变量一致。

相同指令实验对比测试:

图3

电脑屏幕截图  描述已自动生成

图4

电脑屏幕截图  描述已自动生成

图5

电脑萤幕画面  中度可信度描述已自动生成

不同情绪相同抽奖次数对比:

图6

电脑萤幕画面  中度可信度描述已自动生成

图7

文本  描述已自动生成

程序结束循环演示(在结束抽奖环节后按下输入0便可以退出程序运行):

图8

文本  描述已自动生成

部分交互界面演示(交互界面分为两部分一部分是程序运行开始,一本分是结束):

图9

文本  中度可信度描述已自动生成

图10

文本  描述已自动生成

 

[1][1] 李自成.基于LabVIEW的简易抽奖系统的设计与实现[J].安徽电子信息职业技术学院学报,2020,19(4):31-34,38

[2] 刘林.计算机科学与技术的发展与展望[J].集成电路应用, 2023, 40(03): 338-339

[3] 黄振永.用案例教学展示算法是程序设计的灵魂[J].福建电脑,2019,35(4):157-159

[4] 李歆萌.浅析如何提供情绪价值[J].情感读本,2023(26):46-48

[5] 李文龙.浅谈抽奖活动中的概率问题[J].中国高新区,2019(2):284-285.

[6] 姜妍.C++中while循环语句教学设计探讨[J].科技创新导报,2012(5):205-205

//
// Created by huqinyun on 2024/5/21.
//
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include <conio.h>
#include <string.h>
//定义奖品类型
char ch[100][15]={"一等奖","一等奖","二等奖","二等奖","二等奖", "三等奖","三等奖",
                  "三等奖","三等奖","特等奖","再来一次","再来一次","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖","未中奖","未中奖","未中奖","未中奖","未中奖",
                  "未中奖","未中奖",};
/*
void initialize_prizes() {
	for (int i = 0; i < 2; i++) ch[i] = "一等奖";
	for (int i = 2; i < 5; i++) ch[i] = "二等奖";
	for (int i = 5; i < 9; i++) ch[i] = "三等奖";
	ch[9] = "特等奖";
	for (int i = 10; i < 12; i++) ch[i] = "再来一次";
	for (int i = 12; i < PRIZE_COUNT; i++) ch[i] = "未中奖";
//在设置奖品类型的时候我们可以二维数组计入奖品或者我们也可以重新做一个自定义循环函数,更简洁方便地将每个奖品内容计入数组之中
}
 */
void jiaohu(){
    while(1){
        printf("欢迎来到抽奖系统!\n");
        printf("本程序仅供娱乐,本环节是为了和您进行互动!\n");
        printf("请根据下面的提示选择现在您的指令!\n");
        printf("*******************************************************\n");
        printf("如果您现在的心情很好请输入10\n");
        printf("如果您现在感觉烦躁请输入11\n");
        printf("如果您现在感到疲惫请输入12\n");
        printf("如果您现在感到平静请输入13\n");
        printf("如果您有其他不同的心情表现请输入14\n");
        printf("*******************************************************\n");
        break;
    }
    int emotion;
    scanf("%d",&emotion);
    switch (emotion) {
        case 10:
            printf("太棒了!希望您每天都这么开心~\n");
            break;
        case 11:
            printf("要不要尝试一些放松的活动,比如散步、听音乐或做一些您比较喜欢的运动~\n");
            break;
        case 12:
            printf("记得要照顾好自己,给自己一些时间来恢复精力,身体才是第一位哦~\n");
            break;
        case 13:
            printf("那很好啊,希望您的生活里处处充满平静和喜悦,没有烦恼和忧虑~\n");
            break;
        case 14:
            printf("我很在乎您的感受,如果您想倾诉,我随时都在这里。尽管我只是一串代码,但我希望您可以一直开心~\n");
            break;
        default:
            printf("您输入的字符串无效哦~\n");
            break;
    }

}
void ag(){
    while(1){
        int k = rand() % 99;  // 随机一位生成 0~99 的整数
        if(strcmp(ch[k],"再来一次")==0){
            printf("再来一次\n");
            continue;}//如果抽到再来一次,则重新进行循环
        else{
            printf("%s\n",ch[k]);
            break;//否则直接跳出while循环

        }

    }
}

int main()
{
    jiaohu();
//设置抽奖次数
    int n;
    printf("请输入你想要抽奖的次数(比如说您想抽5次就输入5):");
    srand((unsigned) time(NULL));  // 以当前时间定义随机数种子
    scanf("%d",&n);
    //开始抽奖
    printf("按任意键开始抽奖(按0退出)\n");//只有最后输入0然后才会结束程序运行
    while (1) {
        char c;
        int i;
        c = getch();//读取输入的字符<conio.h>
        if (c == '0') break;
        else {
            for(i=0;i<n;i++)
            {
                ag();
            }
            printf("*******************************************************\n");
            printf("本次抽奖环节已结束!\n");
            printf("希望在这短暂的时间里您可以收获一份快乐!\n");
            printf("很高兴期待和您的下次相逢~\n");
            printf("结束程序运行请输入0\n");
            printf("*******************************************************\n");



        }
    }

    return 0;
}
  • 42
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值