欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    排班系统C语言课程设计资料.docx

    • 资源ID:4672930       资源大小:29.79KB        全文页数:12页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    排班系统C语言课程设计资料.docx

    1、排班系统C语言课程设计资料C程序课程设计报告201 201学年第 学期课程名称 C语言课程设计 设计题目 排班系统 学生姓名 学 号 专业班级 指导教师 201年 月 日一、 设计任务书, , 31、 题目与要求 32、 本程序涉及的知识点 3二、 程序流程图 , 4三、 程序代码设计 , 5四、 程序调试过程 , 6五、 程序运行过程 , 6六、 程序有待改进的地方 , 9七、 程序设计总结 , 9八、 致谢 , 9/ 、 *XJ J ,参考文献 , 9I IJ/ V ,附录, 10I IJ J 55555555555555555555555555 1 v、设计任务书1、题目与要求赵:星期二

    2、、 星期四本程序实现的功能是对 7 名保安人员进行排班, 要求每个人在一星 期中可以休息一天。 每名保安可以自行选择自己想要的休息日, 而对于休息日的选择既可以 是某一天, 也可以是某几天中的其中一天。 当 7 名保安依次输入自己想要的休息日后, 系统 将会给出可能的值班安排。 若系统给出的值班安排是 0 种,证明系统对 7 名保安的选择无法 作出排班,需要重新输入。具体题目:学校实验楼有 7 名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要 进行轮休制度, 一星期中每人休息一天。 预先让每一个人选择自己认为合适的休息日。 请编 制程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人

    3、选择的休息日如下:钱:星期一、星期六孙:星期三、星期日李:星期五周:星期一、星期四、星期六吴:星期二、星期五陈:星期三、星期六、星期日2、本程序涉及的知识点输入函数和输出函数、变量的定义、 for 语句和 switch-case 语句的使用等二、程序流程图三、程序代码设计输入函数和输出函数、变量的定义、 for 语句和 switch-case 语句、 ss 字符串的使用等。输入函数:1)函数原形:自定义 swap(int *a, int *b) 函数2) 功 能:swap()函数利用取地址符号&完成对程序中某个变量的赋值, 进而程序中判断交换的功能。3) 函数原形: get char()4)

    4、功 能:向计算机输入一个字符。5) 变量及类型:int a,b, m, k: 整型形参变量,接收 main() 传过来的随机数字。int i: 循环控制变量,其中 i 具有自加功能。int j: 整型形参变量,其中 j 具有自加功能。6) 说 明:输入字符后需要输入 -1,待系统做出判断后往下执行。选择判断结构switch-case 语句:从表达式值等于某个 case 语句后的值开始,它下方的所有语句 都会一直运行,直到遇到一个 break 为止。随后, switch 语句将结束,程序从 switch 结 束大括号之后的第一个语句继续执行,并忽略其他 case;假如任何一个 case语句的值都

    5、不等于表达式的值,就运行可选标签 default 之下的语句。假如表达式的值和任何一个 case标签都不匹配,同时没有发现一个 default 标签,程序会跳过整个 switch 语句,从它的结束大括号之后的第一个语句继 续执行。for语句:for(语句1 ;语句2 ;语句3 ) 循环体执行时,先执行一次语句 1(注意只执行一次 ) 之后判断语句 2是否成立 1).如果成立执行循环体,之后执行语句 3。再返回语句 2 判断条件是否成立 ?成立执行循环体后再执行语句 3,如此直到循环体不成立则跳出循环 2)如果语句 2 不成立,则 不执行循环体也不执行语句 3 直接跳出循环。输出函数:1 )函数

    6、原形: printf( “ = ” ,*)3)相关变量: int n: 输出正确结果。int i , j:输出计算正确,计算排班情况。4)说 明:输出时要把要输出的信息用双引号括起来, 输出数字时要在其代表变量前加逗号 。四、程序调试过程由于对 C 语言知识储备有限,且时间精力有限,我们在设计程序程序的过程中遇到了 不少问题。首先遇到的问题是: 使用何种数组以及如何使输出变得简洁易懂, 易操作。 在思考讨论 之后,我们决定尽量“使输入数字化,输出结果文字化”的做法,也就是再输入星期几的时 候直接用数字代替, 在输出的时候, 为了更加直观, 就需要把原先的数字输出为星期几这种 文字的形式;在单个

    7、对象输出结束之后,我们选择了 -1 这个不会与其他日期混淆的数字, 以此表示可以对下一个对象进行输出。 这就需要重新定义一个二维数组, 数组中存放 “星期 一,星期二”等文字形式的定义,这样我们可以通过前面输入的数字来引用对应的文字。解决了最基本的问题之后, 我们遇到的问题是: 程序使用过程还是不够直观, 不能让使 用者直接观察到每个保安可能选择的休息日, 在无法自行解决的情况下我们向老师求助。 在 解释程序、 说明目的之后, 我们重新进行了一次讨论, 最后老师建议我们重新定义一个新的 数组。 为此我们找了很多相关资料, 不断地进行调试,修改, 却始终无法完全达到我们的预 想;在老师的指导下,

    8、 再次经历了数组选择以及一系列的调试与修改之后, 我们重新定义了 ss 字符串,采用了 char ss 数组。在选择了 char ss 数组之后遇到的问题就是输出语句繁琐,每次都会显示“请输入下列 人选择休息的可能时间”,后来我们对“ printf( 请输入下列人选选择休息的可能时间: n); ”这个语句进行修改与位置的调整,使得其变得简洁。调试的过程比较繁琐, 除了跟版本有一定的关系外, 有时候就因为一个小错误, 程序调 试了好久也出不来想要的结果, 最后通过我们组员的一起讨论、 利用课本、 网上的资源和老 师的帮助,这些问题都被我们逐一解决了。五、程序运行过程1、输出多种结果 F 4 C:

    9、UsersAdm i nistratcrOesktQpCiS* l.exe酎甲VMS41725-14 -16-1-145-17 -15G -1 1 iolution: 1些钱孙李周吴陈2、输出0种结果(说明输入有误,需要重新输入)D:Docu me nt &C - Fire eT e m 1. exe 欢迎使用排班系统请输入下列人选选择休息的可能时间: P: 1 钱;1 祗2 蚩.34吴:5total : 03、只输出一种结果(如题目要求)六、程序有待改进的地方本程序是根据保安可能选择的休息日, 给出满足条件的值班安排这一功能, 系统功能相 对单一,不够人性化。在对 C 语言有更深的了解后,可

    10、以考虑对程序进行修改,增加系统功 能,例如:1、增设特殊情况显示以及分析,根据况进行人性化排班,例如:看病 办证 旅游2、在系统无法排班时,判断周几没有值班人员;3、当有某个保安请假一周, 也就是剩下的 6 名保安有一个人一周要值两天时如何排班;4、增设投票功能:当有多种值班安排时,通过投票随机决定使用哪一种值班安排;5、可增设当天值班保安的工号、电话、地址等信息的显示;七、程序设计总结在完成本次课程设计的过程中, 一方面让我们在实际运用中更加深刻地理解了课堂学到 的知识;另一方面, 通过查询资料、 咨询老师,培养了我们在有限时间内搜集资料以及写论 文的能力; 与此同时,在编写程序时,也让我们

    11、体会到想要学好一个程序, 不仅要上课认真 听老师讲,还要在课外多阅读一些相关的资料和书籍。同时, 相关的资料和老师的指导对我们完成程序的编写提供很大的帮助。 除此之外, 我 们还认识到编写程序时必须要耐心仔细, 真可谓, 细节决定成败; 一个标点和字符或是中英 文等输入细节都要注意, 否则就可能导致整个程序运行错误, 这极大地培养了我们务实求真, 发现问题的科学素养。此外,思考、讨论、查找资料以及调试、修改的过程是非常繁琐的,但是我们要尽量做 到尽善尽美,只有这样,才能设计出简洁的、比较人性化的程序。八、致谢本次课程设计的完成,除了感谢XX文库提供的资料以及网友的不吝赐教之外,还要特别感谢 C

    12、 语言课程李老师的耐心指导, 让我们在繁琐的调试中寻找到乐趣以及不断改进的动 力。参考文献1谭浩强,C程序设计(第四版),北京:清华大学出版社, 2010.62豆丁网 -3- C 语言论坛 - 编程论坛 4-3 亿文库 -5l12wE78M88yCTPnoH5aeBqyQEGKAjuKGf81vAU4Llu3Yxhwg-WKpKmfo5dZbdrG附录源程序:#include int n = 0;int rest77;void swap(int *a, int *b)int m;m = *a;*a = *b;*b = m;void perm(int list, int k, int m)int

    13、 i;int j;if(k m)for (i=0; i7; i+)for (j=0; j7; j+)if (restij = -1)return;if (restij != listi)continue;if (restij = listi)break;n+;printf(Solution: %dn, n);printf( 赵 钱 孙 李 周 吴 陈 n); printf(=n); for(i = 0; i = m; i+)switch (listi)星期一 );星期二 );星期三 );星期四 );星期五 );星期六 );星期日 );case 1: printf( break;case 2:

    14、printf( break;case 3: printf( break;case 4: printf( break;case 5: printf( break;case 6: printf( break;case 7: printf( break; default: break;printf(nnn);elsefor(i = k; i = m; i+)swap(&listk, &listi); perm(list, k + 1, m); swap(&listk, &listi);int main()int list = 1, 2, 3, 4, 5, 6, 7;int i, j;char ss720= 赵, 钱, 孙 , 李, 周, 吴, 陈;printf(= 欢 迎 使 用 排 班 系 统 =n);printf( 请输入下列人选选择休息的可能时间: n);for(i = 0; i 7; i+)printf(%s : ,ssi);for(j = 0; j 7; j+)scanf(%d, &restij);if(restij = -1) break;printf(nnn);perm(list, 0, 6); printf(total:%dn, n);getchar();getchar();return 0;


    注意事项

    本文(排班系统C语言课程设计资料.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开