文档库 最新最全的文档下载
当前位置:文档库 › C语言课程设计实验指导

C语言课程设计实验指导

C语言课程设计实验指导
C语言课程设计实验指导

C语言软件开发实习

——课程设计指导书

一、课程设计的性质

C语言程序设计是计算机应用与软件以及相关专业的必修课程,其任务在于使学生建立其基本的程序设计概念,较熟练地掌握C语言的基本语法知识,并具备初步的软件设计能力,为后续课程的学习和毕业设计奠定基础。课程实践是综合掌握在课堂上所学习内容的重要环节,通过实际动手设计和调试程序,使学生熟悉从设计算法、编写代码、形成源程序、可执行程序和运行程序的全过程。

二、课程设计的要求

通过训练,使学生熟练掌握所学的语法知识,了解程序的完整结构和程序设计的环境、程序调试技术以及整个问题求解过程,并能够解决一些常见的实用问题。

三、学时安排

四、实习题目及梗概

第一部分基本程序

1.第一天内容

讲解内容:

选择结构:if语句、switch语句;

循环结构:while语句、do_while语句、for语句;

函数:函数的定义、函数说明、函数的调用。

练习内容:

1.编写一个函数fun,然后设计主函数调用函数fun。函数fun的功能是:求两数平方根之和,作为函数值返回。例如:输入12和20,输出结果为: y = 7.936238。2.编写一个函数fun,然后设计主函数调用函数fun。函数fun的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。

3.编写一个函数fun,然后设计主函数调用函数fun。函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为5,

b 中的值原为3,程序运行后a 中的值为3,b 中的值为5。

4.编写一个函数fun ,然后设计主函数调用函数fun 。函数fun 的功能是:求出两个

非零正整数的最大公约数(用递归和非递归两种方法),并作为函数值返回。再设计一个函数,函数的功能是计算两个非零正整数的最大公倍数。

5.编写一个函数fun ,然后设计主函数调用函数fun 。函数fun 的功能是:统计不超

过一个整数m (包括m 且m ≥3)的素数个数(不包括1和2)。

6.编写函数int fun (int lim, int aa[MAX] ),该函数的功能是求出小于lim 的所有素

数并放在aa 数组中,该函数返回所求出素数的个数。然后编写主函数调用它。 2. 第二天内容

1. 请编写函数float fun(float x, int m),它的功能是:将浮点数x 保留m 位小数(m

不大于6),第m+1位四舍五入。例如,输入123.456,保留2位小数应输出123.46(或123.459999)。

2. 请编写一个函数unsigned fun ( unsigned w ), w 是一个大于10的无符号整数,若w

是n (n ≥2)位的整数,函数求出w 的后n-1位的数作为函数值返回。 3. 编写一个函数fun,函数fun 的功能是:从低位开始取出长整型变量s 中偶数位上的数,

依次构成一个新数放在t 中。例如,当s 中的数为:7654321时,t 中的数为:642. 4. 将十进制正整数转换成k 进制(2≤k ≤9)数的数字输出。例如,若输入8和2,则应输

出1000(即十进制数8转换成二进制表示1000)。 5. 求出1!、3!、5!、…、k!(k 是小于9的奇数)。例如:若k=7,则应输出: 1.00000

6.00000 120.00000 5040.00000。

6. 求a aa a aa a aa s n n ----=-

个个1(此处a 和n 的值在1至9之间, 个n a aa 表示由n

个a 组成的整数)。例如,a=2,n=6,则以上表达式为: s=222222-22222-2222-222-22-2

其和值是:197532。

7. 用下述公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num )为止:

4

π≈1-31+51-71

+……

例如,若输入值为0.0001,则程序的输出3.1414。

8. 编写一个函数float fun(float eps),它的功能是:根据如下公式计算e 的值:

++++++

=!

n 1

!31!21!111e 其中的eps 是指定的精度。

3. 第三天内容

讲解内容:指针的概念与运算、指针作函数的参数、一维数组的定义和引用、一维数组和指针的关系、字符数组作字符串变量、指向字符串常量的指针变量、字符串操作函数。 练习内容:

1.编写一个函数len ,其功能是计算出一个字符串中含有的所有字符个数(不使用库函数

strlen )。

2.编写函数fun ,函数的功能是:计算一个字符串s 中的所含有的指定字符的个数,返回此

值。

例如,输入字符串"Thisisastring",被查找字符为'i',则应输出3。

3.编写程序,读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。

4.编写函数fun,其功能是删除一个字符串中的所有空格。例如,输入字符串"This is a string",则应输出"Thisisastring"。

5.编写函数fun,函数fun 的功能是:将字符串a中的所有字符复制到字符串b中,要求每复制三个字符之后插入一个空格。

6.编写函数,函数fun的功能是:在字符串str中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。

7.编写函数,函数fun 的功能是:首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为“abcdefg”,b所指字符串中的内容为“1234”时,c所指数组中的内容应该为“a4b3c2d1efg”;而当a 所指字符串中的内容为“1234”,b所指字符串中的内容为“abcdefg”时,c所指数组中的内容应该为“1g2f3e4dcba”。

4.第四天内容

讲解内容:选择排序法、冒泡排序法、简单插入排序法和查找与替换方法。

练习内容:

1.用选择排序法对数组a的元素从小到大排序。例如,输入2 5 4 1 6 2 7 3 2 9 4,则应输出1

