版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、前 言随着计算机技术的发展,可视编程技术占有了越来越重要的作用。visual c+6.0 是一种功能强大行之有效的可视化编程工具。因此此软件是在visual c+6.0环境下编写的。对于我们,随着学习的深入,已经大体掌握了visual c+6.0环境下的程序开发。为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于visual c+6.0环境的软件开发,先以字符统计软件作为开始,对visual c+6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。本文档详细叙述了基于visual c
2、+6.0环境下的学生信息查询软件的设计过程以及程序源代码。本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。此次学生信息查询软件的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、类的设计和使用以及c语言语法。本文档的安排如下:第一章 主要介绍了对面向对象c语言的主要特征,visual c+6.0编程环境以及该系统的各项功能。第二章 主要的介绍说明了学生信息查询系统软件的编程思想和系统的总体流程图以及对该流程图的详细介绍。第三章 主要介绍学生信息查询系统软件的详细设计,各个分模块的单独流程图以及对设
3、计和流程图的一些介绍。第四章 主要介绍了软件软件进行调试,运行程序并截图,显示运行界面和结果。第五章 是该论文作者对这次课程设计过程中的一些感受和体会等。 1 系统概述该系统的功能是以菜单方式工作,输入密码验证正确进入菜单选择界面,用户通过选择数字来选择学生信息录入功能-输入学生基本信息,学生信息浏览功能-输出学生的基本信息,查询、排序功能-算法,按学号查询,按姓名查询。学生信息的删除与修改(可选项)的等基本的功能,从而实现用户的想法。在各项基本功能之下我们可以看到各种小的模块来满足用户的各种需求,达到快速方便的效果。程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,学生信息
4、查询系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。1.1 c语言的主要特点(1)c语言简洁、紧凑,使用方便、灵活。(2)预算符丰富。(3)数据类型丰富,具有现代语言的各种数据结构。(4)具有结构化的控制语句。(5)语法限制不太严格,程序设计自由度大。(6)c语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能可以直接对硬件进行操作。(7)生成目标代码质量高,程序执行效率高。(8)用c语言编写的程序可移植性好(与汇编语言相比)。 1.2 visual c+ 6.0运行环境图1 visual c 6.0运行环境2 概要设置2
5、.1 总体设计思想(1) 学生信息管理系统的功能为显示主要操作页面,通过密码验证登陆界面,档案信息处理功能。通过密码验证登陆,可实现安全登录,方便可靠。学生信息处理功能包括输入学生信息,显示学生的档案信息,学生档案信息条件查询(分为:按学生姓名进行查询,按学生学号进行查询),更新学生档案信息。(2) 学生信息管理系统的功能模块有:系统登陆界面,美观大方,按enter键进入密码验证登陆界面,输入正确密码登陆主菜单选择框架界面,方便用户对程序个功能进行选择,选择要实现的功能按enter键进入该功能。1. 输入学生档案信息。2. 显示学生的档案信息3. 学生档案信息条件查询4. 更新学生档案信息。0
6、. 退出,谢谢使用!程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。2.2 总体设计流程图学生信息管理系统密码登陆界面登陆主菜单选择框架界面输入信息模块显示信息模块条件查询模块更新信息模块退出系统模块从键盘输入信息输出信息至屏幕按学生学号查询按学生姓名查询修改学生信息插入学生信息将退出界面显示图2 总体设计流程图 该流程图为此次学生信息查询系统的总体流程图,用户进入界面以后可以看到登陆密码界面,密码输入正确进入主菜单选择框架界面,1为输入学生信息档案,2为显示学生档案,3为学生信息档案查询,4为更新学生档案,0为退出系统。用户可以根据自己的需求方便快捷的做出自己的选择。3 系统
7、详细设计3.1 头文件的引用和函数的声明#include/*标准输入输出函数库*/#include /*字符串函数库*/#include /*/#include static int m=0; struct record/*学生信息结构体*/ int num; char name30; char sex; float tel;int age;char xibiebanji80; stu500; void password();void recordplatform();/*系统标题函数声名*/void xuanzekuangjia();/*选择框架函数声名*/void tuichuxitong
8、();/*0.退出学生档案信息系统函数声名*/void shuruxinxi();/*1.输入学生档案信息函数声名*/void xianshixinxi();/*2.显示档案信息函数声名*/void tiaojianchaxun();/*3.学生档案信息条件查询函数声名*/void gengxinxinxi();/*4.更新学生信息函数声名*/该函数是对头文件的加载和引用,定义结构体、常量和变量,并对他们进行初始化工作。3.2 系统主调函数/*-主调函数-*/*主函数*/void main() printf(n);printf(n);printf(n);printf(-大家好- -n);pri
9、ntf(n);printf(n);printf(n);printf(n);printf(n);printf( 老师您好!n); printf(n); printf(n);printf(n);printf(n); printf(n);printf( -【学生档案信息管理系统】-n);printf(n);system(pause); system(cls); fflush(stdin); password();/*密码登陆验证函数调用*/recordplatform();/*系统标题函数调用*/xuanzekuangjia();/*选择框架函数调用*/该函数为程序的主函数,主要实现了对整个程序的运
10、行控制,以及相关功能模块的调用。3.3 密码验证函数/*通过对比字符串数组比较实现密码校验*/void password()int s,g=0; char str120=123456 ;char str220;do printf( *n); printf(n);printf( 请 输 入 密 码 :n);printf(n);printf( *n);gets(str2);/*while()if(str1g=str2g)s=1;else s=0;break;g+;*/if(!strcmp(str1,str2) /*比较输入的密码str1和设定的密码str2, 输出“密码正确”。*/printf(密
11、码输入正确n);s=1;elses=0;printf(密码输入错误,请从新输入n);while(s=0);密码登陆函数流程图:密码函数开始登陆密码重新登陆密码正确密码错误该函数为密码登陆函数模块,当输入的密码不正确的时候,系统会提示“密码输入错误,请重新输入”,直到输入正确密码为止。3.4 选择框架函数/*-程序名称-*/void recordplatform()printf(n);printf(n);printf( - n);printf( |* 学生档案信息管理系统 *| n);printf( - n);printf(n);printf(n);/*-选择框架-*/void xuanzeku
12、angjia() int j,k;char w;printf( - n); printf( 欢迎使用学生档案信息管理系统 n); printf( - n); printf( 1.输入学生档案信息 n); printf( - n); printf( 2.显示学生的档案信息 n); printf( - n); printf( 3.学生档案信息条件查询 n); printf( - n); printf( 4.更新学生档案信息 n); printf( - n); printf( 0.退出,谢谢使用! n); printf( - n); sleep(500); /*/printf(请选择你要进行的工作:
13、n); do /*输入不能空,也不能是字母,当输入字母的 时候,会提示不能为字母,请重新输入”。*/ scanf(%d,&j); k=1; while(w=getchar()!=n) k=0; if(k=0) printf(不能为字母,请重新输入n);elsebreak; while(k=0);switch(j) /*运用switch语句根据需要进行菜单选择*/ case 1: system(cls); shuruxinxi(); system(cls); system(pause); system(cls); xuanzekuangjia();break;/输入学生档案信息函数调用 case
14、 2: system(cls); xianshixinxi(); system(pause);system(cls); xuanzekuangjia();break;显示档案管理系统选择框架函数调用 case 3: system(cls); tiaojianchaxun(); system(pause);system(cls); xuanzekuangjia();break; /*学生档案信息条件查询函数调用*/ case 4: system(cls); gengxinxinxi(); system(pause);system(cls); xuanzekuangjia();break; /*更
15、新学生档案信息函数调用*/ case 0: system(cls); tuichuxitong();break; /*退出程序函数调用*/ 选择框架函数流程图:选择框架函数开始用户选择1输入信息2 显示信息3 查询信息4 更新信息0退出 进入学生档案管理系统时显示程序名称和选择框架主菜单,提示用户进行选择,完成相应任务。此代码被main()函数调用。3.5 输入学生信息函数/*-输入学生档案信息-*/调用函数输入学生信息void shuruxinxi() int k; char ans,w; ans=y; do printf(请输入第%d个学生的信息:n,m+1); do /*学号的输入*/
16、printf(请输入学生的学号num:);/scanf(%d,&stum.num);/结构体do scanf(%d,&stum.num); /*输入数据*/k=1; while(w=getchar()!=n) k=0; if(k=0) printf(不能为字母,请重新输入n);elsebreak; while(k=0); if(stum.num 1000 | stum.num 1000 | stum.num 160000000000| stum.tel16000000000 | stum.tel 0); do /*年龄的输入*/ printf(请输入学生的年龄:); do scanf(%d,&
17、stum.age);k=1; while(w=getchar()!=n) k=0; if(k=0) printf(不能为字母,请重新输入n);elsebreak;while(k=0); if(stum.age 100 | stum.age 100 | stum.age 0); /*系别班级的输入 */ printf(请输入学生的系别班级:); scanf(%s,stum.xibiebanji); m+; printf(n是否继续添加学生信息?是就输入y或y,不是就输入另外任意字符:n); scanf(%s,&ans); while( ans = y|ans = y); 输入信息函数流程图:输入
18、信息系统开始输入学号输入姓名输入性别输入联系方式输入班级输入错误重新输入 输入学生信息函数模块,用户可以根据提示的信息来进行每一步的输入操作,当输入不当时,系统会自动提示,并让用户进行正确的操作。在此系统中,要求用户输入的只有字符型和数值型数据,设计了相应的函数来进行数据校验工作,保证数据输入的准确性。3.6 显示学生信息函数/*-显示学生的档案信息-*/void xianshixinxi() struct record *p; printf(以下就是显示的学生成绩信息:n); printf(num xibiebanji name sex age tel n); for(p=stu;pnum)
19、; printf(%14s,p-xibiebanji); printf(%10s,p-name); printf(%12c,p-sex); printf(%7d,p-age); printf(%17fn,p-tel); 显示信息流程图:显示信息函数开始输出学生信息结束 当用户进入查询信息模块时,系统会显示内部存储的内容。3.7 学生信息条件查询函数/*-学生档案信息条件查询-*/void tiaojianchaxun() int i,j,k; struct record *p=null; char name30; printf(请输入1或0两个数字,输入1进行学号查询,输入0进行姓名查询);
20、scanf(%d,&k); do if(k!=1&k!=0) printf(请重新输入:); scanf(%d,&k); while(k!=1&k!=0); if(k=1) do /*按学生学号进行查询*/ printf(请输入学号进行查询(11000)号:-); scanf(%d,&i); for(j=0;jm;j+) if(stuj.num=i) for(p=stu;pnum); printf(%14s,p-xibiebanji); printf(%10s,p-name); printf(%12c,p-sex); printf(%7d,p-age); printf(%17fn,p-tel)
21、; break; if(stuj.num!=i) printf(您输入的学号不存在-:);while(stuj.num!=i); if(k=0) /*按学生姓名进行查询*/ do printf(请输入你所要查询的学生的姓名:); scanf(%s,name); for(j=0;jm;j+) if(strcmp(,name)=0)/字符串函数 for(p=stu;pnum); printf(%14s,p-xibiebanji); printf(%10s,p-name); printf(%12c,p-sex); printf(%7d,p-age); printf(%17fn,p-
22、tel); break; if(strcmp(,name)!=0) printf(对不起您输入的学生姓名不存在。); while(strcmp(,name)!=0); 查询信息流程图:选择按姓名还是学号查询选择查询函数开始输入错误重新输入0按姓名查询1按学号查询输出信息输出信息 当用户执行此查询任务时,系统会提醒用户进行查询字段的选择,即按学号或姓名进行查询。若此学生档案信息记录存在,则会显示该省的档案信息。此函数完成了节点定位的功能。3.8 更新学生信息函数/*-更新学生档案信息-*/void gengxinxinxi() int i,j,k; struc
23、t record *p=0; printf(请输入要更改的学生的学号(110)号:-); /*输入并校验该生信息*/ scanf(%d,&i); do for(j=0;jm;j+) if(stuj.num=i) printf(以下是你要更改的信息:n); for(p=stu;pnum); printf(%14s,p-xibiebanji); printf(%10s,p-name); printf(%7d,p-age); printf(%17fn,p-tel); 待添加的隐藏文字内容3 break; if(stuj.num!=i) printf(该学号不存在,请重新输入:); scanf(%d,
24、&i); while(stuj.num!=i); printf(请输入更改后学生的新信息:n); scanf(%d%s%s%d%f,&stuj.num,&stuj.xibiebanji,&,&stuj.age,&stuj.tel);do for(k=0;km;k+) if(j=k) k=k+1; if(stuj.num=stuk.num) printf(对不起您输入更改后学生的新信息错误,请重新输入:n); scanf(%d%s%s%d%f,&stuj.num,&stuj.xibiebanji,&,&stuj.age,&stuj.tel); break; i
25、f(stuj.num!=stuk.num) printf(修改信息成功。); /*提示修改信息成功*/ while(stuj.num=stuk.num); printf(以下是你更改后的学生的新信息:n); for(p=stu;pnum); printf(%14s,p-xibiebanji); printf(%10s,p-name); printf(%7d,p-age); printf(%17fn,p-tel); 更新信息流程图:更改信息函数开始输入要更改的学号输入错误输入更改后信息输入错误重新输入重新输入输出更改后信息完成 在更新学生档案信息的操作中,系统会先按输入的学号查询到该生档案信息记
26、录,然后按顺序填入要修改的学生信息。3.9 退出学生信息系统函数/*-退出学生档案信息管理系统调用函数-*/void tuichuxitong()printf( -【学生档案信息管理系统】-n);printf(n);printf(n);printf( 老师再见!n);printf( bye-byen);printf(n);printf( n);printf(n);printf( n);printf( n);printf(n);printf( n);printf( 山 电 n);printf( 东 信 n);printf( 交 0 n);printf( 通 6 n);printf( 学 1 n)
27、;printf( 院 班 n);printf( n);printf( n);printf( 再见n);4 程序调试4.1 学生信息管理系统初始界面当进入学生档案管理系统时,其系统初始界面如图图411所示。按任意键进入密码验证校验面。图41学生档案管理系统初始界面图4.2 密码登陆界面输入预先设定好的密码再按enter进入系统。如果输入不正确,则显示“密码输入错误,请重新入”。图42密码登陆界面图4.3 登陆主菜单选择框架界面进入主菜单选择框架界面后,用户可选择04,调用相应功能进行操作。当输入为0时,退出学生档案管理系统。图43登陆主菜单选择框架界面图4.4 输入信息模块当用户输入1并按enter键后,即可进入数据输入界面。其数据输入过程如图所示图441所示,这里输入了一条学生的档案信息。图44输入信息模块图4.5 显示信息模块当用户执行了输入记录后,退处输入信息模块后,输入2并按enter键,查看当前单链表中学生档案信息,如图451所示,此时表中有1条记录。 图45显示信息模块图4.6 条件查询模块当用户输入3并按enter键后,即可进入条件查询界面。校验输入错误信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国画故宫课件教学课件
- 2024年保卫服务合同
- (完整版)特种设备应急预案
- 2024年建筑工地木工班组劳务承包合同
- 2024年度生态补偿机制实施合同
- 2024年应急运输响应合同
- 激励学生课件教学课件
- 2024年度教育设备采购与维护合同
- 2024年度欧洲汽车制造与销售合同
- 2024年大宗商品物流合同
- (档案管理)消防安全档案
- 对话大国工匠 致敬劳动模范学习通超星期末考试答案章节答案2024年
- 华能(天津)煤气化发电限公司2024年应届毕业生招聘高频难、易错点500题模拟试题附带答案详解
- 汽车检测技术 课程设计
- 七年级语文上册18-我的白鸽课件
- 素描入门基础画单选题100道及答案解析
- 期中模拟检测(1-3单元)2024-2025学年度第一学期苏教版一年级数学
- 四川省食品生产企业食品安全员理论考试题库(含答案)
- 机织服装生产中的质量控制体系建设考核试卷
- 病理学实验2024(临床 口腔)学习通超星期末考试答案章节答案2024年
- 2024年广西安全员C证考试题库及答案
评论
0/150
提交评论