为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C程序设计课程设计报告

2012-05-09 14页 doc 242KB 64阅读

用户头像

is_027542

暂无简介

举报
C程序设计课程设计报告程序设计基础课程设计报告 报告中应包括的内容: 一、设计任务分析 【设计目的】 设计“学生成绩管理系统”,使其具有数据输入、删除、显示和查询等功能。 (1) 数据包括:学号、姓名、Score1、Score2、sum。 (2) 可以增加或删除记录。 (3) 可以显示学生信息。 (4) 可以按学号或姓名绩查询。 (5) 可以按学生姓名修改信息。 二、模块设计 (一)、系统功能模块图 3、 流程图 4、 主要数据结构 /*定义存储单元的基本信息结构*/ class Student{ public:...
C程序设计课程设计报告
程序基础课程设计 报告中应包括的内容: 一、设计任务 【设计目的】 设计“学生成绩管理系统”,使其具有数据输入、删除、显示和查询等功能。 (1) 数据包括:学号、姓名、Score1、Score2、sum。 (2) 可以增加或删除记录。 (3) 可以显示学生信息。 (4) 可以按学号或姓名绩查询。 (5) 可以按学生姓名修改信息。 二、模块设计 (一)、系统功能模块图 3、 流程图 4、 主要数据结构 /*定义存储单元的基本信息结构*/ class Student{ public: char name[20]; char Id[20]; int Cnum; //C语言得分 int Pnum; //程序设计得分 int sum; //总分 } /*声明主要的功能函数体*/ class Studentmassage{ public: ~Studentmassage(); Studentmassage(); void ShowMenu(); void Find(); void Save(); void ModifyItem(); void RemoveItem(); void Swap(Student *,Student *); void Sort(); int ListCount(); void Display() } 5、 源代码 # include # include # include #include //用getch(); using namespace std; class Student { public: char name[20]; char Id[20]; int Cnum; //C语言得分 int Pnum; //程序设计得分 int sum; //总分 Student * Next; void Input() { cout<<"\t\t请输入学生的姓名:"; cin>>name; cout<<"\t\t请输入学生的学号:"; cin>>Id; cout<<"\t\t请输入C语言的成绩:"; cin>>Cnum; cout<<"\t\t请输入程序设计成绩:"; cin>>Pnum; sum=Cnum+Pnum ; } void ReadFile(istream & in) { in>>name>>Id>>Cnum>>Pnum >>sum; } void Show() { cout<<"姓名:"<Next;p!=End;p=p->Next) p->Show(); cout<<"输入任意字符!继续……"; getch(); } void AddItem() { End->Input(); End->Next=new Student; End=End->Next; cout<<"添加成功!"<Next!=End;p=p->Next) if(!strcmp(p->Next->name,name))return p; return NULL; } Student *FindID(char * Id) { for(Student * p=Head;p->Next!=End;p=p->Next) if(!strcmp(p->Next->Id,Id))return p; return NULL; } }; Studentmassage::Studentmassage() { Head=new Student; Head->Next=new Student; End=Head->Next; in.open("sort.txt"); if(!in) cout<<" 无学生信息,请先输入。"<ReadFile(in); if(End->name[0]=='\0')break; End->Next=new Student; End=End->Next; } in.close(); cout<<"\t\t读取学生信息成功!"<Next!=End;) { temp=Head->Next; Head->Next=Head->Next->Next; delete temp; } delete Head,End; } void Studentmassage::ShowMenu()//菜单 { cout<<" 学 生 成 绩 管 理 系 统 "<>x; switch(x) { case 1:{cout<<"\t\t请输入要查找的学生的姓名:";cin>>name; if(p=FindItem(name)) { p->Next->Show(); cout<<"输入任意字符!继续……"; getch(); } else { cout<<"\t\t没有找到该姓名的学生!"<<'\n'<>Id; if(p=FindID(Id)) { p->Next->Show(); cout<<"输入任意字符!继续……"; getch(); } else { cout<<"\t\t没有找到该学好的学生!"<<'\n'<>name; if(p=FindItem(name)) { cout<<"\t\t已找到学生的信息,请输入新的信息!"<Next->Input(); cout<<"修改成功!"<>name; if(p=FindItem(name)) { temp=p->Next; p->Next=p->Next->Next; delete temp; cout<<"\t\t删除成功!"<name,p1->name); strcpy(temp->Id,p1->Id); temp->Cnum=p1->Cnum; temp->Pnum=p1->Pnum; temp->sum=p1->sum; strcpy(p1->name,p2->name); strcpy(p1->Id,p2->Id); p1->Cnum=p2->Cnum; p1->Pnum=p2->Pnum; p1->sum=p2->sum; strcpy(p2->name,temp->name); strcpy(p2->Id,temp->Id); p2->Cnum=temp->Cnum; p2->Pnum=temp->Pnum; p2->sum=temp->sum; } int Studentmassage::ListCount()//统计当前链表的记录总数,返回一个整数 { if(! Head) return 0; int n=0; for(Student * p=Head->Next;p!=End;p=p->Next) { n++; } return n; } void Studentmassage::Sort()//对当前链表进行排序 { cout <<"Sorting..."<Next;p!=End;p=p->Next) for(k=p->Next;k!=End;k=k->Next) { if(p->sum>k->sum) { Studentmassage::Swap(p,k); } } cout <<"排序完成!"<Next;p!=End;p=p->Next) out<name<<"\t"<Id<<"\t"<Cnum<<"\t"<Pnum<<"\t"<sum<<'\n'; out.close(); } int main()//主函数 { int x,i=0; bool quit=false; cout<<"\t\t 欢迎进入学生成绩管理系统 "<>x; switch(x) { case 0:quit=true;break; case 1:Grade.AddItem();break; case 2:Grade.Display();break; case 3:Grade.Sort();break; case 4:Grade.Find();break; case 5:Grade.RemoveItem();break; case 6:Grade.ModifyItem();break; } } return 0; } 六、测试结果及分析 (1) 开始界面,按任意键进入菜单。 (2) 可以按菜单键进行操作。 (3) 用1按键进行新建和插入操作。 (4) 选择3按键进行排序操作。 (5) 选择2按键进行排序后的显示既查看操作。 (6) 选择5按键进行删除操作。 (7) 此图是删除后的显示结果。 (8) 这个图是按0按键成功保存信息后生成的student.txt文档。 七、 通过这次课程设计,我发现我有很多不足,在程序的调试阶段,经常为几个错误而弄的心烦气躁。这足以说明我对知识的掌握还很不熟练;在知识面前,我见到了十分渺小的我。程序设计的过程中也暴露了我的很多弊端,借这次课程设计的机会我会认真的加以改正,为今后的学习打下坚实的基础。 这一次课程设计的成功,我得到了徐老师和耿老师的指导与帮助,还有同学们在知识与信心方面的支持和鼓励——特别是我的大三同学孟三军同学。在此,我衷心的感谢你们! 在这次课程设计中,我对指针、数组、文件的定义与具体的引用有了更深刻的认识;同时,也再一次巩固了数字的求和、排序——特别是选择排序、冒泡排序、显示格式方面的知识;见识了链表与指针数组组合的奇妙,引起了我对计算机课程的强烈兴趣! 8、 参考文献 程序设计基础(第二版) 吴文虎 编著 清华大学出版社 C语言程序设计 何钦铭 颜 晖 主编 高等教育出版社 C语言程序设计(第三版) 谭浩强 编著 清华大学出版社 删除成绩 删除姓名 删除学号 查看学号 查看姓名 查看成绩 插入成绩 删除学号 删除姓名 删除成绩 插入姓名 插入学号 修改成绩 修改学号 修改姓名 录入成绩 录入姓名 录入学号 录入信息 修改信息 插入信息 删除信息 信息保存 信息导入 删除系统 查询系统 编辑系统 文件系统 学生成绩管理系统 开始 输出界面面 选择操�作 选择1 否 是 输入记录 是 选择2 否 选择3 按总分排序 是 否 显示记录�记录 是 选择4 查找信息 按学号查找 按姓名查找 选择5 否 删除学生信息 选择6 选择0 按姓名删除 修改学生信息 按姓名修改 退出并保存学生信息 结束 课程设计 2
/
本文档为【C程序设计课程设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索