学生信息管理系统C++课程设计.doc_第1页
学生信息管理系统C++课程设计.doc_第2页
学生信息管理系统C++课程设计.doc_第3页
学生信息管理系统C++课程设计.doc_第4页
学生信息管理系统C++课程设计.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中 州 大 学课程设计 学 院: 信息工程学院 班 级: 14级软件技术(普招) 题 目: 学生信息管理系统 学生姓名: 熊建 学号: 201427050124 指导教师: 马 芳 学 期: 2014-2015学年第二学期 2015年 6 月 20 日课程设计一、 设计思路1. 程序名称为:学生信息管理系统。该程序能实现的功能:程序密码、录入学生信息、读取学生信息、删除学生信息、修改密码、查看作者信息。2. 初次打开程序,程序自动生成“默认密码”文件,储存在用户电脑D:stusystemkey文件夹中。并在程序目录下生成一个“old”文件夹,在下次进入程序时,系统自动检测“old”文件及是否存在,以判断是否是第一次使用。若已存在,则要求用户输入密码,以进入程序主菜单,并提示用户剩余密码输入次数,若用户连续五次密码输入错误,则程序自动关闭。3. 进入程序主菜单,用户输入通过数字选择菜单项。3.1信息录入系统:用户进入“信息录入系统”即开始输入第一个学生的姓名、性别、学号等信息,一个学生信息录入完毕,程序自动为该学生生成一个以该学生姓名命名,无扩展名的文件,将该学生的信息储存在程序根目录下,调用Windows系统的拷贝功能,将文件拷贝到用户电脑D:stusystemstudent文件夹中,并删除原文件。程序继续让用户录入第二个学生信息。在任意项目输入过程中输入“m”(无论大小写)即返回程序主菜单。3.2信息查询系统:用户进入“信息查询系统”即开始输入要查询的学生姓名,回车即可显示该学生的详细信息。输入“m”(无论大小写)即返回程序主菜单。3.3 .删除系统中储存的学生信息:进入之后用户可选择“清空全部学生信息”、“删除单个学生信息”。清空全部学生信息,则调用windows系统命令,清空用户电脑D:stusystemstudent文件夹中的所有文件,在真正清空之前,再次提醒用户是否确认删除。清空完成后,给用户一个“清空完成”的反馈,程序回到主菜单。删除单个学生信息,则要用户输入要删除的学生姓名,并提醒用户是否确认删除,删除完成继续在删除学生信息界面,至用户输入“m”,程序返回主菜单。3.4 修改密码:用户需两次输入相同密码后才能修改成功,系统会新建一个名为“key.mle”的文件储存在用户电脑D:stusystemkey文件夹中,以替换程序原密码。完成后提示用户密码修改成功。3.5 关于:此选项会打开一个文本文档来介绍程序及作者的相关信息,并根据用户的需要,可选择是否访问该程序及作者的相关网站。3.6 退出程序二、 设计过程设计程序中遇到的不常用的代码:1.判断文件是否存在,不存在则生成一个文件夹:以“old”文件为例char ifkey=old;/-自定义文件名 if( !CreateDirectory(ifkey, NULL) )/-如果文件存在2.判断输入的内容与预设的内容是否相符:char key50;cinkey;if(!strcmp(oldkey,key)/-如果相同3.打开指定文件,并将其内容赋给一个形参,以打开key.mle将其内容赋给形参oldkey为例:ifstream inFile;inFile.open(D:stusystemkeykey.mle);/-打开原密码char oldkey50;inFile oldkey;/-赋给oldkey4.在电脑中新建文件夹system(mkdir D:stusystemkey);system(mkdir D:stusystemstudent);5.在电脑指定目录生成文件,并编辑内容:ofstream outfile(D:stusystemkeykey.mle);/-定义文件名及文件位置outfile米灵尔name;ofstream outfile(stuname.c_str();outfile姓名:namedelname;ofstream outfile(D:stusystemstudent1.bat);/新建批处理文件到指定位置outfiledel D:stusystemstudentdelname;/-编辑批处理文件内容outfile.close();/-生成批处理文件调用程序运行char *p=D:stusystemstudent1.bat;system(p);/-运行批处理文件运行结果:三、总结 编写一个程序最主要的,是始终要明确自己的思路。任何一个程序在编写的时候都会出现很多种问题,通常在几百行的代码里找问题很让人头疼,但是只要始终明确自己的思路,就不怕程序出现问题,程序的运行与否很大部分受逻辑限制,出现问题了,根据自己的思路来研究程序中的逻辑,很快就能找到问题所在。 编写一个复杂点的程序可能会遇到靠自己编写的代码不能实现的功能,这时候好好地利用下网络,可以从中学到很多东西。附程序代码附:#include#include#include#include#include#includeusing namespace std;class stusystempublic:void get();void make(char name50,char sex50,char num20,string filename);char name50;char sex50;char num20;ofstream outfile;string stuname;void read(string stuname);void menu();void readxinxi();void keypanduan();char key50;void welcome();void about();void changekey();void maketxt();void del();void stusystem :get()system(cls);cout =n;cout | |n;cout | 欢迎进入米灵尔学生信息录入系统 |n;cout | |n;cout =nn;cout -输入“m”,可返回菜单-nnn;coutname;char back150=m;char back250=M;if(!strcmp(back1,name)|!strcmp(back2,name)system(cls);stusystem a;a.menu();coutsex;if(!strcmp(back1,sex)|!strcmp(back2,sex)system(cls);stusystem a;a.menu();coutnum;if(!strcmp(back1,num)|!strcmp(back2,name)system(cls);stusystem a;a.menu();stusystem a;a.make(name,sex,num,name);/-以下是生成文件的程序-void stusystem :make(char name50,char sex50,char num20,string stuname)ofstream outfile(stuname.c_str();outfile姓名:name n性别:sexn学号:num;outfile.close();system(copy *. D:stusystemstudent);/将学生信息文件拷贝到D盘 system(del *.);stusystem b;b.get();/-以上是生成文件的程序-void stusystem :readxinxi()cout -输入“m”,可返回菜单-nnn;coutname;system(cls);cout =n;cout | |n;cout | 欢迎进入米灵尔学生信息查询系统 |n;cout | |n;cout =nn;char back150=m;char back250=M;if(!strcmp(back1,name)|!strcmp(back2,name)stusystem a;a.menu();coutendlendl;stusystem a;a.read(name);void stusystem :read(string stuname)/-以下是读取文件的程序-ifstream in(stuname.c_str();string line;while(getline(in,line)coutlineendl;stusystem a;a.readxinxi();/-以上是读取文件的程序-void stusystem :about()cout =n;cout | |n;cout | 关于 About |n;cout | |n;cout =nnn;cout 此程序完全由米灵尔_熊建编写,如与某同学的程序有相似之处纯属缘分!nn;cout 编写时间:2015年6月22日,星期二nn 程序版本号:15.3.1n;/15年第3次功能改动,第1次修改coutyes;if(yes=y|yes=Y)stusystem a;a.maketxt();char *p=米灵尔.txt;system(p);char *b=mle.html;system(b);elseif(yes!=n&yes!=N)cout输入有误,请重新输入nn;stusystem a;a.about();system(del 米灵尔.txt);system(cls);yes=0;coutyes;if(yes=y|yes=Y)ShellExecute(NULL,open,,NULL,NULL,SW_SHOW); elseif(yes!=n&yes!=N)coutn输入有误,请重新输入nn;stusystem a;a.about();system(del 米灵尔.txt);system(cls);system(del 米灵尔.txt);system(cls);stusystem a;a.menu();void stusystem :maketxt()ofstream outfile(米灵尔.txt);/-自定义目录生成文件,名为“key”outfile 米灵尔是一个仍处于“幼年期”的团队。n 团队是2013年由两个高中生创立,一直持续到今天。团队没有多么n发达,强大,但有着不断学习进取的心态。我们不怕别人的嘲讽,与蔑视,n只为让加入我们的人掌握更多的本领;认识我们的人,从我们这里学到n有用的东西。 我们没有定向发展,是因为我们还在成长。我们会像当今的中国一样:n 走着“米灵尔特色,团队主义”道路。我们也处于初级发展阶段。n 要问米灵尔到底是做什么的?答:学习,服务。nn米灵尔网址:n邮箱:nendl;/-文件内容 outfile.close(); void stusystem :del()system(cls);cout =n;cout | |n;cout | 删除学生信息 |n;cout | |n;cout =nnn;cout 请选择:nt1.清空全部学生信息nt2.删除单个学生信息ntm.返回菜单a;char a110=1;char a210=2;if(!strcmp(a1,a)|!strcmp(a2,a)if(!strcmp(a1,a)coutdel;if(del=y|del=Y)cout正在清理;system(del D:stusystemstudent);system(del *.);cout学生信息文件已全部清空endl;_sleep(2000);stusystem a;a.menu();elsesystem(cls);stusystem a;a.del();elsechar delname50;cout请输入要删除的学生姓名:endldelname;coutn确定删除delname学生的信息? 是Y/否Nndel;if(del=y|del=Y)ofstream outfile(D:stusystemstudent1.bat);/利用批处理文件删除outfiledel D:stusystemstudentdelname;outfile.close();/-生成批处理文件char *p=D:stusystemstudent1.bat;system(p);system(del D:stusystemstudent1.bat);system(cls);coutn学生:delname的信息已删除完成;_sleep(2000);system(cls);stusystem a;a.del();elsesystem(cls);stusystem a;a.del();elsestusystem a;a.menu();void stusystem :menu()system(del *.);/删除本地学生信息文件system(cls);cout =n;cout | |n;cout | 米灵尔学生信息管理系统菜单 |n;cout | |n;cout =nn;char choose10;char c110=1;char c210=2;char c310=3;char c410=4;char c510=5;char c010=0;char cM10=M;char cm10=m;coutn 系统菜单:nn 1.进入信息录入系统nn 2.进入信息查询系统nn 3.删除系统中储存的学生信息nn;cout 4.修改密码nn 5.关于nn 0.退出系统nn;cout 操作过程中输入m进入菜单nn;coutchoose;coutendl;if(!strcmp(c1,choose)|!strcmp(c2,choose)|!strcmp(c3,choose)|!strcmp(c4,choose)|!strcmp(c5,choose)|!strcmp(c0,choose)|!strcmp(cM,choose)|!strcmp(cm,choose)if(!strcmp(c1,choose)system(cls);cout =n;cout | |n;cout | 欢迎进入米灵尔学生信息录入系统 |n;cout | |n;cout =nnn;stusystem a;a.get();if(!strcmp(c2,choose)system(copy D:stusystemstudent*. );/把文件拷贝回来system(cls);cout =n;cout | |n;cout | 欢迎进入米灵尔学生信息查询系统 |n;cout | |n;cout =nn;stusystem a;a.readxinxi();if(!strcmp(c3,choose)stusystem a;a.del();if(!strcmp(c4,choose)stusystem a;a.changekey();if(!strcmp(c5,choose)system(cls);stusystem a;a.about();if(!strcmp(c0,choose)cout系统正在关闭,再见!;_sleep(1000);exit(3);if(!strcmp(cM,choose)|!strcmp(cm,choose)stusystem a;a.menu();elsecoutn输入有误,请重新输入nn;_sleep(1000);stusystem a;a.menu();void stusystem :keypanduan() char ifkey=old;/-判断是否第一次使用(第一次生成文件)- if( !CreateDirectory(ifkey, NULL) )/-判断是否第一次使用- coutkey; ifstream inFile;/-打开原密码 inFile.open(D:stusystemkeykey.mle);/-打开原密码 char oldkey50; char off10=0; inFile oldkey;/-将原密码赋给“oldkey” int i=4,n=5; for(i=5;i!=0;i-) n-;/n=4 if(!strcmp(oldkey,key)|n=0|!strcmp(off,key) if(n=0) cout=n; cout| 密码输入错误,系统即将关闭! |n; cout=nn; _sleep(3000); exit(3); if(!strcmp(oldkey,key) stusystem a; a.welcome(); if(!strcmp(off,key) cout系统正在关闭,再见!; _sleep(1000); exit(3); else coutn密码输入错误,您还有n次机会,nkey; coutendl; else cout初次使用,正在生成系统密码:nn; _sleep(800); cout初始密码为“米灵尔”,下次进入系统请先输入密码nn; system(mkdir D:stusystemkey); system(mkdir

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论