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

    高级C语言课程设计说明书计算机等级考试管理系统Word文件下载.docx

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

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

    高级C语言课程设计说明书计算机等级考试管理系统Word文件下载.docx

    1、第二章详细设计:2.1 需求分析 152.1.1 系统简介 152.1.2 功能详述 152.1.3 开发环境 152.1.4 运行环境 15 2.2 函数说明 16 2.3 用户使用说明 16 2.4 测试结果 2.4.1 主控模块 17 2.4.2 数据输入 18第三章 设计感悟: 3.1 小结 21 3.2 参考文献 22第四章 附录 : 4.1 源程序 22第一章1.1 模块化分本程序系统从大的方向分为数据模块和代码模块。数据模块用一个单链表来存储数据,然后用一个指针域将链表中的数据存放到磁盘文件中进行保存。代码模块主要用于程序相关功能的实现。以下分模块介绍:数据模块,单链表如下:ty

    2、pedef struct student char num9; char name13; char rang2; char college15; int ttscore; int opscore; char sex2; char ID19;用typedef定义结构体类型数据,用以存放考生的相关信息。其中,num存放考生的考号,name存放考生的姓名,rang存放考生的等级,college存放考生的学校名,ttscore存放考生的笔试成绩,opscore存放考生的机试成绩,sex存放考生的性别,ID存放考生的身份证号码。typedef struct node struct student dat

    3、a;/*数据域*/ struct node *next;/*指针域*/ NODE,*link; 该链表将上一个链表作为其元素,构成其数据域,然后定义自身机构提类型,作为指针域,以便下文查找链表的位置。NODE为结构体类型变量,ling为结构体类型指针。 代码模块,用不同的函数完成不同的功能,并能通过函数的有机结合,完成复杂的输入,查询,删改等功能。主要分为以下几个大块:1 添加信息 void add(),用于新增考生记录。2 删除信息 void del(),用于删除已有的考生记录。3 查找信息 void qur(),用于在文件中查找相关字段的记录。4 修改信息 void modify(),用于

    4、修改文件中已有的记录。5 保存信息 void save(),用于存储新增加的记录。6 显示信息 void disp(),用于显示已有的考生记录。7 显示错误 void wrong(),当输入的不是规定的字段时,或操作失败时,系统提示出错情况,以及出错原因,提示用户进行修改。8 显示查找失败 void Nofind(),当进行查找或者修改操作时,系统会根据用户输入的字段进行查找,确定相应的记录位置,当没有找到相应的记录时,输出查找失败信息,并提醒用户进行校正。9 标准字符输入函数 void stringinput (char *t,int lens,char *notice),输入相应的字符串,

    5、并进行检验,如果输入有误,则输出错误原因,提示用户进行修改。10 标准数字输入函数 int numberinput(char *choice),输入数字字符串,并进行检验,若果有错,则输出出错原因,提示用户进行修改。11 输出数据函数 void printdata(NODE *pp),将结构体数据进行整体输出。12 输出表头函数 void printheader(),将结构体数据,即考生记录按类似表格的形式进行整体规划分栏输出。13 确定记录位置 NODE *Locate (link L, char findmess,char nameornum,将用户输入的信息进行相应的处理,找到相应的位置

    6、,对指针进行定位查找。14 主控函数 void main (),用于对整个程序进行操作的控制。以下是函数结构简图:1.2模块说明 主控函数 viod main(),以下是其代码:void main() link L; FILE *fp; int select ; char ch; int count=0; NODE *p,*r; L=(NODE*)malloc(sizeof(NODE); if(!L) printf(n Allocate memory failure);/*如果没有申请到,打印提示信息*/ return ; L-next=NULL; r=L; fp=fopen(e:wintcs

    7、tudent,ab+/*以追加方式打开一个二进制文件,可读可写,若文件不存在,会创建此文件*/ if(fp=NULL)n=Can not open this file!n exit(0); while(!feof(fp) p=(NODE*)malloc(sizeof(NODE) ;p)Memory malloc failure ! exit(0) ; if(fread(p,sizeof(NODE),1,fp)=1)/*一次从文件中读取一个学生的信息*/ p- /*每次让动态指针指向0*/ r-next=p; /*连接节点*/ r=p; /*每次让r指向下一个文件头*/ count+; fclo

    8、se(fp);n=Open file success,the totle number is :%dn,count); menu(); while(L) system(cls p=r;n =Please enter your choice (0-6): scanf(%d,&select); if(select=0) if(saveflag=1)/*若对链表的数据有修改且未进行存盘,则标志为1*/ getchar();n=Whether to save the modified record to file? (y/n)%cch); if(ch=y|ch=Y) save(L); = Thank

    9、you for using this program ! getchar(); switch(select) case 1:add(L);break; /*增加学生信息*/ case 2:del(L); /*删除学生信息*/ case 3:qur(L); /*查询学生信息*/ case 4:modify(L); /*修改学生信息*/ case 5:save(L); /*保存学生信息*/ case 6:system(disp(L); /*显示学生信息*/ default:wrong();getchar(); /*按键有误*/ 首先,以计算机动态分配的方式,分配一个结构体类型的数据空间,然后,打开

    10、数据文件,将两个结构联系起来,并设置进入和退出方式。进而,进入双while()主循环,首先,动态分配数据存储巍峨年结构体,然后,设置读取方式,每次从文件中读取一个考生记录,并且计数,然后输出已有的考生记录。下一步,进入内部while 循环,显示菜单,提示用户进行合理的操作。接着,用switch()开关设置菜单操作响应,并设置出错响应。 以下是六个功能函数的简介: 输入记录函数 add() void add(link L) NODE *p,*r,*s; char ch,num9;int flag=0; s=L-next; disp(L); while(r-next!=NULL) r=r-/*将r

    11、移至表的最尾部,准备添加数据*/ stringinput(num,9,Input sortnumber (Press 0to return menu): if(strcmp(num,0)=0)/*输入为0则返回主界面*/ return ; while(s) if(strcmp(s-data.num,num)=0) flag=1; s=s- if(flag=1)=The number %s is existing ,try again? (y/n):,num); continue ; else return ; else break; p=(NODE*)malloc(sizeof(NODE);n

    12、 Allocate memory failure ! strcpy(p-data.num,num); stringinput(p-data.name,13,Name:data.sex,2,Sex :data.college,15,college :data.ID,19,ID number :data.ttscore=numberinput(Textscore score 0-100:data.opscore=numberinput(Operatescore score 0-100:data.rang,2,Range :/*表明这是链表的尾部节点*/ /*将新建节点加入链表尾部中*/ savef

    13、lag=1;应用单链表结构,在内存空间动态存储数据。首先对输入的数据进行检测,看是否已经存在,然后,进行数据的输入。用结构体指针进行数据的存储操作,每次输入一个数据,将其用结构体元素的形态存入结构体,然后整体存入文件。 查找数据函数 void qur() void qur(link L) char searchinput20; NODE *p;L-next) system(No student record ! 1 按考号查找 = 2 按姓名查找 n 3 按身份证号查找 nplease choice : if(select=1) stringinput(searchinput,9,Input

    14、the existing sortnumber : p=Locate(L,searchinput,num if(p) printheader(); printdata(p); printf(END);Press any key to return else Nofind(); else if(select=2) stringinput(searchinput,13,Input the existing name :name else if(select=3) stringinput(searchinput,19,Input the existing ID :IDelse wrong();根据标

    15、准输入函数输入的数据,进行检测并设置不同的查询方式,用户可以根据喜好,进行相应的选择,分为考号查询,身份证号查询,姓名查询。如果找到相应的记录,以表格的形式输出数据,没找到,则输出错误信息。 删除记录函数 void del()void del(link L) int sel ; char findmess20;=1 按考号删除 =2 按姓名删除 n3 按身份证号删除 nPlease select :sel); if(sel=1) stringinput(findmess,9,Input the sortnumber : p=Locate(L,findmess,=p)next=p-/*将p所指的

    16、节点从链表中删除*/ free(p);Delete success !saveflag=1; else if (sel=2) stringinput(findmess,13,Input the student name : if(sel=3) stringinput(findmess,19, Input the student IDnumber : else wrong();本函数与查找函数相似,提供了姓名,考号,身份证号三种查询方式,用户可自由选择。系统将根据用户的选择进行不同的检测,找到记录后,提示用户确定后进行记录的删除操作。 修改记录函数 void modify() void modi

    17、fy (link L)Modify student record Input the existing student number :p) printf(The number you put is not existing ! nreturn ;Number :%s,n,p-data.num);Name :data.name); Input new name :data.num,9, Input sortnumber : Input the finall rang : Input the ID number : Input the college name : Input the sex :

    18、 n The original textscore score :%d,data.ttscore); n The original Operatescore score :%d,ndata.opscore); The the new textscore is: The the new operatescore is:Modify success ! else Nofind();修改记录操作被选中时,系统先提示用户输入相应的字段,系统根据用户提供的字段进行检测,找到记录后,输出原有的记录,然后让用户自行修改记录,完成后返回到菜单。如果没找到相应的记录,则输出错误信息。 保存新纪录函数void save (link L) void save(link L)NODE *p;wb=


    注意事项

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

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




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

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

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


    收起
    展开