程序设计实践_任务书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计实践任务书
课程名称:程序设计实践
课程编号:25070748
学分/学时:3学分/3周
课程类型:实践性课程
考核方式:考查
开课学期:大一第3学期
开课单位:计算机与信息工程学院
先修课程:C语言程序设计、C++面向对象程序设计
后续课程:数据结构与算法、网络编程、嵌入式软件设计等
适用专业:计算机科学与技术、网络工程、空间信息科学与工程
一、课程设计的目的、任务与要求
课程性质:程序设计实践是学习C/C++程序设计的一个重要环节。通过课程设计的综合训练,可以使学生在学习理论知识并在实验中进行了一系列基本训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用Visual C++ 6.0以后,通过使用Visual C++ 6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。
教学目标:本通过学习本课程,学生能够更熟练地掌握C/C++语言的语法规则,能够运用简单的算法,综合运用编程方法和问题分析方法,设计针对解决问题的算法步骤。初步培养数据采集、数据分析、数据处理及结果分析的能力。
a.加强掌握C/C++程序设计语言的语法规程和综合编程能力;
b.培养学生面向对象和面向过程的编程思想,学会从现实问题中抽象出一般的解决方法;贯彻面向对象编程思想,抽象出合适的类,封装相关功能函数。
c.掌握基本的软件分工,根据算法画出流程图、报告书写及答辩汇报技巧;
二、设计任务及要求
任务一:C语言部分(以下选做一题)
(1)某班学生基本信息管理,可包括以下功能:
学生基本信息输入、输出、插入、删除、排序、查询、数据保存及打开。
struct student /*定义一种结构体类型*/
{ int num;
char name[20];
char sex;
int age;
} ;
#include “stdio.h”
main()
{ struct student stu[5];
int i;
for(i=0;i<5; i++)
scanf("%d%s%c%d",&stu[i].num, stu[i].name, &stu[i].sex, &stu[i].age);
for(i=0;i<5; i++)
printf("%d%s%c%d\n",p->num,p->name,p->sex,p->age);
}
建立一个静态链表,它由三个学生数据结点组成,输出各结点的数据
#include “stdio.h”
#define NULL 0
struct student
{long num;
float score;
struct student *next;};
main()
{struct student a,b,c,*head,*p;
a.num=99101;a.score=89.5;
b.num=99103;b.score=90;
c.num=99107;c.score=85;
head=&a;
a.next=&b;
b.next=&c;
c.next=NULL;
p=head;
while(p!=NULL)
{printf(“%ld%5.1f\n”,p->num,p->score);
p=p->next; } }
键盘上输入若干个学生的学号及考试成绩, 将这些数据写入磁盘文件y.dat中。(由学号等于0作终止标记)
#include "stdio.h"
main()
{ struct student
{ int num;
float score; };
struct student stu;
FILE *fp;
fp=fopen("y.dat","wb");
scanf("%d%f",&stu.num,&stu.score);
while(stu.num!=0)
{ fwrite(&stu,sizeof(struct student),1,fp);
scanf("%d%f",&stu.num,&stu.score);}
fclose(fp);}
程序4:将程序4建立的文件内容读出并显示出来。
#include "stdio.h"
main()
{ struct student
{ int num;
float score; };
struct student stu[10];
FILE *fp;
int n=0 ,i;
if((fp=fopen("y.dat","rb"))!=NULL)
{ fread(&stu[n],sizeof(struct student),1,fp);
while(!feof(fp))
{ n++;
fread(&stu[n],sizeof(struct student),1,fp);}
for(i=0;i printf("%5d%6.1f\n",stu[i].num,stu[i].score); fclose(fp);} else printf("can not open y.dat\n"); } (2)职工信息管理 职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复),职工信息管理,可具有以下功能: 职工信息录入、输出、查询、删除、修改、数据保存、文件打开等。 基本功能要求:见(1)。 (3)图书信息管理 图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。尝试设计一图书信息管理系统,可实现以下功能: 图书信息录入、图书信息浏览、图书查询(按书名查询或按作者名查询)、排序、图书信息的删除与修改、数据保存、文件打开等。 基本功能要求:见(1)。 任务二:C++部分共分A,B两类,可选择任意一类完成。 A类: 1、学校人员信息管理系统 设计任务:设计一个学校人员信息管理系统,可以实现对学校人事的信息管理。 基本功能要求: (1)建立人员信息数据 包括学号(教工号)、姓名、性别、专业(工作系别部门)、出生时间、年龄。其中, <1> 对学生,还包括3门课的成绩(Chinese, English, Mathematics)。三门课的成绩 为int型数据。 <2> 对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double