2 2 2

3

4

5

6

7 9。

选择排序算法。选择排序法采取如下思想对数组a的元素从小到大排序:将数组a的元素处理n-1次,第k次处理时仅处理前n-k个元素,方法是选择出这k个元素中的最大元素,并将其与这些元素中的最后一个交换。当然,也可以按每次选择最小元素的办法进行选择排序。

2.下述程序中,函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。冒泡排序:所谓“冒泡排序”,也称“起泡排序”或者“气泡排序”,是指这样的一种简单排序方法:若被排序的数组元素个数为N,可以对此数组做N-1次处理。在第k次(k=0, 1, …, N-1)处理时,需比较前N-k个元素,方法是:连续从前到后比较相邻的两个元素,如果后面的元素小于前面的元素,则将二者交换,否则不变。可见,每经过一次处理,至少此次被处理的N-k个元素中的最大元素被移到了本次处理的最后位置,而N-1次处理后就使所有的元素被排序。

3.编写函数fun,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本算法是:先对字符串中的头两个元素进行排序。然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,……。待排序的字符串已在主函数中赋值。

4.编写一个函数,其功能是统计一个子字符串在另一个字符串中出现的次数。例如,假定输入的字符串为"this is a string",子字符串为"is",则应输出2。

⑴分析参数与返回值。本例中函数fun的参数的含义为:母字符串str和子字符串sub。该函数需要统计子字符串出现的个数,返回值是int类型,必然是统计后所得的出现次数值,观察main函数中的输出也能肯定这一点。

⑵整理编程思路。编写该函数需要使用一个循环,循环中可以考虑通过一个字符类型的指针在str中由前到后移动,每次移动一个字符位,且将目前指针位置开始的m个字符与sub 所包含的全部m个字符比较(假定sub的长度是m),若二者相同则说明子字符串在母字符串中出现一次,进行累计,否则不累计。无论如何,将指针再移到下一个字符位,进行下一

次循环比较。 ⑶细节考虑。首先,为了实现两组m 个字符的比较,一个可行的办法是写一个函数来实现,但程序不允许再编写其它函数,只能使用库函数或自己构成循环。能够使用的库函数是定义在string.h 中的strstr ,其函数原型如下: char* strstr(char* str, char* sub)

5.N 个有序整数数列已放在一堆数组中。下述程序中的函数fun 的功能是:利用折半查找

算法查找整数m 在数组中的位置。若找到返回其下标值;反之,返回-1

