[页数] 10 [字数] 1809 [目录] 一:设计题目和任务 二、分析与设计 三:系统实施: 四:总结与体会 五:参考书目 [原文] 一:设计题目和任务 课程设计题目:学生成绩管理系统 课程设计任务:通过程序设计环境的使用,熟悉各种程序设计工具的基本操作方式;学会C++面向过程程序设计,并能独立设计较复杂的面向过程程序;学会C++面向对象程序设计,并能独立设计简单的面向对象程序。 二、分析与设计 1. 设计任务分析 设计一个实现添加与删除的通讯录,要实现记录的动态添加与删除,记录可以不连续存放,方便查询、插入、删除、打印记录。 2. 设计方案论证 链表可以动态分配内存空间,可以不连续存放数据而能实现数据的有效连接操作主要有查询、插入、删除、打印,对数据的操作方便。 3. 详细设计 首先设计一个创建链表的代码,创建一个链表,设计好表头,利用指针使表头指向下一个接点,利用动态内存分配,来为新加入的记录分配内存 (1).定义一个结构体,包含学生的学号及其成绩。. (2).当程序运行时,首先出现:请选择数字1.创建学生列表,2.添加学生 3.删除 学生4.显示全部学生5.查询6保存.0.退出。 若选1则显示请输入学号及成绩。然后可以进行输入操作。 若选2则调用添加学生函数。 若选3则调用删除学生函数。 若选4则可以显示全部学生。 若选5则可以查询某一学生的成绩及排名。 若选6则可以将所有输入进行存储(保存在student.txt)。 程序代码如下: #include<fstream.h> #include<malloc.h> #define NULL 0 #define LEN sizeof(struct student) struct student//定义一个student结构体,包含学号、成绩及指向下一个结构体的指针。 { long num; float score; struct student *next; }; struct student *head=NULL,*tail=NULL;//定义一个头指针及一个尾指针。 int n; struct student *creat()//定义一个创建表单的函数。 { struct student *p1;//定义一个student类型的指针。 n=0;//统计学生的人数 p1=(struct student *)malloc(LEN);//为p1分配一个长度为LEN的内存空间。 cout<<"请输入学号及成绩:"<<endl;//为num及score赋值 cin>>p1->num>>p1->score; p1->next=NULL; while(p1->num!=0)//判断输入是否结束 { n=n+1; if(n==1) { head=p1; tail=head; }//当n=1时,为头指针赋值。 else { if(p1->score<head->score) { p1->next=head; head=p1; }//当p1的成绩小于头指针所指向的成绩时,则将head前移。 else if(p1->score>=tail->score) { tail->next=p1;tail=p1; }//当p1的值小于tail的值时,将tail后移 else { student *p;...... [参考文献] 谭浩强,C程序设计,北京:清华大学出版社,1991年 杨开城,C语言程序设计教程、实验与练习,北京:人民邮电出版社,2006年10月 孟庆昌 陈海鹏,C语言程序设计,北京:人民邮电出版社,2006年4月 [原文截取] XXXXXX 学 院 信息科学与工程学院 课 程 设 计 报 告 设 计 题 目 学生成绩管理系统 学生专业班级 计本05级3班 学生姓名(学号) 指 导 教 师 完 成 时 间 实 习(设计)地点 信息楼机房201 2006年 12 月 20 日 一:设计题目和任务 课程设计题目:学生成绩管理系统 课程设计任务:通过程序设计环境的使用,熟悉各种程序设计工具的基本操作方式;学会C++面向过程程序设计,并能独立设计较复杂的面向过程程序;学会C++面向对象程序设计,并能独立设计简单的面向对象程序。 二、分析与设计 设计任务分析 设计一个实现添加与删除的通讯录,要实现记录的动态添加与删除,记录可以不连续存放,方便查询、插入、删除、打印记录。 2. 设计方案论证 链表可以动态分配内存空间,可以不连续存放数据而能实现数据的有效连接操作主要有查询、插入、删除、打印,对数据的操作方便。 3. 详细设计 首先设计一个创建链表的代码,创建一个链表,设计好表头,利用指针使表头指向下一个接点,利用动态内存分配,来为新加入的记录分配内存 (1).定义一个结构体,包含学生的学号及其成绩。. (2)..... |
学生成绩管理系统程序设计
查看评论
已有0位网友发表了看法