欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    C课程设计报告(学生上机管理系统).doc

    • 资源ID:6178170       资源大小:157.50KB        全文页数:17页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    C课程设计报告(学生上机管理系统).doc

    学生上机管理系统 1.需求分析实现的目标 课程设计的任务: 制作一个小型的学生上机管理系统,要求制作一个菜单,实现数据的录入,数据的显示,数据查找,数据的删除,数据的保存,数据的统计,数据的修改,系统的退出。系统的设计要求用到C+面向对象的程序设计,要求用到类来实现,同时每一个功能用到一个函数。基本功能:学生基本信息(学号,姓名,上机对应的设备编号,设备名称,设备状态)扩展功能:学生数据的添加、修改、与删除学生数据的读取与存储 系统特点:系统要能够对相应的数据进行很好的测试,系统的统计对设备的状态,人数都进行了统计;系统数据的录入 除可以手工录入外,还可以采用文件的录入;系统统计学生的基本信息较全面,包括学号,姓名;程序中查找运用了两种查找方式即学号查找和姓名查找。 系统实现方案第一步:分析题目,建立类并派生出它的子类,画出类图。 第二步:画出流程,根据流程图编写程序清单 第三步:上机调试程序(使用单步调试,设置断点、分块调试的方法)。 第五步:及时整理资料,撰写课程设计报告中有关这个题目的内容。 界面设计与数据程序对学生上机据处理要求 能够输入并浏览学生的基本信息; 能够实现对学生信息的查询和修改; 能够对成绩进行统计; 能够对学号排序; 能够对学生的信息进行保存;现行的系统功能:资料维护:系统维护包括对各学生信息和成绩的录入操作。资料维护:对数据表中的信息进行浏览。系统查询:可以对学生的姓名,学号,设备信息来查询。2.概要设计1.现行系统组织结构图:开始选择菜单序号7学号排序0退出8保存信息6统计成绩5修改信息4删除信息3查找信息2显示信息1录入信息选择修改方式1?按要求逐步输入学生信息2?编号查询保存?输入学生信息姓名查找保存退出2.系统功能结构图:主程序采单程序初始化程序排序退出输入显示查找删除修改统计3详细设计1.类设计类:student 数据成员学号,姓名,性别,设备编号,设备名称类:school成员函数录入函数Input():输入编号到计算机的成绩;统计函数count():统计各科的总成绩,计算平均成绩,统计各科的及格率;查询函数found():按学号或姓名查找学生的记录;修改函数mend():修改指定学号学生成绩记录;统计函数ncount():统计学生人数;排序函数sort():按学号排序;删除函数del():删除指定学号学生记录;输出函数show():输出班级所有学生成绩记录;UML图:Student#number:int#name20:char#sex6:char#deviceid20:char#devicename6:char#devicestatus20:char+student*next; +student() +student() + * getname():char+getnumber():int+getscore(inti)double+ getg():float+ input():void+input(ifstream & is): void +output():void+output(ofstream&os):voidschool+school()+school()+ input():void+ mend():void+ del():void+ find:int+found():void+ show():void+ count():void+sort():void,+ save():void+ begin():void+ clear():void+mainmenu():char+getkey():int+setkey(intk):void- *head: student - key:int2.界面设计1.界面设计程序运行后会出现一个简捷的窗口,便于用户查询数据。2.功能设计通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。应用系统主控界面包括学生信息录入,查找等功能模块。学生信息录入功能完成学生信息和成绩的输入。记录查询功能可以对数据各分类的记录进行查询。3.系统主界面: 4.调式分析本程序基本完成了题目要求的功能。但是由于显示的限制,我未完成统计的运行功能,老师指导下完成了,要动脑子。 程序在显示学生信息时输入过于繁杂,不够清晰明朗,若显示成类似表格的形式就好了。解决办法将输出函数的输出格式改一下,难点是计算输出点的控制。此次c+课程设计,在指导教师的精心教导下,我们学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。根据C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C+语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。5用户使用说明按1录入按2显示按3查找按4删除按5统计等等来操作的学生上机管理系统的6.测试结果7.附录""class student protected: int number; char name20; char devicestatus8; char deviceid10;char devicename20;public: student *next; friend void school:sort();student() student() char* getname() return name; int getnumber() return number;void input() int e=1;cout<<"ttt按提示输入:"<<endl;cout<<"tt输入编号: " cin>>number;cout<<"tt输入姓名: " cin>>name;docout<<"tt输入设备状态: "cin>>devicestatus;if(strcmp(devicestatus,"开")=0 | strcmp(devicestatus,"关")=0) cout<<"tt输入设备编号: "cin>>deviceid; cout<<"tt输入设备名称: "cin>>devicename;e=0;elsecout<<"ttt无此类型状态!重新输入!"<<endl;e=1; while(e);return ;void input(ifstream & is) is>>number>>name>>devicestatus>>deviceid>>devicename;(); void output()cout<<"学生基本信息如下:"<<endl;cout<<"编号:"<<number<<" 姓名:"<<name<<"设备状态:"<<devicestatus<<"设备编号:"<<deviceid<<"设备名称:"<<devicename<<endl;void output(ofstream & os) os<<setw(6)<<number <<setw(15)<<name<<setw(5)<<devicestatus <<setw(5)<<deviceid<<setw(10)<<devicename<<endl;school:school() head=new student; head->next=NULL; key=0; school:school() delete head; void school:input()/录入函数student *p,*p2=NULL;p=head; int n;while(p->next)p=p->next;while(n) p2=new student; p2->input(); p->next=p2; p2->next=NULL; p=p->next; school:setkey(1);cout<<"ttt按1继续,按0返回 : " cin>>n; int school:find(student *p1,int num,char *pn)/子查找函数student *p; p=head;while(p->next)(*p1)=p;if( (p->next)->getnumber()=num|!strcmp( (p->next)->getname(),pn ) )return 1; p=p->next;return 0; void school:found()/查找函数 student *p;int num=-1,n=9; char name20=""do cout<<"tt1:按编号查找,2:按姓名查找: " cin>>n;while(n<1|n>2);if(n=1) cout<<"ttt输入编号: "cin>>num;if(n=2) cout<<"ttt输入姓名: "cin>>name; if(!find(&p,num,name) ) cout<<"tt找不到你要查找的内容!"<<endl;return;(p->next)->output();void school:del()/删除函数 student *p,*p2; int num;cout<<"ttt输入编号: " cin>>num;if( !find(&p,num,"") ) cout<<"tt找不到你要删除的内容!"<<endl;return;(p->next)->output();p2=p->next; p->next=p2->next;delete p2;school:setkey(1); int school:ncount() /统计函数student *p;p=head;int amount=0;while(p->next)p= p->next;amount+;return amount;void school:sort() /排序函数student *p1; student *temp=new student;student *temp1;student *temp2;int i,j,count;int n=ncount();for(j=0;i<n-1;j+)p1=head;for(i=0;i<n-1-j;i+)count = i;while(count!=0)p1 = p1->next;count-;if(p1->number>p1->next->number)temp1 = p1->next;temp2 = p1->next->next;memcpy(temp,p1,sizeof(student);memcpy(p1,p1->next,sizeof(student);p1->next = temp1;memcpy(p1->next,temp,sizeof(student);p1->next->next = temp2;void school:show() /显示函数 student *p; p=head;int n=0;while(p->next) (p->next)->output();p=p->next;n+;void school:mend()/修改函数 student *p; int num=-1,n;char name20=""do cout<<"tt1:按编号修改,2:按姓名修改: "cin>>n;while(n<1|n>2);if(n=1) cout<<"ttt输入编号: "cin>>num;if(n=2)cout<<"ttt输入姓名: "cin>>name;if( !find(&p,num,name) ) cout<<"tt找不到你要修改的内容!"<<endl;return;(p->next)->output(); (p->next)->input();school:setkey(1);void school:save() /保存函数 student *p; p=head;ofstream os("",ios:out);if (school:getkey()=1)while(p->next) (p->next)->output(os);p=p->next; cout<<"ttt文件已保存! "<<endl;school:setkey(0);void school:begin()/初始化函数 student *p,*p2;p=head; clear();long t;ifstream is("",ios:in); if(!is) ofstream os("",ios:out);();return ;int num=-1;while(1) num=-1; t=();is>>num;(t);if(num<0) ();return;p2=new student; p2->input(is);p->next=p2; p2->next=NULL; p=p->next;void school:clear()/清空函数 student *p,*p2;p=head->next;while( p )p2=p; p=p->next;delete p2;char school:mainmenu()/主选菜单函数char n8;cout<<"nn 欢迎进入学生上机管理系统"<<endl<<endl<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<" * * 1: 录入学生信息 * *"<<endl<<" * * 2: 显示学生信息 * *"<<endl<<" * * 3: 查找学生信息 * *"<<endl<<" * * 4: 删除学生信息 * *"<<endl <<" * * 5: 统计学生数量 * *"<<endl <<" * * 6: 学生学号排序 * *"<<endl<<" * * 7: 修改学生信息 * *"<<endl<<" * * 8: 保存学生信息 * *"<<endl<<" * * 0: 退出系统 * *"<<endl<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl<<" 请选择:"cin>>n;return n0; student;class school public:school();school(); void input(); void mend(); void del();int find(student *p,int num,char *pn="");void found();int ncount();void sort();void show(); void save();void begin(); void clear(); char mainmenu();int getkey() return key;void setkey(int k) key=k; private: student *head; int key;""void main()/主函数school pp;int k=1; char n; ();while(k=1)n=();switch(n) case 1:(); break; case 2:(); break; case 3:(); break; case 4:(); break; case 5:(); break; case 6:(); break; case 7:(); break; case 8:(); break; case 0:if()=1) cout<<"ttt是否保存? 1 : 保存 0:不保存 : "cin>>k;if(k=1)();();k=0;break;

    注意事项

    本文(C课程设计报告(学生上机管理系统).doc)为本站会员(大张伟)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开