数据结构C语言版项目案例文档.docxVIP

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

教学质量评价系统登录模块设计

一、项目描述

大部分应用软件都需要注册和登录才能使用,高校的教学质量评价系统也不例外,我们可以利用C语言实现教学质量评价系统登录模块设计,要求要对多名教师信息进行初始化,教师信息包括账号、密码和权限3个部分,然后输入当前教师的账号、密码和权限进行验证,如果账号和密码均正确,再继续判断权限类别,权限分为“教学督导”和“普通教师”两类。如果账号和密码多次验证都是错误,则显示“账号或者密码错误,登录失败!”,系统流程图如图1-1所示。

输出“登录失败”≤N初始化N名教师信息输入当前教师信息

输出“登录失败”

≤N

初始化N名教师信息

输入当前教师信息

是否否

是否

否验证成功

验证成功

是否

是否

权限等于1

权限等于1

否是否

是否

输出“普通教师”输出“教学督导”

输出“普通教师”

输出“教学督导”

图1-1系统流程图

二、项目分析

实例中的某位教师所有信息可以称为一个数据元素,由账号、密码和权限3个数据项组成。首先,教师信息类型采用结构体类型实现,其中成员包括账号、密码和权限3个部分,并且定义一维数组存储多名教师信息,也就是教师信息的初始化,然后,输入当前教师的账号、密码和权限,利用循环结构依次与初始化的教师信息进行比较,比较过程中利用选择嵌套结构进行判断,如果账号和密码均正确,再继续判断权限是否等于1,如果等于1,则显示“教学督导”,否则显示“普通教师”,不再继续比较;如果账号和密码多次验证都是错误,则显示“账号或者密码错误,登录失败!”。

三、项目实现

#includestdio.h

#includestring.h

//用户结构体定义

typedefstruct

{

longid;

charpwd[6];

intpms;

}user;

userusers[50];//数组定义,用来存储多名个教师信息

voidinit(intn)//输入教师信息

{

user*p;

inti;

p=users;//指针的应用

printf(请管理员输入教师信息:\n);

for(i=0;in;i++)

scanf(%ld%s%d,p[i].id,p[i].pwd,p[i].pms);

}

main()

{

longtid;

chartpwd[6];

inttpms;

inti,n;

printf(请输入教师数量:);

scanf(%d,n);

init(n);//调用输入教师信息函数

printf(请您输入账号、密码和权限:);

scanf(%ld%s%d,tid,tpwd,tpms);

for(i=0;in;i++)

{

if(tid==users[i].idstrcmp(tpwd,users[i].pwd)==0)//验证

{

if(tpms==1)

printf(教学督导\n);

else

printf(普通教师\n);

break;

}

}

if(i==n)

printf(账号或者密码错误,登录失败!\n);

}

四、结果验证

约瑟夫问题方案设计

一、项目描述

M个人围成一圈,从第一个人开始依次从1循环报数,每当报数为N时此人从圈中出来,下一个人又从1开始报数,直到圈中只剩下一个人为止。请按退出次序输出出圈人员的编号以及留在圈中的最后一个人原来的编号。实例描述图如图2-1所示。

(a)报数到第3个人(b)第3个人退出,报数到第6个人(c)第6个人退出

图2-1约瑟夫实例描述图

二、项目分析

M个人围成一圈,就是将M个人的信息存入到一维数组中,当下标达到最大值后重新归零,模拟为循环结构,从某个人(下标:start)开始依次从1循环报数,每当报数为N时此人从圈中出来,就是将定位到报数为N(下标:start+N-1)的人删除并输出该人信息,下一个人又从1开始报数,报数为N的人再次删除并输出该人信息,直到圈中只剩下一个人为止,采用数组存储数据,过程如图2-2所示,假设有10个人,从第一个人开始报数,报数为5的人出圈。

初始化结构:

下标

0

1

2

3

4

5

6

7

8

9

编号

2

3

4

5

6

7

8

9

10

第一次出圈的人为5号,后面的人前移,从6号开始报数:

下标

0

1

2

3

4

5

6

7

8

9

编号

1

2

3

4

7

8

9

10

第二次出圈的人为10号,从1号开始报数:

下标

0

1

2

3

4

5

6

7

8

9

编号

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档