中南大学c++课程设计报告书
- 格式:doc
- 大小:138.00 KB
- 文档页数:20
中南大学c语言课程设计一、课程目标知识目标:1. 掌握C语言的基本语法结构,包括变量声明、数据类型、运算符、表达式等;2. 学会使用C语言进行顺序、选择、循环等基本控制结构;3. 理解函数的定义与调用,并能编写简单的自定义函数;4. 掌握数组和字符串的使用,了解其应用场景;5. 了解指针的概念,学会使用指针进行内存操作。
技能目标:1. 能够运用C语言编写简单的程序,解决实际问题;2. 培养良好的编程习惯,如代码规范、注释清晰、调试与优化;3. 学会使用编译器进行程序编译、链接和运行;4. 能够通过阅读和分析代码,理解他人的程序设计思路。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发自主学习编程的动力;2. 培养学生的团队合作意识,学会与他人共同解决问题;3. 培养学生的创新思维和解决问题的能力,敢于面对挑战;4. 增强学生的自信心,使其在学习过程中体验到成就感。
课程性质:本课程为中南大学计算机专业的基础课程,旨在培养学生的编程能力和逻辑思维能力。
学生特点:学生具备一定的计算机基础知识,但对编程尚处于入门阶段,需要系统学习C语言的语法和应用。
教学要求:教师应注重理论与实践相结合,通过案例教学、上机实践等方式,引导学生掌握C语言的基本知识和技能。
在教学过程中,关注学生的学习进度和需求,及时调整教学方法和内容,确保课程目标的实现。
同时,注重培养学生的自主学习能力和团队合作精神,提高其综合素质。
二、教学内容1. C语言基础知识:变量、数据类型、常量、运算符、表达式、语句;2. 控制结构:顺序结构、选择结构(if-else、switch)、循环结构(for、while、do-while);3. 函数:函数定义、函数调用、局部变量、全局变量、递归;4. 数组:一维数组、二维数组、数组初始化、数组操作;5. 指针:指针定义、指针操作、指针与数组、指针与函数;6. 字符串:字符串表示、字符串操作、字符串函数;7. 预处理器:宏定义、文件包含、条件编译;8. 编程规范与调试:代码风格、注释、调试技巧、性能优化;9. 综合应用实例:求解数学问题、文件操作、简单游戏开发。
智能15级《程序设计语言(C++)》课程设计任务书一、课程设计目的本课程设计是智能科学及技术专业的重要实践性课程。
是学习完《计算机及程序设计语言基础》课程后进行的一次全面的综合练习。
通过课程设计,一方面可以结合课程的教学内容循序渐进地进行设计方面的实践训练,另一方面,在参及一系列综合项目的实践过程中,还能提高如何综合运用所学知识解决实际问题的能力,以及获得相关项目管理和团队合作等众多方面的具体经验。
为后续课程面向对象程序设计等课程奠定必要的实践基础。
设计目的如下:1.进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解。
2.针对C++语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
3.掌握C++语言的编程技巧和上机调试程序的方法。
4.掌握程序设计中的常用算法。
为了使学生从课程设计中尽可能取得比较大的收获,对课程设计题目分成二类,一类为基础训练题目,从中学习到程序设计的常用算法,另一类为综合题目。
学生可根据自己的能力和兴趣从两类中各选择一个设计题完成。
二、课程设计内容分组形式:可2-4人组队题目要求:A类题目必须全部完成,B类题目3题内选择2题完成A组题型:基本知识单项训练()设计题1、数据连接编写函数实现两个字符单向链表的连接。
函数以对两个链表头的引用作为参数,把第二个链表连接到第一个链表后面。
设计题2、字符处理设计函数,实现英文字符的大小写转换并去除其他字符。
要求:字符串中的小写字符自动变换成对应的大写字符,而大写字符则变换成对应的小写字符。
另,如果字符串中存在除英文大小写之外的字符请去除掉。
设计题3、数据统计求数组中离平均数最近的那个数。
假定函数int mid(int a[], int len);计算数组a中所有数的平均值,并返回数组中离该平均值最近的那个数。
设计题4、抓交通肇事犯一辆卡车违反交通规则,撞人后逃跑。
现场有三人目击事件,但都没有记住车号,只记下车号中后4位数字的一些特征。
中南大学c语言课程实践报告Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】中南大学??C语言程序设计实践报告??????题目学生信息管理系统学生姓名张眼指导教师刘伟荣学院信息科学与工程学院专业班级电气信息1113班完成时间 2012年6月28日星期四?printf("\t\t\t|学生信息管理系统欢迎您|\n");printf("\t\t\t+---------------------------+\n");printf("\t\t\t+设计者:张眼\n");printf("\t\t\t+指导老师:刘伟荣\n");printf("重要提示:为保证您的操作得到保存,请按正常顺序退出系统!谢谢合作\n");do{printf("\n\t\t\t+++++++++++++++++++++++++++++\n");printf("\t\t\t|**菜单**|\n");printf("\t\t\t+++++++++++++++++++++++++++++++++\n");printf("\t\t\t*[1]----录入/插入学生信息*\n");printf("\t\t\t*[2]----浏览学生信息*\n");printf("\t\t\t*[3]----查询学生信息*\n");printf("\t\t\t*[4]----删除学生信息*\n");printf("\t\t\t*[5]----修改学生信息*\n");printf("\t\t\t*[6]----不及格学生列表*\n");printf("\t\t\t*[7]----成绩信息查询*\n");printf("\t\t\t*[8]----平均成绩*\n");printf("\t\t\t*[0]----退出系统*\n");printf("\t\t\t********************************\n");printf("请输入您的选择:");scanf("%d",&z);switch(z){case0:tc();break;case1:lr();break;case2:ll();break;case3:cx();break;case4:sc();break;case5:xg();break;case6:bj();break;case7:kc();break;case8:pj();break;default:printf("\n无效选项!");}}while(z!=0);}②输入模块:输入部分包括学生的姓名,学号等基本信息以及学生的大学物理,英语,微积和信号的成绩,可以通过函数void lr() 实现此功能。
中南大学《高级程序设计实践(C++)》课程设计报告设计题目教学设备管理系统指导老师设计者专业班级设计日期目录一课题的基本内容和要求二程序功能简介三主体内容:1 设计分析2 程序整体结构3 部分模块的结构4 相关模块源程序5 操作方法6试验结果7设计体会8 参考文献一基本内容和要求(一)基本要求本设计采用教师指导、学生自学和独立编程操作方式,先由学生查阅与本设计有关的书籍和资料,利用Visual C++ 6.0设计环境与开发工具,在两周时间内,完成课程设计内容中的一个管理系统,具体要求如下:1、独立思考:独立完成课程设计中各任务的设计和调试。
2、上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
3、数据管理:管理系统中的数据可用数据库(如Access数据库)的形式保存,也可用普通文件(文本文件或二进制文件)的形式保存。
4、程序要求:界面美观、可操作性强、稳定性好。
(二)基本内容:教学设备管理系统为方便管理学校教学设备,编写一个教学设备管理系统软件。
系统记录必须包括设备编号、设备名称、生产厂家、购置日期、台数、单价、及备注等。
二程序功能简介(1)添加:增加一台设备的记录到管理系统中。
(2)查询:可以根据设备编号查找某台设备的相关信息,若找到则显示其信息。
(3)修改:在管理系统中修改一台设备的记录。
(4)保存:将所有教学设备信息保存在一个文件中(数据库文件或普通的文本文件)。
(5)读取:从文件中读取已保存了数据。
(6)删除:从管理系统中删除一条记录。
(7)恢复:能恢复被删除的记录。
(8)统计:(A)统计每页合计台数及金额;(B)累计设备的总台数及总金额;(C)统计单价在:200元以下、200~800元之间和800元以上的设备总台数及总金额。
(D)以表格形式打印教学设备明细表。
(9)其他:可以根据自己的思路设计其他功能。
三主体内容1 设计分析根据问题描述和要求,系统要求能够添加设备,按设备编号查询,修改,保存,读取,删除,恢复设备的信息。
中南大学《C++课程设计》设计报告题目C++课程设计学生姓名学号专业班级数学类0901指导老师袁修贵数学科学与计算技术学院2010年6月一、实验目的、内容1.用户任意输入一个年份以及该年的1月1日是星期几,而后再输入该年的任意一个月份,由程序负责在屏幕上按照你所设计的格式显示出这一个月的月历。
思考:利用元年元月元日(即1年1月1日)是星期一的已知事实,可对程序进行改造,让用户仅输入任意一个年份和一个月份,则程序就应按格式显示出该年那一个月的月历。
2.编写程序,从键盘读入一个文本文件名字(可带路径),为该文件中的所有单词建立一个词汇索引。
按字母顺序显示所有单词(仅一次),后面紧跟着它们所在的行号。
大写与小写字母被认为是相同的。
例如,对于下列的输入文件:To be ornot to be,that is the question.产生的词汇索引如下:be 1 2is 3not 2or 1question 3that 3the 3to 1 23.模拟计算器程序问题描述设计一个程序来模拟一个简单的手持计算器。
程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。
基本要求程序运行时,显示一个窗口,等待用户输入,用户可以从键盘输入要计算的表达式,输入的表达式显示在窗口中,用户键入’=’ 符号后,窗口显示出结果。
测试数据程序输入不少于5种不同的表达式进行测试。
实现提示可定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。
二、实验程序设计及结构1、需求分析○1对需求的信息进行模糊查询○2模拟电子辞典○3模拟计算器2、设计结构(1)#include <stdio.h>#include <stdlib.h>int a[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};int main(){int i,n,s = 0,r = 0,year,month,days = 0,day,date = 1;int b[42] ={1,2,3,4,5,6,7}; //日历中的星期puts("Please input the weekday of date month 1/day 1:");scanf("%d",&n);puts("Please input the date you want:");scanf("%d%d%d",&year,&month,&day);if((year % 4 == 0 && year % 100 != 0)||year % 400 == 0)a[2] = 29;for(i=1;i<month;i++)days += a[i];s = day + days;if((s + n - 1) >= 7)s = (s + n - 1) % 7;elses = s + n - 1;printf("weekday:");switch(s){case 0: puts("7\n");break;case 1: puts("1\n");break;case 2: puts("2\n");break;case 3: puts("3\n");break;case 4: puts("4\n");break;case 5: puts("5\n");break;case 6: puts("6\n");break;}if((days +n)>= 7)r = (days + n)%7;elser = days +n;for(i = 0;i < 42;i++){if(i == r + 6&&date < a[month]) {b[i] = date;date++;r++;}printf("%d\t",b[i]);if(i > 5&&(i+1) % 7 == 0)printf("\n");}return 0;}(2)#include <iostream>#include <fstream>#include <vector>#include <string>using namespace std;typedef struct _unit{string word;int line;}unit;int main(){vector<unit> list;ifstream in;string fileName;cout<<"输入文件路径: ";cin>>fileName;in.open(fileName.c_str());if (in.fail()){cout<<"文件打开错误,退出"<<endl;exit(0);}unit temp;int lineNumber = 1;while(!in.eof()){in>>temp.word;temp.line = lineNumber;list.push_back(temp);if (in.peek()=='\n'){lineNumber++;}}in.close();bool isIn = false;vector<string> copy;for (unsigned int i=0; i<list.size(); i++) {isIn = false;for (unsigned int j=0; j<copy.size(); j++) {if (list[i].word == copy[j]){isIn = true;break;}}if (!isIn)copy.push_back(list[i].word);}vector<int> lineNo;for (unsigned int m=0; m<copy.size(); m++){for (unsigned int n=0; n<list.size(); n++){if (list[n].word == copy[m]){lineNo.push_back(list[n].line);}}lineNo.push_back(0);}int current=0;for (unsigned int o=0; o<copy.size(); o++){cout<<copy[o]<<" ";for (unsigned int p=current; p<lineNo.size(); p++){if (lineNo[p] == 0){current=p+1;break;}elsecout<<lineNo[p]<<" ";}cout<<endl;}return 0;}(3)#include <stdio.h>#include <string>#include <cctype>#include <iostream>#include <map>#include <sstream>#include <strstream>using namespace std;istream* input; // pointer to input streamint no_of_errors; // note: default initialized to 0double error(const char* s){no_of_errors++;cerr << "error: " << s << '\n';return 1;}enum Token_value {NAME, NUMBER, END,PLUS='+', MINUS='-', MUL='*', DIV='/',PRINT=';', ASSIGN='=', LP='(', RP=')'};Token_value curr_tok = PRINT;double number_value;string string_value;Token_value get_token(){char ch;do { // skip whitespace except '\en'if(!input->get(ch)) return curr_tok = END;} while (ch!='\n' && isspace(ch));switch (ch) {case ';':case '\n':return curr_tok=PRINT;case '*':case '/':case '+':case '-':case '(':case ')':case '=':return curr_tok=Token_value(ch);case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case '.':input->putback(ch);*input >> number_value;return curr_tok=NUMBER;default: // NAME, NAME=, or errorif (isalpha(ch)) {string_value = ch;while (input->get(ch) && isalnum(ch))string_value += ch; // string_value.push_back(ch); // to work around library buginput->putback(ch);return curr_tok=NAME;}error("bad token");return curr_tok=PRINT;}}map<string,double> table;double expr(bool); // cannot do withoutdouble prim(bool get) // handle primaries{if (get) get_token();switch (curr_tok) {case NUMBER: // floating-point constant{ double v = number_value;get_token();return v;}case NAME:{ double& v = table[string_value];if (get_token() == ASSIGN) v = expr(true); return v;}case MINUS: // unary minusreturn -prim(true);case LP:{ double e = expr(true);if (curr_tok != RP) return error(") expected"); get_token(); // eat ')'return e;}default:return error("primary expected");}}double term(bool get) // multiply and divide {double left = prim(get);for (;;)switch (curr_tok) {case MUL:left *= prim(true);break;case DIV:if (double d = prim(true)) {left /= d;break;}return error("divide by 0");default:return left;}}double expr(bool get) // add and subtract {double left = term(get);for (;;) // ``forever''switch (curr_tok) {case PLUS:left += term(true);break;case MINUS:left -= term(true);break;default:return left;}}int main(int argc, char* argv[]){switch (argc) {case 1: // read from standard inputinput = &cin;break;case 2: // read argument string// input = new istringstream(argv[1]);input = new istrstream(argv[1]);break;default:error("too many arguments");return 1;}table["pi"] = 3.1415926535897932385; // insert predefined names table["e"] = 2.7182818284590452354;while (*input) {get_token();if (curr_tok == END) break;if (curr_tok == PRINT) continue;cout << expr(false) << '\n';}if (input != &cin) delete input;return no_of_errors;d}三、设计过程写出设计过程,实验源代码可不写出,但实验中出错信息及处理方法及解决错误的方法要写。
中南大学(C++实践报告)第一篇:中南大学(C++实践报告)中南大学本科生课程设计(实践)设计报告(程序设计基础)题目MFC课程设计学生学号学生姓名指导教师学院专业班级计算机基础教学实验中心 2015年06月 14日一、引言MFC(Microsoft Foundation Class Library, 微软基础类库)是微软基Windows平台下的C++类库集合。
MFC包含了所有与系统相关的类,其中封装了大多数的API(Application Program Interface)函数,提供了应用程序框架和开发应用程序的工具,如应用程序向导、类向导、可视化资源设计等高效工具,用消息映射处理消息响应,大大简化了Windows应用程序的开发工作,使程序员可以从繁重的编程工作中解脱出来,提高了工作效率。
程序设计实践旨在课堂学习的基础上帮助学生掌握C++应用系统的开发方法和技巧。
在系统学习完《C++程序设计》这门课程后,通过实践对几个小型C++应用程序实例设计与实现过程分析,帮助学生利用C++开发应用系统的一般方法和步骤,掌握MFC的基本知识。
这次实践采用学生上机与老师集体辅导的方式,以完成老师下发的《C++语言课程设计任务书》为要求和目的,运用课堂上学习的C++基础知识,采用Visual C++ MFC编程系统,以全新的角度和感知去认识C++语言在编程方面的优越性。
在实践过程中,基于对话框的MFC应用程序,达到了解基本控件,如静态文本框、命令按钮、编辑框、列表框、组合框等的使用的目的。
还有理解Windows应用程序采用“消息传递、事件驱动”的运行机制。
本次实践的任务主要分为两个部分:使用Visual C++ MFC编程实现以下功能:输入一元二次方程ax2+bx+c=0 的系数a、b、c,计算并输出两个根x1、x2.编写一个能对列表框进行项目添加、修改和删除操作的应用程序。
编写一个程序,绘制-2π~2π之间的sin曲线。
中南大学本科生课程设计(实践)任务书、设计报告(C++程序设计)题目学生成绩管理系统学生姓名指导教师学院专业班级学生学号计算机基础教学实验中心年月日学生成绩管理系统关键字:学生成绩 MFC 编写系统内容:定义一个结构体,存放下列信息:学号、姓名、性别、系名、班级名、成绩等1.学生成绩管理系统开发设计思想要求:一:数据输入:输入学生的相关信息,若用户输入数据或信息不正确,给出“错误”信息显示,重复刚才的操作;至少要输入10个学生的数据;可以随时插入学生信息记录;二:每个学生数据能够进行修改并进行保存;三:可以根据学号或者姓名删除某学生数据;四:查询模块要求能按学号,按姓名,按班级等条件进行查询;五:界面要求美观,提示信息准确,所有功能可以反复使用。
学生成绩管理程序从总体设计方面来看,基本的功能包括主控模块,数据输入模块,数据修改模块,数据查询模块等。
设计模块图:2.系统功能及系统设计介绍详细设计:对于总体设计说明的软件模块,进一步细化,要说明各个模块的逻辑实现方法。
下面逐个说明。
主控模块:主要完成初始化工作,包括屏幕的初始化,显示初始操作界面。
初始界面中主要包括功能的菜单选择项。
输入处理:利用链表技术输入多名学生的数据,直到输入学生的学号以“@”开头,则结束数据的输入。
程序运行流程图如下:删除处理:利用链表技术删除某学号的学生成绩信息,如果找到该学号则进行删除,否则输出“未找到”的信息。
程序运行流程图略。
查找处理:利用链表技术根据学生学号或姓名等方式查找某学号的学生成绩信息,其程序流程图略。
排序处理:利用链表技术根据学生学号对学生数据进行排序,其部分源代码如下:/***********xuesheng.c***********//******头文件(.h)***********/#include "stdio.h" /*I/O函数*/#include "stdlib.h" /*其它说明*/#include "string.h" /*字符串函数*/#include "conio.h" /*屏幕操作函数*/#include "mem.h" /*内存操作函数*/#include "ctype.h" /*字符操作函数*/#include "alloc.h" /*动态地址分配函数*/#define N 3 /*定义常数*/typedef struct z1 /*定义数据结构*/{char no[11];char name[15];char sex[5];char major[15];char class[15];char tele[15];char address[15];int order;struct z1 *next;}STUDENT;/*以下是函数原型*/STUDENT *init(); /*初始化函数*/STUDENT *create(); /*创建链表*/STUDENT *dele(STUDENT *h); /*删除记录*/void print(STUDENT *h); /* 显示所有记录*/void search(STUDENT *h); /*查找*/STUDENT *sort(STUDENT *h); /*排序*/int menu_select(); /*菜单函数*/STUDENT *insert(STUDENT *h); /*插入记录*/void save(STUDENT *h); /*保存*/STUDENT *load(); /*读入记录*/void inputs(char *prompt, char *s, int count);/******主函数开始*******/main(){int i;STUDENT *head; /*链表定义头指针*/head=init(); /*初始化链表*/clrscr(); /*清屏*/for(;;) /*无限循环*/{switch(menu_select()) /*调用主菜单函数,返回值整数作开关语句的条件*/ { /*值不同,执行的函数不同,break 不能省略*/case 0:head=init();break; /*执行初始化*/case 1:head=create();break; /*创建链表*/case 2:head=dele(head);break; /*删除记录*/case 3:print(head);break; /*显示全部记录*/case 4:search(head);break; /*查找记录*/case 5:head=insert(head); break; /*插入记录*/case 6:head=sort(head);break; /*排序*/case 7:save(head);break; /*保存文件*/case 8:head=load(); break; /*读文件*/case 9:exit(0); /*如菜单返回值为14程序结束*/}}}/*菜单函数,返回值为整数*/int menu_select(){char *menu[]={"***************MENU***************", /*定义菜单字符串数组*/" 0. init list", /*初始化*/" 1. Input", /*输入记录*/" 2. Delete", /*删除记录*/" 3. List", /*显示记录*/" 4. Seek(name)", /*查找*/" 5. insert record to list ", /*插入记录到表中*/" 6. Sort", /*排序*/" 7. Save", /*保存*/" 8. Load", /*从文件中读入记录*/" 9. Quit",/*退出*/3.系统开发的体会本次程序设计所用时间较长,工作量很饱满,而且所用的知识很多,但是我们平常在课堂上所学的知识很有限,这就需要我大量的自学书本和课外的其他书籍上的知识。
中南大学c语言课程设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生具备基本的程序设计能力,能够运用C语言解决实际问题。
1.掌握C语言的基本语法和数据类型。
2.熟悉控制结构和函数的定义与调用。
3.理解指针的概念和应用。
4.掌握数组、字符串和动态内存管理。
5.了解常用库函数和预处理指令。
6.能够使用C语言编写简单的程序,解决实际问题。
7.具备基本的调试和排错能力。
8.能够阅读和理解C语言的程序代码。
9.掌握基本的编程规范和技巧。
情感态度价值观目标:1.培养学生的编程兴趣,提高学习积极性。
2.培养学生勇于探索、解决问题的精神。
3.增强学生的团队协作能力和交流沟通能力。
二、教学内容教学内容主要包括C语言的基本语法、数据结构、算法和编程思想。
具体安排如下:1.C语言概述:介绍C语言的发展历史、特点和应用领域。
2.基本语法:数据类型、变量、运算符、表达式、语句等。
3.控制结构:顺序结构、分支结构、循环结构。
4.函数:函数的定义与声明、调用、参数传递、返回值等。
5.数组和字符串:一维、多维数组、字符串的基本操作。
6.指针:指针的概念、声明、运算、指针与数组、指针与函数等。
7.动态内存管理:内存分配与释放、动态数组、链表等。
8.预处理指令:宏定义、文件包含、条件编译等。
9.常用库函数:数学函数、输入输出函数、字符串处理函数等。
10.编程实践:综合实例分析与编程,解决实际问题。
三、教学方法本课程采用多种教学方法相结合,包括讲授法、案例分析法、实验法等。
1.讲授法:通过讲解C语言的基本概念、语法和编程技巧,使学生掌握知识要点。
2.案例分析法:分析典型程序案例,让学生了解实际应用,提高编程能力。
3.实验法:上机实验,让学生动手编写代码,培养实际操作能力。
4.讨论法:学生进行小组讨论,分享学习心得,提高团队协作能力。
四、教学资源1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。
中南大学C++程序设计基础课程设计题目学生成绩管理系统姓名学号班级指导教师刘嫔学院信息科学与工程学院日期二〇一四年七月设计任务书1、题目:C++课程设计报告2、程序功能组成:✧数据的录入:如录入学生的基本信息,以及该学生选修课程的基本信息;✧数据的修改:如修改指定学号、或者指定姓名的学生信息,或者修改其选修课程信息;✧数据的插入:插入某个学生信息;✧数据的查询:如按学号查询、按姓名查询等;✧数据的删除:如删除指定学号、或者指定姓名的学生及其选修课程信息;✧平均成绩的计算:计算每个学生各门功课的平均成绩,并按平均成绩从高到低的次序输出学生信息;✧列出不及格学生清单(学号、姓名、不及格的课程和成绩)。
3、 进度安排:目 录一、总设计方案 (1)序号 设计内容名称 完成时间 备注 1 组队;确定题目;分工 6.25 2初步的需求分析与设计建模6.25~6.273 详细的需求分析与设计建模6.28~6.304 关键模块的实现与测试 7.015 编写课程设计报告 7.01~7.02 6最后总结,修改。
7.03二、使用说明及运行实例 (2)三、成员设计内容简介 (6)四、项目源程序代码 (7)五、设计心得 (19)一、总设计方案系统流程图:开始 结束选择操作输入数据排序 显示数据查询 删除 主菜单插入数据 退出系统按学号按姓名保存数据按景平均成绩选择选择选择选择选择选择选择选择按平均成绩高读取数据选择班级学号性别 姓名二、使用说明及运行实例主界面1.数据录入2.数据修改3. 数据插入4.数据查询5.数据删除6.平均值计算7.列出不及格学生三、成员设计内容简介1.数据录入:数据录入的功能是将需要的数据进行录入,用于后面的各项操作。
实现:用输入函数对数据进行录入,先确定学生的个数,再用一个循环进行输入,选修课程数量亦然。
2. 数据修改:数据修改的主要功能是为修改数据输入出现的错误,实现:先指定该生的学号,找到该生,再输出该生当前的信息,用一个if语句对数据进行修改,再用一个循环语句对选修课信息进行修改。
5 制作模块
主要负责制作添加功能,查找功能及Equipment类和Date类。
添加功能通过if 函数确定适当位置输入相应信息进行添加。
查找功能通过if函数搜索全部程序直至找到相符的设备。
Equipment类录入相关设备信息。
Date类录入设备日期信息,在Equipment中会调用。
6 试验结果
7 设计体会
通过本次设计,进一步体会了c++的语言特点,进一步掌握了类的试用方法,并能更加熟练地运用所学知识进行程序设计。
同时在完成课程设计的过程中,组里同学通力合作,大家合理分工,认真而有效率地完成了自己的部分,并最终完成了本组的设计课题。
8 参考文献
C++程序设计(第2版)
谭浩强编著。