用栈来设置密码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二○○六~二○○七学年第二学期

自动化学院

课程设计报告书

课程名称:C语言程序设计

班级:

学号:

姓名:

指导教师:

题目名称用栈来设置密码

学生学院自动化学院

专业班级自动化06级( 2)班

姓名卢智健

学号3106000873

一、课程设计的内容

课题十四:用栈来设置密码

用栈来做一个密码验证程序,密码认证只有三次机会

二、课程设计的要求与数据

1、进一步掌握和利用C语言进行程设计的能力;

2、进一步理解和运用结构化程序设计的思想和方法;

3、初步掌握开发一个小型实用系统的基本方法;

4、学会调试一个较长程序的基本方法;

5、学会利用流程图或N-S图表示算法;

6、掌握书写程序设计开发文档的能力。

三、课程设计应完成的工作

1、编写完成相应题目的程序;

2、编写课程设计报告,课程设计报告的内容应包括以下6个部分:

1) 需求分析:包括设计题目、设计要求以及系统功能需求分析;

2) 总体设计:包括系统总体设计框架和系统功能模块图;

3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;

4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存

在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图);

5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改

进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容;

6) 附录:主要源程序代码,含必要的注释。

3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解

决问题、运行程序和回答教师提出的问题。

四、课程设计进程安排

五、应收集的资料及主要参考文献

[1] 谭浩强.C程序设计(第三版)[M],北京:清华大学出版社,2005.9

[2] 谭浩强. C程序设计题解与上机指导(第三版)[M],北京:清华大学出版社,

2005.7

发出任务书日期: 2007年 6 月 18 日指导教师签名:

计划完成日期: 2007年 6 月 22 日基层教学单位责任人签章:

主管院长签章:

目录

1需求分析 (5)

2概要设计 (5)

3 主要原程序代码 (6)

4 详细设计 (6)

5.调试分析过程调试……………………………………………………………………10

6 总结……………………………………………………………………………………10

7 附录……………………………………………………………………………………11

8 答辩记录(正文处请留出适当空白)………………………………………………12

9 指导教师意见(正文处请留出十行空白)…………………………………………12

课题十四:用栈设置密码

运行环境:Dev-C++ 4.9.9.2

一.需求分析

1.系统主要功能

①设置一组密码

②要求输入密码,且输入时不被看到输入的字符,以*号代替

③输入密码时可以退格

④输入密码正确则显示正确

⑤输入密码错误则要求重新输入

⑥三次错误后退出

2.设计要求:

①根据以上功能需求,参考我们实际常用的图书管理系统,定义图书信息结构,是显像管功能;

②为了保证所有的数据可以长期被使用,要求程序能将录入数据存储在外部数据文件

password.db中,具体数据格式自定;

③提供良好的拥护界面,方便拥护操作。

二.概要设计

系统总体设计框架和系统功能模块图:

三.主要源程序代码

函数原型功能

char password="abcdef"; 密码,全局变量

stef struct tackyped定义栈类型

void initstack(stack *s) 初始化栈

status destroystack(stack *s) 销毁栈

void clearstack(stack *s) 把栈置为空

status stackempty(sqstack s) 判断栈空否

void push(stack *s,selemtype e) 把数据压入栈

void change(sqstack s,char *a) 将栈中的元素按反序付给a

void control(stack *s)运行输入密码程序

main()清屏

四.详细设计(主要功能模块函数)

#include<stdio.h>

#include<string.h>

#include<conio.h>

#include<stdlib.h>

#define stack_init_size 10

#define ok 1

#define true 1

#define false 0

#define error 0

char password="abcdef"; /*密码,全局变量*/

typedef char selemtype;

stef struct tackyped /*定义栈类型*/

{

selemtype *base;

selemtype *top;

int stacksize;

int length;

}sqstack,*stack;

typedef int status;

void initstack(stack *s) /*初始化栈*/

{

*s=(sqstack *)malloc(sizeof(sqstack));

(*s)->base=(selemtype *)malloc(stack_init_size*sizeof(selemtype));

if(!(*s)->base)exit(-1);

(*s)->top=(*s)->base;

相关文档
最新文档