⑴折半查找:折半查找也称为二分查找或二分检索,其基本思想是:在一个数组中查找某个值m 是否存在时,每次查找前先确定数组中待查的范围:low 和hitgh (low high ,查找结束。

6.请编写函数int* fun(char* st),其中st 是仅由字符a 、b 和c 组成的字符串。函数的功能是:统计字符串st 中’a’、’b’和’c’的个数并分别存入不同的内存区,带回内存区的首地址。

7.从m (1≤m ≤10)个字符串中,统计由变量c 中所含字符结尾的字符串个数,此个数由函

数值返回main 函数。

5. 第五天内容

讲解内容:二维数组的定义、引用与初始化、二维数组与指针的关系(二维数组的一维表示、对二维数组的约定、指向一维数组的指针变量、二维数组作函数的参数和用二维数组操作字符串)。 练习内容:

1.将数组x 的元素倒置输出。例如,若输入1 2 3 4 5,则应输出5 4 3 2 1。 2.请编写函数void fun ( int aa[ ], int x, int *n ),它的功能是:删除数组aa 中所有与x 相

等的元素,数组元素个数由n 传入。 3.请编函数void fun(int *a, int *b),它的功能是:求出1到100之内被7或11整除的所有

整数放在数组a 中,通过n 返回这些数的个数。

4.输入一个3行3列矩阵的所有元素,然后输出对角线元素之和。 5.编写函数,其功能是:实现矩阵(3行3列)的转置(即行列互换)。例如,原矩阵为:

123456789????????,则转置后的矩阵为:147258369??????

?? 6. 第六天内容

讲解内容:递归函数、动态内存管理、结构体类型的定义、结构体变量的定义、结构体变量的成员、整体引用结构体、结构体数据在函数间传递、结构体变量的初始化、结构体数组、结构体指针、单链表。 练习内容:

1.请编写函数int fun(double a[ ], int k, int m, double x),它的功能是:用递归方法在数组a 中查

找x 是否出现,其中数组a 的元素已按由大到小的次序排序,k 和m 是数组的最小和最大下标,函数采用二分查找算法,若找到则返回1,否则返回0。 N = m /2; If(a[n] == x) Rutrun n; Else

{

if(a[n]

Return (a+n+1,m-n,x);

Else

Return(a,n-1,x);

}

2.用递归法将一个整数n转换成字符串。例如,输入整数483,应输出字符串“483”。

#include

#include

char s[10];

int k=0;

void fun (int m)

{

/**********found**********/

if(____________)

return;

fun(m/10);

/**********found**********/

s[k++]=m%10;

return;

}

void main ( )

{ int m;

clrscr( );

printf ( "Enter m: ");

scanf ( "%d", &m );

fun (m);

puts(s);

}

3.编写一个函数,函数fun的功能是:输入一个整数x,计算x的平方和立方。例如,输入10,则应输出a=10 a2=100 a3=1000。

4.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在h所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生的人数。

5.建立一个单向链表,链表中的每个结点有一个int类型的数据域,输入0时标志链表建立过程结束。例如,输入1 2 3 4 0,则应输出1,2,3,4,。

⑴链表:单向链表的一般结构如下图所示。

为了实现链表必须定义能够描述链表中结点的数据类型,该类型应包含数据存储区和地址存储区两大部分。下例是包含2个数据域的类型定义:

struct node

{ int code;

char name[20]; struct node* next; }; 结点中的成员也被称为“域”。

⑵链表的建立:有两种基本的建立链表方法,其一,建立链表至少使用两个指针,一个指针用于指向临时链表的头(如head ),另一个指针用于分配新结点(如p ),参见图9.2(a)。由图示可见,由于没有临时指针,表头指针与新结点指针的值难以交换,致使无法查到临时链表的末结点,只能将头指针连接到新结点末尾,然后将新结点指针作为头指针,因此,用此种方法建立的将是倒置的(新结点连接在末尾)链表。

建立正向链表的一般方法是至少使用三个指针:一个是表头指针head ,在指向表头后即固定不变;其次是每次生成新结点的指针new ;为了将新结点连接到链表的末尾还必须有一个指针end 指向末结点。这样每次循环将新结点new 连接到末结点上:end->next=new;,然后更新end 以指向新的末结点:end=new;,为下一次的连接做准备。参见图9.2(b)。 ⑶“遍历”链表的所有结点:

第二部分 实用程序

1.时钟模拟程序设计

实现结果:设计一个时钟表盘,能及时读取系统的时间,并根据当前时间计算并绘制出在时钟表盘上时钟时针、分针和秒针的具体位置,形成时钟运转动画。

2. 计算器程序的设计。

实现结果:实现一个计算器功能的程序。能够用C 语言提供的图形库函数绘制计算器界面、基本的运算程序、计算界面数据数据、运算符定位和刷新功能。

3. 单链表基本算法实现程序。

实现结果:定义单链表数据结构、实现单链表的建立、销毁、查找、插入、删除、排序算法、利用单链表的算法实现多项式相加减应用。

4. 五子棋对战游戏设计。

实现结果:实现利用计算机评判两个人五子棋比赛游戏、用C 语言提供的图形库函数实现

绘制五子棋棋盘,实现五子棋规则评判算法。

(b)链表结点

(a)单向链表 (a)链表

5.其它自选程序。

五、总结与考核

考核主要考察学生在课程设计过程中的工作情况。考核一共分三部分:第一部分是基础知识的完成情况,占主要考核成绩的30%,要求学生上交一份电子档的程序。第二部分是实用程序,要求学生在4个题目中选择一个(或者学生在经过教师同意的情况下可以自己设计一个题目),占考核成绩的50%,要求学生上交一份电子档的程序,并上交一份程序设计报告。报告形式如下。第三部分是平时表现,主要考查出勤情况、课堂表现等,占考核成绩的30%。

实验报告

课程名称:C语言软件开发实习实验项目:

专业班级:

姓名:学号:

实验室号:实验组号:

实验时间:批阅时间:

指导教师:成绩:

沈阳工业大学实验报告

(适用计算机程序设计类)

专业班级:学号:姓名:实验名称:

(适用计算机程序设计类)

专业班级:学号:姓名:实验步骤或程序:

(可加附页)

(适用计算机程序设计类)

专业班级:国际贸易0501 学号:05010022 姓名:李晓光

实验室:综合楼310机房实验组号(或微机编号):B4 实验名称:

(适用计算机程序设计类)

专业班级:国际贸易0501 学号:05010022 姓名:李晓光实验步骤或程序:

1.创建数据库及表,并向表中添加数据。

学生表数据如下:

课程表数据如下:

选课表数据如下:

2.创建查询

(1)查询全部学生信息。

在SQL窗口输入语句:SELECT * FROM 学生,如图所示。

运行结果如下:

(2)查询王明所选修的课程编号和成绩。

在SQL窗口输入语句:

SELECT 课程号,成绩

FROM 选课

WHERE 学号IN (SELECT 序号

FROM 学生

WHERE 学生.姓名=“王明”) 如图所示。

运行结果如下:

分析:从学生表课查到“王明”的学号为“0501002”,从选课表可查到“0501002”只选了一门课,课程号为“002”,成绩60。该SQL语句是正确的。

(3)查询刘晓轩选修的课程名称及任课教师。

在SQL窗口输入语句:

SELECT 课程号,教师

FROM 课程

WHERE 课程IN (SELECT 课程号

FROM 选课

WHERE 学生号IN

(SELECT 学号

FROM 学号

WHERE 姓名=“刘晓轩”)

如图所示。

运行结果如下:

分析:从学生表课查到“刘晓轩”的学号为“0501003”,从选课表可查到“0501003”只选了三门课,课程号为001、002、003,从课程表可以查到这三门课的任课教师是张扬、王一、黄晶。该SQL语句是正确的。

实验报告说明

1.实验项目:即实验题目,要求与实验指导书中一致。

2.实验目的:目的要明确,抓住重点,符合实验指导书中的要求。

3.实验方法:是实验报告极其重要的内容,包括算法设计思路,必要的流程图,界面设计说明,使用模块和变量说明等。

4.实验步骤或程序:实验完成的主要步骤与程序代码等。

5.出现的问题及解决方法:记录实验过程中遇到的问题,解决问题的方法。

6. 注:实验报告成绩将记入实验成绩,要按照实验教师要求及时上交。

7.模版中蓝色字部分在完成实验报告后删除。

六、参考书

牛连强等,《C语言程序设计》,大连理工大学出版社,2002。

会计信息系统(含课程设计)随堂练习

第一章 1.系统的核心部分是()。 A.输入 B.处理 C.输出 D.反馈. 参考答案:B 2.系统的特点包括()。 A. 目的性 B. 关联性 C. 层次性 D. 集合性 E. 环境适应性 参考答案:ABCDE 3.按系统与外界环境的关系分类,分为()。 A.封闭系统 B.半封闭系统 C.开放系统 D.人工系统 E. 自然系统 参考答案:ABC 4.信息的质量要求包括()。 A. 完整性 B. 相关性 C. 可靠性 D. 及时性 E. 可理解性 参考答案:ABCDE 5.企业的结构包括()。 A. 战略决策层 B. 战术管理层 C. 运作管理层 D. 执行者 E.战术决策层 参考答案:ABCD 6.电算化会计信息系统是一个人机结合系统,该系统的组成包括()。A.会计人员 B.计算机硬件 C.软件 D.操作规程 E.数据 参考答案:ABCDE

7.常见的会计数据处理方式有()。 A.批处理 B.实时处理 C.不间断处理 D.间歇处理 参考答案:AB 8.会计信息的输出方式有()。 A.显示输出 B.打印输出 C.软盘输出 D.格式输出 参考答案:ABC 9.信息和数据是同一概念。 参考答案:× 10.信息的一致性是指要使同一主体不同使其的信息可以进行比较。 参考答案:√ 11.在信息的各个质量要求之间存在着冲突,我们在判断具体信息的质量时,是有所侧重的。 参考答案:√ 12.所谓决策中的非结构化的问题,是指问题可以客观地加以解决,解决方法是清楚的,最后可以得到一个正确的答案。 参考答案:× 13.管理信息系统是一个以人为主导,利用计算机硬件、软件、通讯网络、其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业取得竞竞争优势、提高效益和效率为目的,支持企业的高层决策、中层控制、基层运作的集成化的人机系统。 参考答案:√ 14.企业的信息系统由硬件系统、软件系统、数据资源、系统工作规程和人员组成。 参考答案:√ 15. 1954年10月,美国通用电气公司(GE)第一次在UNIVC-1计算机上计算职工的工资,从而引发了会计处理设备的变革,这被认为是会计电算化产生的标志。 参考答案:√ 16.电算化会计信息处理流程中仍然有账账核对这一流程。 参考答案:× 17.电算化会计信息系统与手工会计信息系统完全不同。 参考答案:× 18.电算化与手工方式下会计档案的存储发生了很大变化,从会计信息的安全性角度而言,磁性介质保存的会计档案比纸质会计档案安全。 参考答案:× 19.电算化会计信息系统中,无论凭证、账簿、还是会计报表都根据需要,以多种方式供信息使用者使用。 参考答案:√ 20.电算化会计信息系统与手工会计信息系统基本工作步骤相同。 参考答案:√ 21.电算化会计信息系统与手工会计信息系统遵循不同的基本会计理论和方法。

课程设计心得体会5篇【精选】

最近发表了一篇名为《课程设计心得体会5篇》的,觉得应该跟大家分享,为了方便大家的阅读。 课程设计是一个有目的、有计划、有结构的产生课程计划、课程标准以及教材等系统化活动。以下是课程设计心得体会,欢迎大家阅读! 历时三个星期的课程设计终于在今天完成了。这次课程设计让我学到了很多东西,首先对自己所做的系统进行了一系列的分析和论证。在得出了此系统完全可运行的基础上,再次进行了各种可行性分析,最终确定了这套公司考勤管理系统。 在开始做的阶段,首先运用软件工程所学的东西,画出了系统流程图,物理流程图,E —R图等。这为我后来的系统提供了很大的帮助。在做系统的时候我选择了在大二时学过的VB,这是面向对象的程序设计方法。经过一段时间的努力之后,终于做出了这套系统。 在主体框架完成的情况下,依据老师的要求,将上述所做东西以报告的形式做成文档。 回想自己所经过的日子,有欢笑有泪水,引用一句歌词“阳光总在风雨后”。成功之后的喜悦是无法用语言来形容的。虽然在此前被老师无情的退了回来,但老师的良苦用心总是很容易被网我们这些做学子的理解。究其原因主要是自己不认真,对这一课程设计没有整体的认识,总是存在侥幸心理能混过去就混过去,现在我认识到了这不是一个人应该有的想法。由小见大,在离开学校走像社会的时候,做任何事情都不能马马虎虎。 通过这次课程设计让我认识到自己的不足,让我知道了学无止境的道理。我们每一个人永远不能满足于现有的成就,人生就像在爬山,一座山峰的后面还有更高的山峰在等着你。 以前从没有学过关于汇编语言的知识,起初学起来感觉很有难度。当知道要做课程设计的时候心里面感觉有些害怕和担心,担心自己不会或者做不好。但是当真的要做的时候也只好进自己作大的努力去做,做到自己最好的。 我们在这个过程中有很多自己的感受,我想很多同学都会和我有一样的感受,那就是感觉汇编语言真的是很神奇,很有意思。我们从开始的担心和害怕渐渐变成了享受,享受着汇编带给我们的快乐。看着自己做出来的东西,心里面的感觉真的很好。虽然我们做的东西都还很简单,但是毕竟是我们自己亲手,呵呵,应该是自己亲闹做出来的。很有成就感。 我想微机原理课程设计和其他课程设计有共同的地方,那就是不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。但是我想他也有它的独特指出,那就是让我们进入一个神奇的世界,那就是编程。对于很多学过汇编或者其他的类似程序的同学来说,这不算新奇,但是对于我来说真的新奇,很有趣,也是我有更多的兴趣学习微机原理和其他的汇编。 微机原理与接口技术是一门很有趣的课程,手机版任何一个计算机系统都是一个复杂的整体,学习计算机原理是要整体的每一部分。讨论某一部分原理时又要其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知

c语言课程设计成绩记录簿

合肥学院 计算机科学与技术系 课程设计报告 2012~2013学年第二学期 课程面向过程综合设计 课程设计名称C语言成绩簿 学生姓名 学号 专业班级 指导教师 2013年6月

第一章需求分析 1.1 任务要求: 编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、C语言成绩。具体功能:(1)创建信息链表并以磁盘文件保存; (2)读取磁盘文件并显示输出所有学生的成绩; (3)按学号或姓名查询成绩; (4)添加成绩记录; (5)修改指定姓名或学号的学生的成绩并可存盘; (6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息(可选项)。 1.2任务问题: 如何运用我们已学的c语言知识完成要求?如何制作相应界面?switch的应用该如何实现?如何完成相应的数组或链表的实现与应用?怎样进行相应的文件的读写? 1.3任务的解决步骤: 步骤: 1.建立一个主界面。 2.用switch语句进行分类讨论。 3.分别进入录入,查询,修改,学生分数段统计等子函数。 4.将子函数与主函数相连即可。

第二章算法设计 1、设计思想 2.1 程序结构(流程图)

2.2 重要的数据结构

2.3主要算法思想(文字描述) 本程序是非数值计算型算法设计,我设计出了通讯录管理系统的基本功能,并设计了简单的界面。本程序主要考察对自定义函数的熟悉程度,本程序主要使用的是链表的相关操作,包括结构体链表的创建、输入、输出、查找、修改等。我设计的这个通讯录系统也初步实现了人员信息的显示、修改、查找、等必要的功能,并通过子函数与主函数相连来完成相应的功能。 2.设计表示 int Student_Insert( ); (添加学生成绩) void edit( ); (修改) void Student_Search( );(查找) void WriteFile( ); (写入文件) void ReadFile( ); (读取文件) void Student_Select( );(分数段选择) void PrintMark( );(打印学生分数) void NameChange( );(按姓名修改) void NumberChange( );(按学号修改) 3.实现注释 除了没有用链表进行实验的缺点外,基本可以实现任务要求,界面简洁,程序简单,易操作。 4.算法设计中一些新的想法: 本程序主要包含了结构体与动态变量的相关知识; 其中也多次用到了循环和判断结构; 本程序还可以通过子函数实现删除,排序等操作。用链表,指针也可以实现相应的任务要求。

《C语言课程设计》实验报告

《C语言课程设计》报告 学院:信息工程学院 专业:信息管理与信息系统设计题目:通讯录程序设计班级:2016级一班 学号:201601510138 姓名:张进步 指导教师:杨菲菲 时间:12.24

学生通讯管理系统 1.1 设计目的 学习如何实现一个复杂的信息管理系统——学生通讯管理系统,能够实现老师对学生基本信息的记录、查询、修改。 通过本次学习,读者能够掌握: (1)如何设计主菜单和子菜单,以及各级菜单的响应与返回操作; (2)如何合理设计不同的结构体对系统中多个实体进行封装; (3)如何合理设计多个结构体数组管理不同实体对应的数据; (4)如何对复杂的函数过程进行拆分,用多个子函数进行封装; (5)进一步熟悉文件读取的相关操作。 1.2需求分析 本章的学生信息管理系统的主要功能面向老师,能够实现对学生信息进行录入、修改、查询。 学生信息方面的功能需求如下。 (1)新增学生信息,包括姓名、籍贯、电话号码(2)、电子邮箱。 (2)修改学生信息,可以选择对某个学生的某个属性值进行修改。 (3)查找学生信息,即输入要查找的学生学号,实现学生信息查询。 (4)显示所有学生信息,并以列表的形式清晰呈现。 1.3总体设计 系统功能结构图如图所示;学生信息管理系统 学生信息管理模块:包括4个子模块,分别是学生信息的录入,学生信息的修改,学生信息的查询,学生信息的浏览。

1.4详细设计与实现 1.4.1 预处理及数据结构 1.头文件 本项目涉及4个头文件,其中#include使用字符串的函数的时候需要添加此头文件,#include #include /*system使用的函数*/ #include /*getchar、getch函数使用的头文件*/ #include /*strcmp比较2个字符串是否一样*/ 2.宏定义 LEN sizeof(struct student)表示struct student的长度。DATA是按格式输出结构体的各项数据,能够方便输出操作,减少代码量。 #define_CRT_SECURE_NO_W ARNINGS #include #include #include #include #define LEN sizeof(struct student) #define FORMAT "%-8d%-15s%-15s%-15d%-15d%-15s\n" #define DATA stu[i].numb,stu[i].name,stu[i].nat,stu[i].num1,stu[i].num2,stu[i].mail 3.结构体 利用一个结构体struct student struct student/*定义学生信息结构体*/ { int numb;/*学号*/ char name[15];/*姓名*/ char nat[16];/*籍贯*/ int num1;/*电话号码1*/ int num2;/*电话号码2*/ char mail[40];/*邮箱*/ }; 4.全局变量 分别利用全局变量结构体数组struct student stu[50];来记录所有学生的基本信息,避免程序运行过程中多次初始化,方便各个式子函数调用。 struct student stu[50];

编程导论课程设计题目

西南大学 计算机与信息科学学院 2015级计算机科学与技术大类专业 《编程导论》课程设计A案 1 课程设计的基本要求 1.1能从实际应用问题出发,合理选择数据结构,设计算法形成完整的设计方案。 1.2使用Python实现算法,合理添加注释以保证程序的可读性。 1.3针对项目认真撰写课程设计报告。 2 课程设计主要内容 课程设计题目由教师提供(见第5节),内容可以是一个具体的数据处理问题、字符串处理问题、统计问题和数据挖掘问题。允许学生自拟题目,但需经过教师审核。教师可根据教学实际情况增加题目。 3 课程设计考核方法及成绩评定 3.1考核方式:考查。 3.2成绩评定:课程设计成绩采用100分制,从以下几个评级指标进行评定:

4课程设计报告主要内容和要求 4.1 课程设计报告主要内容 封面 主要内容 4.2 课程设计报告编写的基本要求 (1)采用A4纸书写或打印; (2)如为打印,题目采用宋体3号字加重,正文小标体采用宋体四号,正文采用宋体五号字。 5、课程设计选题 5.1题目:数据挖掘:股票价格 数据挖掘是通过对大量的数据进行排序,挑选出相关信息的过程。商业情报结构和金融分析师会用到它,而且正日益被用在科学领域中,从现代实验和观测方法所产生的巨大数据

集中提取信息。 在这个项目中,我们想要对一些公司的股票价格进行初步的数据挖掘。以Google公司为对象。程序将计算出2010-2015年间Google股票的每月平均价格,并得出Google公司最好和最坏的6个月。提供读取函数的数据,请编写下面几个函数和调用这些函数的主程序。(a)首先需要股票历史价格。访问https://www.wendangku.net/doc/b514979328.html,,在搜索字段中输入Google,选择“Historical Prices”(目前在页面左侧),并找到“Download to Spreadsheet”选项。 将文件保存在Python程序所在文件夹中。默认名称是“table.csv”,将使用该名称。 文件格式由文件前几行给出: Date, Open, High, Low, Close, V olume, Adj Close 2015-10-11, 461.00, 462.07, 443.28, 449.15, 10006000, 449.15 2015-10-10, 422.64, 439.18, 410.50, 439.08, 8589400, 439.08 (b)getDataList (FileName) “CSV”文件是“用逗号分隔的文件”,所以可以在逗号处分割数据。下面的函数将读取一个文件,从逗号处分隔文件中每行,并把数据放到返回的列表中。结果是二维列表,列表的每行又是一个列表。此外,每个项都是一个字符串。读文件需要使用文件名进行调用:get DataList(‘table.csv’),在shell中应用此函数,了解函数的返回值是什么。 def getDataList(fileName): dataFile = open(fileN ame, ‘r’) dataList = [ ] # start with an empty list for line in dataFile: # strip end-of-line, split on commas, and append items to list dataList. append (line.strip().split(‘,’)) return dataList (c)getMonthlyAverages (dataList) 在这个函数中,将使用getDataList函数产生的dataList作为参数。使用Date,Volume, Adj Close计算每月平均价格。下面是一个计算月平均价格的公式,其中Vi代表V olume,Ci是当天调整收盘价(Adj Close)。

C语言程序设计课程设计题目

1一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n 是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进

行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

语言教学课程设计原理》第六章翻译

6.语言教师与语言学家 在前面的章节里中,我大概叙述了一个关于语言教师职责的方法,有助于语言教学法的学科最近的变化启发了这一方法。在这一节中,我将探索一个更深的语言学和课堂实践以及语言学家、教师、学习者之间的关系的领域。我也将简单地讨论一个标准,这个标准可能会帮助老师去做一个关于用若干当代的方法去进行课程设计和课堂教学的决定。 一方面构成第二语言教育学基础的学科之间的相互影响,另一方面在任意特定的教学情景中发生的事,构成一了个迅速发展的研究领域。当然,这个基本学科是理论语言学、描写语言学、心理语言学和社会语言学。当第二语言教学在学校背景进行时,教育学理论也会明显地考虑在内。这些学科以不同的方式比例与课堂教学相互作用,取决于对语言的性质、语言的教与学的认识。 语言学家占主导 20世纪40年代到60年代,基本学科和课堂实践的相互作用倾向于产生不同的第二语言学教学方法。在发展方法时,运用到课堂时间中的理论被认为是从描写语言学到教学的技巧转换的过程,这就导致了从语言学家到老师的一个关系,这种关系让人联系起家族谱系树。我们以听说教学法为例。 在这个特定的家族中,像Leonard Bloomfield和Charles Fries这样的语言学家扮演了祖父的角色。他们的著作被第二代应用语言学家转变为教学材料:英语模式训练(Lado和Fries,1958)是这个过程中的一个明显的例子,拉多英语系列(Lado1970)和现代西班牙语(Bolinger, Ciruti和Montero 1966)。在这期间,老师通过出版课程、语言实验材料的巨大影响以及正式的项目训练得到训练。这一点也不新鲜。然而,应该提一下的是,在我描述的时候,课堂教师需要训练和材料,把这些材料更好更直接地运用到课堂互动中去。一个生成第二语言项目的完善的模式产生了。在这个模式中,教师是第三代语言学家—或是隔三代语言学家—忠实地执行这些聪慧的前辈传下来的技巧。 第二语言教学方法论的观点源于语言学理论,坚持应用语言学的许多模式。其中最著名的一个模式是Corder模式(1973:156),虽然它也包括来自于社会

C语言课程设计报告范例

学院C语言课程设计报告 课程名称: C语言课程设计课程编号: 报告题目 学生姓名学号 专业任课教师 成绩评阅日期

C语言课程设计报告 一、 C语言课程设计的目的 C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1.进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计报告正文 (1)课程设计题目的原文; 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(文件保存) 完成航班信息浏览功能; 查询航线(至少一种查询方式)。 (2)题目的分析(需求分析); 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中) 浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外 要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、 预售票总数、已售票数。 (3)整体设计与模块划分; 根据需求分析,该程序可分为以下四大模块: (4)代码设计; 包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等; A.主函数 (1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所许的文件;调用菜单函数。程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。 菜单函数的功能是替主函数调用个功能模块函数,因而设计的基本思路很简单,即:用一个输入来接受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。 (2)程序: void menu() { int n,w; do {

华中科技大学计算机学院C语言课设实验报告

华中科技大学计算机科学与技术学院 《C语言程序设计》课程设计 实验报告 题目:科研项目信息管理系统 专业:计算机 班级: 学号: 姓名: 成绩: 指导教师:李开 完成日期:2009年10 月20 日

科研项目信息管理系统一、系统功能结构模块图 二、数据结构设计及其用法说明 typedef struct lakey{ char name[30];/*团队名称*/ int total;/*自然科学基金的科研项目数*/ float dudu;/*经费数*/ struct lakey *next; }*plakey;/*统计3中用到的数据结构*/ typedef struct emmey{ char name[30];/*团队名称*/ int teacher;/*老师人数*/ int harden;/*项目数*/ float bizhi;/*比值*/ struct emmey *next; }*pemmey;/*统计4中用到的数据结构*/ typedef struct kPro{ char code[15];/*项目编号*/ char sort;/*项目种类*/ int aking1; char time[8];/*项目时间*/ float dudu;/*项目经费*/ int aking2;

char beiler[15];/*负责人*/ int aking3; char keynoName[30];/*所在团队名称*/ struct kPro *next; }harden,*pHarden; typedef struct Komo{ int teacher;/*老师人数*/ char name[20];/*院系名称*/ int student;/*学生人数*/ float bizhi;/*二者比值*/ struct Komo *next; }*pKomo;/*统计1中用到的数据结构,统计结果放在这个数据结构中*/ typedef struct kTea{ char name[30];/*团队名称*/ char beiler[15];/*负责人*/ int stuNum;/*学生人数*/ int aking2; int coco;/*老师人数*/ char colName[20];/*所在院系的名称*/ int aking1; struct kTea *next; pHarden child; }keyno,*pKeyno; typedef struct edward{ char name[20];/*院系名称*/ int totalnum;/*项目总数*/ int num973;/*973项目数*/ int num863;/*863项目数*/ float amount;/*经费数*/ struct edward *next; }*pedward;/*统计2中用到的数据结构*/ typedef struct kCol{ char name[20];/*院系名称*/ int aking; char beiler[15];/*院系负责人*/ struct kCol *next; char call[15];/*负责人电话号码*/ pKeyno child; }kekey,*pKekey;

人工智能课程设计报告-n皇后问题解读

人工智能课程设计报告 课班姓学程:人工智能课程设计报告级 : 名: 号: 指导教师:赵曼 2015年11月

人工智能课程设计报告 人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐步成为一个独立的分支,无论在理论和实践上都已自成一个系统。 人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域,人工智能学科也必须借用数学工具,数学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科,它们将互相促进而更快地发展。

C语言程序设计课程设计报告

C语言程序设计课程设 计报告 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目: C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 2.1 掷骰子游戏 (5) 2.2 射击游戏 (7) 2.3 计算存款本息之和 (8) 2.4肇事逃逸 (10) 2.5 礼炮 (12) 2.6 汽车加油 (14) 2.7 大优惠 (16) 2.8 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C 语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能;

2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式 ③必须上机调试通过 二、方案实现与调试 2.1掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述

C语言课程设计报告电子生词库软件

程序设计基础实训任务书 题目:电子生词库软件 学生姓名:学号:班级: 题目类型:软件工程(R)指导教师: 一、设计目的 1.进一步掌握和利用C语言进行程序设计的能力; 2.进一步理解和运用结构化程序设计的思想和方法; 3.初步掌握开发一个小型实用系统的基本方法; 4.学会调试一个较长程序的基本方法; 5.学会利用流程图或N-S图表示算法; 6.掌握书写实训开发文档的能力(书写实训报告); 二、设计任务及内容 根据需要,建立属于自己的生词库,这样使用起来很方便。生词选自本人经常需要的单词,对于英文单词,给出中文含义,对于中文单词给出英文含义。功能要求: (1)创建生词库。用文件建立一个单词库,中英文单词均有,对于英文单词,给出中文含义,对于中文单词给出英文含义。 (2)显示词库。显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词时按字母从小到大顺序排列。

(3)编辑词库。首先确认密码后允许添加新词、删除旧词和修改旧词。 (4)查找生词。显示所要查找的单词其及含义 主菜单和子菜单能够循环出现,每一项菜单执行之后,询问用户是否继续进行。从子菜单可以返回主菜单。 三、设计要求 1.用C语言实现系统; 2.系统具有统计、查询、排序等基本功能; 3.系统的各个功能模块要求用函数的形式实现; 4.文档:实训说明书每个学生一份,并装在统一的资料盒中; 5.光盘:每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成一张光盘,放在一个专门的资料袋中。 四、提交的成果 1. 设计任务书一份(学校统一格式) 2. 设计说明书一份,内容包括: 1) 中文摘要100字,关键词3-5个。 2) 实训题目、内容、要求。 3)总体设计(包含几大功能模块)。 4)详细设计(各功能模块的具体实现算法——流程图) 5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

Altium Designer课程设计

徐州师范大学 课程报告 课程名称:Altium Designer教程 题目: 专业班级:08电信 学生姓名: 学生学号: 日期: 2011/1/08 指导教师: 物电学院教务部印制

目录 (以下章节名称为参考) 摘要...................................................................................................II Abstract................................................................................................ II 1 课题背景(或绪论、概述) (1) 1.1 XXXX (1) 1.2 XXXX (x) 2 设计方案简述 (x) 2.1 XXXX (x) 2.2 XXXX (x) 2.3 XXXX (x) 3 详细设计 (x) 3.1 XXXX (x) 3.1 XXXX (x) 4 设计结果及分析 (x) 4.1 XXXX (x) 4.2 XXXX (x) 4.3 XXXX (x) 5总结 (x) 参考文献 (x) 附录主要程序代码 (x)

摘要 电子线路CAD是从实用角度出发,详细介绍了Altium Designe的实用功能,可以引导读者轻松入门,快速提高。全面介绍了Altium Designe的界面、基本组成及使用环境等,并详细讲解了电路原理图的绘制、元件设计、印制电路板图的基本知识、印制电路板图设计方法及操作步骤等,详细讲解了电路从电路原理图设计到印制电路板图输出的整个过程。 关键词:Altium Designe软件;电路原理图设计;电路板; Abstract Electronic circuit from a practical point of CAD is presented in detail Altium Designe practical function, can lead readers to get started, to rapidly improve. A comprehensive introduction to Altium Designe interface, basic composition and the use of the environment, and gave a detailed schematic drawing, component design, printed circuit board diagram of the basic knowledge of Design Method for printed circuit boards and other steps in detail explained from the circuit diagram of the circuit design to printed circuit board map out the entire process. Keywords:Altium Designe software; circuit schematic design; circuit board

C语言程序设计课程设计

《C语言程序设计》课程设计 1课程设计目的 C语言课程设计是在“C语言程序设计”课程后集中安排的1周相关的实践技能训练环节。它的目的是通过实践环节的训练,培养学生查阅资料的能力、分析与解决问题的能力、应用C语言开发与设计程序的能力。 2课程设计选题 2.1 题目1 必做题目,其余题目任选一题完成 题目1:年历显示。 功能要求: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 题目2:小学生测验 面向小学1-2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求: (1)电脑随机出10道题,每题10分,程序结束时显示学生得分; (2)确保算式没有超出1-2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0-50的范围,负数更是不允许的; (3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; (4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; (5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 题目3:学生学籍管理系统(可以2人合作完成) 用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。 功能要求: (1)系统以菜单方式工作。 (2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息; (3)删除已知学号的学生信息; (4)查找已知学号的学生信息; (5)按学号,专业输出学生籍贯表。 (6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。 题目4:通讯录程序设计 设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能:(1)系统以菜单方式工作 (2)信息录入功能 (3)信息浏览功能

浅析语言教学的任务型课程设计,长春教育学院学报.doc

浅析语言教学的任务型课程设计,长春教育 学院学报, 浅析语言教学的任务型课程设计曹顺娣摘要:20世纪80年代以来,作为一种有效的教学模式,任务型教学已被许多语言研究者和教师广泛接受,但与此相关的教学研究与实践一直局限于讨论教学方法。本文分析了任务型课程设计的重要性和理论基础,探讨了如何根据詹姆斯布朗(James Brown)提出的六步骤设计一个典型的任务型课程。 关键词:语言教学,任务型教学,课程设计 Abstract: Since 1980s, task-based teaching has been widely accepted by many language researchers and teachers as an effective teaching style, yet the research and teaching practice has been limited to discussion on teaching approaches and methods only. The thesis analyzes the importance of designing task-based curriculums and the theoretical basis of task-based curriculum design. Then it discusses how to design a typical task-based curriculum following the six steps put forward by James Brown. Key words: Language teaching, Task-based teaching, Curriculum design 1. 任务型教学简介 20世纪80年代以来,任务型教学越来越广泛地被语言教师和研究者接受,许多专家学者在这方面做了大量的实践和研究。但是这些实践和研究一直局限于对教学方法的探讨,而任务型课程设计及教材开发则相对滞后,相应的评价方法也没有得到

相关文档
相关文档 最新文档