《高级语言程序设计》课件
- 格式:ppt
- 大小:465.52 KB
- 文档页数:274


《程序设计基础(C语言)》
课程设计
学院:生命科学学院
班级: 高分子二班
学号: 20102412930
姓名: 李雷
日期: 2014年5月
《C语言程序设计》
题目名称: 学生评教系统
算法分析:
使用循环结构、判断结构、结构体、文件流、数组指针等要素,完成简单的系统。
流程设计:
1、先调用教师初始化和学生初始化函数,初始化数据。
2、显示评教系统界面,提供功能选择。
3、输入学生学号密码,进入系统。 4、
代码设计:
#include
#include
#include
#include
struct teacher
{
char num[12];
char name[20];
char xueyuan[30];
char xingbie[15];
char kecheng[15];
int chengji;
};
struct student
{
char num[12];
char name[20];
char xueyuan[30];
char xingbie[15];
char banji[15];
};
#define TEACNUM 1000
#define STEAC_LEN sizeof(struct teacher)
struct teacher TEAC[TEACNUM];
#define STUDNUM 1000
#define STEAC_len sizeof(struct student)
struct student STUD[STUDNUM];
//教师成绩管理模块的函数声明
void ManagerLogin(int tn);
void Inputoneteacher(int i); int Loadteachers(void);
void Saveoneteacher(int i);
《程序设计基础(C语言)》
课程设计
学院:生命科学学院
班级: 高分子二班
学号: 20102412930
姓名: 李雷
日期: 2014年5月
《C语言程序设计》
题目名称: 学生评教系统
算法分析:
使用循环结构、判断结构、结构体、文件流、数组指针等要素,完成简单的系统。
流程设计:
1、先调用教师初始化和学生初始化函数,初始化数据。
2、显示评教系统界面,提供功能选择。
3、输入学生学号密码,进入系统。 4、
代码设计:
#include
#include
#include
#include
struct teacher
{
char num[12];
char name[20];
char xueyuan[30];
char xingbie[15];
char kecheng[15];
int chengji;
};
struct student
{
char num[12];
char name[20];
char xueyuan[30];
char xingbie[15];
char banji[15];
};
#define TEACNUM 1000
#define STEAC_LEN sizeof(struct teacher)
struct teacher TEAC[TEACNUM];
#define STUDNUM 1000
#define STEAC_len sizeof(struct student)
struct student STUD[STUDNUM];
//教师成绩管理模块的函数声明
void ManagerLogin(int tn);
void Inputoneteacher(int i); int Loadteachers(void);
void Saveoneteacher(int i);
高级程序设计课程设计指导书
第 1 页 共 5 页 《高级程序设计》课程设计指导书
对象:浦计1003-5 时间:2011年6月
设计题目:大学人员管理系统、图书管理系统、平面图形多态演示系统
指导老师:杨建新
一、实习步骤
随着计算机硬件性能的提高,人们开发的软件越来越大,软件开发的复杂度也急骤增加。然而,编制一个10,000行的程序的难度绝不仅仅是一个5,000行的程序的两倍。软件的复杂度随着其规模呈非线性增长!因此软件开发需要系统的方法。事实上,这正是软件工程这门学科产生的背景。按照软件工程的观点,通常我们可以将软件从构建到消亡的整个生命周期划分为分析、设计、编码、调试、测试、维护等几个阶段。其中设计又可细分为总体设计、各功能模块的概要设计、详细设计等。当然一个具体的软件不一定具有上述的每种分类。虽然高级程序设计课程中的实习题的复杂度远不如(从实际问题提出来的)一个“真正的”软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,我们制订了如下所述完成实习的七个步骤:
(一)问题分析和任务定义
与精确定义的数学问题不同,软件开发所面对的问题通常是不明确的,或者说其含义是模棱两可的。理由很简单的,软件开发出来是供人使用的,它当然得符合用户的需求,然而用户的需求是个含糊的不精确的主观上的东西,有时甚至用户自己都不清楚自己究竟想要什么,并且用户的需求也不是一成不变的,很可能会发生变化。因此软件开发的第一步通常是需求分析,也即明确问题或者说明确软件系统的功能目标——用户究竟想要什么,限制条件是什么等。为了尽可能模拟实际的软件开发,我们实习题目的陈述也比较简洁、或者说有模棱两可的含义。因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么?限制条件是什么。另外,最好事先设计一组好的测试用例用以验收最后构高级程序设计课程设计指导书
第 2 页 共 5 页 建的系统是否满足用户的功能需求,不要等到系统构建完了才设计测试用例。注意:本步骤强调的是做什么(what to do)?而不是怎么做(how to do)。
经典C语言程序设计100例(三)
【程序21】
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
1.程序分析:采取逆向思维的方法,从后往前推断。
2.程序源代码:
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/ x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
【程序22】
题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
2.程序源代码:
main()
{
char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/
for(i='x';i<='z';i++)
for(j='x';j<='z';j++)
{
if(i!=j)
for(k='x';k<='z';k++)
{ if(i!=k&&j!=k)
{ if(i!='x'&&k!='x'&&k!='z')
printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
}
} }
}
【程序23】
题目:打印出如下图案(菱形)
*
***
******
********
******
***
*
1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。