学生信息管理系统课程设计论文.doc
《学生信息管理系统课程设计论文.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统课程设计论文.doc(26页珍藏版)》请在咨信网上搜索。
学生信息管理系统课程设计论文 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 2 个人收集整理 勿做商业用途 前 言 随着计算机技术的发展,可视编程技术占有了越来越重要的作用.Visual C++6。0 是一种功能强大行之有效的可视化编程工具。因此此软件是在Visual C++6.0环境下编写的。对于我们,随着学习的深入,已经大体掌握了Visual C++6.0环境下的程序开发.为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于Visual C++6.0环境的软件开发,先以字符统计软件作为开始,对Visual C++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利. 本文档详细叙述了基于Visual C++6。0环境下的学生信息查询软件的设计过程以及程序源代码。 本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。 此次学生信息查询软件的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、类的设计和使用以及C语言语法。 本文档的安排如下: 第一章 主要介绍了对面向对象C语言的主要特征,Visual C++6.0编程环境以及该系统的各项功能。 第二章 主要的介绍说明了学生信息查询系统软件的编程思想和系统的总体流程图以及对该流程图的详细介绍。 第三章 主要介绍学生信息查询系统软件的详细设计,各个分模块的单独流程图以及对设计和流程图的一些介绍。 第四章 主要介绍了软件软件进行调试,运行程序并截图,显示运行界面和结果。 第五章 是该论文作者对这次课程设计过程中的一些感受和体会等. 1 系统概述 该系统的功能是以菜单方式工作,输入密码验证正确进入菜单选择界面,用户通过选择数字来选择学生信息录入功能-—-输入学生基本信息,学生信息浏览功能——-输出学生的基本信息,查询、排序功能—--算法,按学号查询,按姓名查询.学生信息的删除与修改(可选项)的等基本的功能,从而实现用户的想法。在各项基本功能之下我们可以看到各种小的模块来满足用户的各种需求,达到快速方便的效果。 程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,学生信息查询系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。 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。1 总体设计思想 (1) 学生信息管理系统的功能为显示主要操作页面,通过密码验证登陆界面,档案信息处理功能。 通过密码验证登陆,可实现安全登录,方便可靠.学生信息处理功能包括输入学生信息,显示学生的档案信息,学生档案信息条件查询(分为:按学生姓名进行查询,按学生学号进行查询),更新学生档案信息. (2) 学生信息管理系统的功能模块有: 系统登陆界面,美观大方,按enter键进入密码验证登陆界面,输入正确密码登陆主菜单选择框架界面,方便用户对程序个功能进行选择,选择要实现的功能按enter键进入该功能。 1. 输入学生档案信息。 2. 显示学生的档案信息 3。 学生档案信息条件查询 4。 更新学生档案信息。 0. 退出,谢谢使用!!! 程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。 2.2 总体设计流程图 学生信息管理系统 密码登陆界面 登陆主菜单选择框架界面 输入信息模块 显示信息模块 条件查询模块 更新信息模块 退出系统模块 从键盘输入信息 输出信息至屏幕 按学生学号查询 按学生姓名查询 修改学生信息 插入学生信息 将退出界面显示 图2 总体设计流程图 该流程图为此次学生信息查询系统的总体流程图,用户进入界面以后可以看到登陆密码界面,密码输入正确进入主菜单选择框架界面,1为输入学生信息档案,2为显示学生档案,3为学生信息档案查询,4为更新学生档案,0为退出系统。用户可以根据自己的需求方便快捷的做出自己的选择。 3 系统详细设计 3.1 头文件的引用和函数的声明 #include〈stdio。h>/*标准输入输出函数库*/ #include<string。h〉 /*字符串函数库*/ #include<windows。h〉 /**/ #include 〈ctype。h> static int m=0; struct record/*学生信息结构体*/ { int num; char name[30]; char sex; float tel; int age; char xibiebanji[80]; }stu[500]; void password(); void recordplatform();/*系统标题函数声名*/ void xuanzekuangjia();/*选择框架函数声名*/ void tuichuxitong();/*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"); printf("\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();/*选择框架函数调用*/ } 该函数为程序的主函数,主要实现了对整个程序的运行控制,以及相关功能模块的调用。 3。3 密码验证函数 /*通过对比字符串数组比较实现密码校验*/ void password() { int s,g=0; char str1[20]={”123456 "}; char str2[20]; do { printf(” ***************************************************\n"); printf(”\n”); printf(" ★★★★★★★★ 请 输 入 密 码 :★★★★★★★★\n”); printf("\n”); printf(" ***************************************************\n"); gets(str2); /* while() { if(str1[g]==str2[g]) s=1; else { s=0;break; } g++; } */ if(!strcmp(str1,str2)) /*比较输入的密码str1和设定的密码str2, { 输出“密码正确"。*/ printf("密码输入正确\n”); s=1; } else { s=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 xuanzekuangjia() { 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(”请选择你要进行的工作:\n”); do /*输入不能空,也不能是字母,当输入字母的 { 时候,会提示"不能为字母,请重新输入"。*/ scanf(”%d”,&j); k=1; while(w=getchar()!='\n’) k=0; if(k==0) printf(”不能为字母,请重新输入\n”); else break; }while(k==0); switch(j) /*运用switch语句根据需要进行菜单选择*/ { case 1: system("cls"); shuruxinxi(); system(”cls"); system("pause”); system(”cls"); xuanzekuangjia();break;//输入学生档案信息函数调用 case 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; /*更新学生档案信息函数调用*/ 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 /*学号的输入*/ { printf("请输入学生的学号num<1-1000〉:::”); //scanf(”%d",&stu[m]。num);//结构体 do { scanf("%d",&stu[m]。num); /*输入数据*/ k=1; while(w=getchar()!=’\n’) k=0; if(k==0) printf(”不能为字母,请重新输入\n”); else break; }while(k==0); if(stu[m].num > 1000 || stu[m].num<=0) /*输入字符串,并进行长度验证*/ { printf(”输入错误—-请重新输入:\n”); /*显示提示信息*/ } }while(stu[m].num 〉 1000 || stu[m].num<=0); printf("请输入学生的姓名:::"); /*姓名的输入*/ scanf(”%s”,stu[m]。name); do /*学生性别的输入*/ { printf("请输入学生的性别,男生输M女生输W:::"); scanf(”%s”,&stu[m]。sex); if(stu[m]。sex !=’M' &&stu[m]。sex !=’W’) { printf("输入错误-—请重新输入:\n”); } }while(stu[m].sex !=’M’ &&stu[m]。sex !='W'); do /*联系方式的输入*/ { printf("请输入学生的联系方式:::”); do { scanf(”%f",&stu[m].tel); k=1; while(w=getchar()!=’\n') k=0; if(k==0) printf("不能为字母,请重新输入\n"); else break; }while(k==0); if(stu[m].tel > 160000000000|| stu[m]。tel<0) { printf("输入错误—-请重新输入:\n"); } }while(stu[m]。tel >16000000000 || stu[m].tel 〈 0); do /*年龄的输入*/ { printf(”请输入学生的年龄〈0--100>:"); do { scanf(”%d”,&stu[m]。age);k=1; while(w=getchar()!='\n’) k=0; if(k==0) printf("不能为字母,请重新输入\n”); else break; }while(k==0); if(stu[m]。age 〉 100 || stu[m]。age 〈 0) { printf("输入错误--请重新输入:\n"); } }while(stu[m].age > 100 || stu[m].age < 0); /*系别班级的输入 */ printf(”请输入学生的系别班级:::”); scanf("%s",stu[m]。xibiebanji); m++; printf(”\n是否继续添加学生信息?是就输入y或Y,不是就输入另外任意字符:\n"); scanf("%s”,&ans); }while( ans == ’y’||ans == 'Y'); } 输入信息函数流程图: 输入信息系统开始 输入学号 输入姓名 输入性别 输入联系方式 输入班级 输入错误 重新输入 输入学生信息函数模块,用户可以根据提示的信息来进行每一步的输入操作,当输入不当时,系统会自动提示,并让用户进行正确的操作。在此系统中,要求用户输入的只有字符型和数值型数据,设计了相应的函数来进行数据校验工作,保证数据输入的准确性。 3。6 显示学生信息函数 /*-——-——-————-——-—-——-——-—---——-——-显示学生的档案信息—-—--————--—-——--—-----—---——--—-—-—-*/ void xianshixinxi() { struct record *p; printf(”以下就是显示的学生成绩信息:\n”); printf("num xibiebanji name sex age tel \n"); for(p=stu;p<stu+m;p++) /*指针指向的内容为系统存储的学生信息,用户可以在 { 查询结果中看到系统的存储内容*/ printf(”%—7d”,p—>num); printf(”%14s”,p—〉xibiebanji); printf("%10s",p—>name); printf(”%12c",p—〉sex); printf("%7d”,p-〉age); printf(”%17f\n",p->tel); } } 显示信息流程图: 显示信息函数开始 输出学生信息 结束 当用户进入查询信息模块时,系统会显示内部存储的内容。 3。7 学生信息条件查询函数 /*————------————-——--—--——---学生档案信息条件查询—-—-—-—-———-—---————---—---—---—--—-*/ void tiaojianchaxun() { int i,j,k; struct record *p=NULL; char Name[30]; printf("请输入1或0两个数字,输入1进行学号查询,输入0进行姓名查询"); scanf(”%d",&k); do { if(k!=1&&k!=0) { printf(”请重新输入:"); scanf("%d",&k); } }while(k!=1&&k!=0); if(k==1) { do { /*按学生学号进行查询*/ printf("请输入学号进行查询(1~1000)号::—>>"); scanf(”%d”,&i); for(j=0;j〈m;j++) { if(stu[j]。num==i) { for(p=stu;p<stu+m;p++) { printf("num xibiebanji name sex age tel \n”); printf("%—7d",p—〉num); printf(”%14s",p-〉xibiebanji); printf(”%10s”,p->name); printf("%12c”,p->sex); printf("%7d",p->age); printf("%17f\n”,p->tel); } break; } } if(stu[j]。num!=i) printf(”您输入的学号不存在-——:”); }while(stu[j]。num!=i); } if(k==0) { /*按学生姓名进行查询*/ do { printf(”请输入你所要查询的学生的姓名:>〉"); scanf("%s",Name); for(j=0;j<m;j++) { if(strcmp(stu[j]。name,Name)==0)//字符串函数 { for(p=stu;p<stu+m;p++) { printf("num xibiebanji name sex age tel \n"); printf("%-7d”,p—〉num); printf(”%14s",p-〉xibiebanji); printf(”%10s”,p—>name); printf(”%12c”,p-〉sex); printf(”%7d",p—>age); printf(”%17f\n”,p-〉tel); } break; } } if(strcmp(stu[j].name,Name)!=0) printf("对不起您输入的学生姓名不存在.”); }while(strcmp(stu[j]。name,Name)!=0); } } 查询信息流程图: 选择按姓名还是学号查询 选择查询函数开始 输入错误 重新输入 0按姓名查询 1按学号查询 输出信息 输出信息 当用户执行此查询任务时,系统会提醒用户进行查询字段的选择,即按学号或姓名进行查询.若此学生档案信息记录存在,则会显示该省的档案信息。此函数完成了节点定位的功能. 3.8 更新学生信息函数 /*-——----——-——----—-—-——-—-——-——-—更新学生档案信息-———-————--————-—-—————-----———-—-—*/ void gengxinxinxi() { int i,j,k; struct record *p=0; printf("请输入要更改的学生的学号(1~10)号::—>>"); /*输入并校验该生信息*/ scanf(”%d",&i); do { for(j=0;j〈m;j++) { if(stu[j].num==i) { printf("以下是你要更改的信息:\n"); for(p=stu;p〈stu+m;p++) { printf(”num xibiebanji name age tel \n”); printf(”%-7d”,p—〉num); printf("%14s”,p—>xibiebanji); printf(”%10s”,p->name); printf("%7d",p—〉age); printf("%17f\n",p—〉tel); } break; } } if(stu[j]。num!=i) { printf(”该学号不存在,请重新输入:”); scanf("%d",&i); } }while(stu[j].num!=i); printf(”请输入更改后学生的新信息:\n"); scanf(”%d%s%s%d%f”,&stu[j].num,&stu[j].xibiebanji,&stu[j]。name,&stu[j]。age,&stu[j]。tel); do { for(k=0;k<m;k++) { if(j==k) k=k+1; if(stu[j].num==stu[k]。num) { printf(”对不起您输入更改后学生的新信息错误,请重新输入:\n”); scanf(”%d%s%s%d%f",&stu[j].num,&stu[j].xibiebanji,&stu[j]。name,&stu[j]。age,&stu[j].tel); break; }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 课程设计 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文