欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    C课程设计报告学生成绩表.doc

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

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

    C课程设计报告学生成绩表.doc

    1、课程设计目的程序设计基础课程设计是在学习完程序设计基础课程后开设的一门实践性课程。要求学生以个人为单位,在教师指导下,运用理论课所学知识,借助参考书籍,选择一个课题,使用C+语言,完成一个功能相对完整,具有应用价值的软件。达到加深理解课堂教学内容,熟悉程序设计的基本流程、掌握程序设计基本方法,基本技巧、并能综合运用,提高程序设计能力。通过本课程的实践,熟练掌握C+语言中面向过程部分的内容,能够运用C+语言解决一个实际问题。课程设计属于研究型、创新型、自主型学习。学生可以根据自己的兴趣、爱好、特长,或者以前已经接触过的内容,自行确定课程设计课题。也可完成老师提供的参考课题。2、设计环境及语言Visual C+集成开发环境(IDE)C+语言。3、 课题设计步骤31 需求分析 从软件使用者处获得用户需求,确定课题开发应具备的功能;32 系统结构设计 将整个系统功能分块,考虑各个功能模块应具备的功能,模块间的联系,划分成不同的子系统进行设计;33 数据设计 设计系统中新的数据类型、存储类型;34 代码设计 在上述3个阶段的基础上编写代码;35 软件测试 使用事先设计好的测试用例、对编制的程序进行测试,发现存在错误(包括潜在的问题),加以修改,完善。4、课程设计提交材料41 电子版的所有.cpp文件和.h文件。每个学生以自己的名字建了一个文件夹,通过网络提交。42 课程设计报告 内容包括;1) 课题设计内容、具备的功能;2) 模块(函数)的划分、各模块(函数)的功能;3) 采用的自定义的数据类型;4) 程序设计过程、调试中过程中所用的测试用例、程序运行的结果;5) 在课程设计中遇到的问题和解决的方法,还没有能解决的问题;6) 通过课程设计的体会、收获。5、参考课题51 参考课题内容及知识点“学生成绩表”是一个参考课题。本课题通过建立、修改、查询、排序、显示学生成绩等功能,具体要求掌握的技术有:1)结构、枚举类型的定义与使用;2)数组的定义使用;3)程序的三种基本控制流程的综合、灵活运用;4)普通指针和数组指针的定义和使用;5)各类函数的定义和调用;6)文件的输入/输出;7)程序的调试。52 功能要求1) 新增学生数据的添加:学号,姓名,性别,3门课程成绩,计算总成绩并显示;2) 修改学生成绩数据:输入学号,根据学号,修改该生的3项成绩数据计算总成绩并显示;3) 删除一个学生:输入学号,根据学号删除该生;4) 根据学号查询:输入学号,查找该生并显示学生数据;5) 显示全部学生数据;6) 根据学号排序学生数据;7) 根据总成绩排序学生数据;8) 退出:保存学生总数文件及学生数据文件,然后结束程序运行。53 设计要求1)在Visual C+控制台应用程序方式下设计课题。2)设计的程序要求完成52节规定的功能。3)程序应具有一定的健壮性。即程序必须具有必要的检查和出错处理,如在新增学生数据时检查输入的学号是否相同。删除、查询学生时检查输入的学号是否存在等。5 参考课题部分设计1) 建立student工程2) 在头文件中,设计Student结构类型,成员为char No5 学号char Name8姓名char Gender7性别int Score43门课程成绩及总成绩3)设计下列函数int EnterChoice();/输入选项void Init();/数据文件初始化void Add();/增加一个学生void Update();/修改学生成绩void Delete();/删除一个学生void Query();/查询学生数据void Display();/显示全部学生void Display (Student*); /显示一个学生的重载函数void SortNo();/按学号排序(从小到大)void SortScore();/按成绩排序int CheckNo(char *);/检查学号是否存在,存在返回序号,不存在返回-1 4)设计主函数main(),运行后,屏幕显示功能菜单 1: add student 2: update student 3: delete student 4: query student 5: display students 6: Sort student by No 7: Sort student by score 8: end用户输入选择后,程序运行相应的处理函数Add()、Update()、Delete()、Query()、Display()、SortNo()、SortScore()。运行主函数main(),调用Init()函数,从文件count.dat生总数,从文件student.dat中读取学生数据。然后等待用户输入选项,进行相应处理。程序运行结束前,调用Save ()函数保存学生总数到文件count.txt数据到文件student.txt中。设计除main()主函数和Init()函数、Add()、SortNo()、CheckNo()、EnterChoice()、GetData()函数之外的Display()、Update()、Delete()、Query()、SortScore()等函数。附件:参考课题部分源程序/结构定义文件/student.h #ifndef STUDENT_H#define STUDENT_Hstruct StudentChar No9;Char Name9;Char Gender7;int Score4;#endif/函数实现文件/ student.cpp#include<iostream>#include<iomanip>#include<fstream>#include<cstring>#include"student.h"using namespace std;int EnterChoice(); void Init();void Add();void Update();void Delete();void Query();void SortScore();void Display();void Display(Student*);void SortNo();void SaveTxt();int CheckNo(char*);void PrintTitle();void GetData(Student*);extern const int MaxNum=100;extern int CurNum;extern Student studentMaxNum; int EnterChoice()cout<<"nEnter your Choicen" <<"1:add student 2:update studentn"<<"3:delete student 4:query studentn"<<"5:display students 6:Sort student by NOn"<<"7:Sort student by score 8:endn"int Choice;cin>>Choice;return Choice;void Init()ifstream inCount,inStudent;ofstream outCount,outStudent;inCount.open("count.txt",ios:in);if(!inCount)inCount.close();outCount.open("count.txt",ios:out);outCount<<CurNum;outCount.close();elseinCount>>CurNum;inCount.close();if(CurNum)inStudent.open("student.txt",ios:in);for(int i=0;i<CurNum;i+)inStudent>>(student+i)->No; inStudent>>(student+i)->Name; inStudent>>(student+i)->Gender; inStudent>>(student+i)->Score0; inStudent>>(student+i)->Score1; inStudent>>(student+i)->Score2; inStudent>>(student+i)->Score3;inStudent.close();elseoutStudent.open("Student.txt",ios:out);outStudent.close();void Add()char no9;cout<<"No="cin>>no;int i=CheckNo(no);if(i>=0)cout<<"No.repeated,input again"<<endl;elsestrcpy(studentCurNum.No,no);cout<<"Name="cin>>(student+CurNum)->Name;cout<<"Gender="cin>>(student+CurNum)->Gender;GetData(student+CurNum);PrintTitle();Display(student+CurNum);CurNum+;void SortNo()Student temp;int flag;for(int i=0;i<CurNum-1;i+)flag=1;for(int j=0;j<CurNum-1-i;j+)if(strcmp(studentj+1.No,studentj.No)<0)flag=0;temp=studentj+1;studentj+1=studentj;studentj=temp;if(flag)break;Display();void PrintTitle()cout<<setiosflags(ios_base:left);cout<<setw(6)<<"No"<<setw(8)<<"Name"<<setw(10)<<"Gender"<<setw(10)<<"Score1"<<setw(10)<<"Score2"<<setw(10)<<"Score3"<<setw(10)<<"SCore"<<endl;void Display()if(CurNum)PrintTitle();for(int i=0;i<CurNum;i+)Display(student+i);elsecout<<"The list empty!"<<endl;void Display(Student* stu)cout<<setiosflags(ios_base:left);cout<<setw(6)<<stu->No;cout<<setw(8)<<stu->Name;cout<<setw(6)<<stu->Gender;cout<<resetiosflags(ios_base:left);cout<<setw(10)<<stu->Score0;cout<<setw(10)<<stu->Score1;cout<<setw(10)<<stu->Score2;cout<<setw(10)<<stu->Score3<<endl;void Save()ofstream outCount,outStudent;outCount.open("count.txt",ios:out);outCount<<CurNum;outCount.close();outStudent.open ("student.txt",ios:out);for(int i=0;i<CurNum;i+)outStudent<<(student+i)->No<<" " outStudent<<(student+i)->Name<<" " outStudent<<(student+i)->Gender<<" " outStudent<<(student+i)->Score0<<" " outStudent<<(student+i)->Score1<<" " outStudent<<(student+i)->Score2<<" " outStudent<<(student+i)->Score3<<" " outStudent<<endl; outStudent.close();int CheckNo(char* no)for(int i=0;i<CurNum;i+)if(strcmp(studenti.No,no)=0)return i;return -1;void GetData(Student* stu)for(int i=0;i<3;i+)cout<<"Score"<<i<<"= "cin>>stu->Scorei;stu->Score3=stu->Score0+stu->Score1+stu->Score2;void SortScore()Student temp;int i,j,max;for(i=0;i<CurNum-1;i+) max=i;for(j=i;j<CurNum;j+)if(studentmax.Score3<studentj.Score3)max=j;if(max!=i)temp=studentmax;studentmax=studenti;studenti=temp;Display();void Update()char no9;char c;cout<<"input no:"cin>>no;int i=CheckNo(no);if(i<0)cout<<"The number dose not exist!n"elsecout<<"Update Score0?(y/n)n"cin>>c;if(c='y'|c='Y')cout<<"Input Score0:"cin>>studenti.Score0;cout<<"Update Score1?(y/n)n"cin>>c;if(c='y'|c='Y')cout<<"Input Score1:"cin>>studenti.Score1; cout<<"Update Score2?(y/n)n"cin>>c;if(c='y'|c='Y')cout<<"Input Score2:"cin>>studenti.Score2;student->Score3=student->Score0+student->Score1+student->Score2;PrintTitle();Display(student+i);void Delete()char no9;char c;cout<<"Input no:"cin>>no;int i=CheckNo(no);if(i<0)cout<<"The number dose not exist!(y/n)n"elsecout<<"Are you sure?(y/n)n"cin>>c;if(c='y'|c='Y')for(int j=i+1;j<CurNum;j+)studentj-1=studentj;CurNum-;Display();void Query()char no9;cout<<"input no:"cin>>no;int i=CheckNo(no);if(i<0)cout<<"The nunber dose not exist! n"elsePrintTitle();Display(student+i);/主函数文件/ main.cpp#include <iostream>#include <fstream>#include <iomanip>#include <string>#include "Student.h"using namespace std;int EnterChoice();/输入选项void Init();/数据文件初始化void Add();/增加一个学生void Display();/显示全部学生void DisplayOne(Student*);/显示全部学生void SortNo();/按学号排序(从小到大)void Save (); /保存数据int CheckNo(char *);/输入学号void PrintTitle();/显示表头void GetData(Student*);/读取学生成绩数据void Update();/修改学生成绩void Delete();/删除一个学生void Query();/查询学生数据void SortScore();enum ChoicesADD=1,UPDATE,DELETE,QUERY,DISPLAY,SORTNO,SORTSCORE,END;const int MaxNum=100;int CurNum;Student studentMaxNum;void main()Init();int choice;while(choice=EnterChoice()!=END) switch(choice) case ADD:Add();break; case UPDATE:Update();break; case DELETE:Delete();break; case QUERY:Query();break; case DISPLAY:Display();break; case SORTNO:SortNo();break; case SORTSCORE:SortScore();break; default:cerr<<"Incorrect choicen" Save();程序运行结果图示:图1程序运行后的菜单显示图2“1:add student” 界面图3“2:update student” 界面图4“3::delete student”界面图5“4:query student” 界面图6“5:display student”界面图7“6:sort student by No”界面图8 “7:Sort student by score”界面

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开