文档视界 最新最全的文档下载
当前位置:文档视界 › 销售管理系统设计 c语言

销售管理系统设计 c语言

销售管理系统设计 c语言
销售管理系统设计 c语言

电子科技大学成都学院程序综合设计销售管理系统设计

学生姓名冯垚

学号1240840106

同组人武侠红苗迅

专业名称机械设计制造及其自动化

班级12408401

指导教师陈芳

电子科技大学成都学院

二○一三年十二月

目录

1.前言 (3)

2.设计目的 (3)

3.功能描述 (3)

4.总体设计 (4)

1、功能模块设计 (4)

2、数据结构设计 (5)

3、函数功能描述 (6)

5.程序实现 (8)

1、源程序(略) (8)

2、运行结果 (13)

6.小结 (16)

1.前言

C语言是今年来国内外得到迅速推广使用的一种高级语言。C语言功能丰富,表达能力强,使用灵活方便,应用广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的语言特点,因此C语言对我们来说很重要,本程序是我们小组利用网络和书本等资源公共完成的一个销售管理系统,深刻了解中小型C语言程序设计。

2.设计目的

(1)了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。

(2)掌握高级程序设计语言的知识。

(3)实践中逐步掌握程序设计的思想和方法,培养问题求解和语言的应用能力。

(4)本程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,能对C语言的文件操作有一个更深刻的了解。

(5)要提高与程序设计和软件开发有关的各种综合能力。

(6)掌握利用数组存储结构实现电话簿管理的原理,为进一步开发出高质量的信息管理系统打下坚实的基础。

3.功能描述程序

功能要求 :

某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。

试设计一个便条管理系统,使之能提供以下功能:

1、系统以菜单方式工作

2、便条信息录入功能(便条信息用文件保存)--输入

3、收集到了上个月的所有便条后,读取销售情况

1)计算每个人每种产品的销售额。

2)按销售额对销售员进行排序,输出排序结果(销售员代号)

3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)

描述:

本程序将用到list.txt文件内容作为数据源,其中单行内容代表一张纸条。程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。

4.总体设计

功能模块设计

可以将这个系统分为五大模块:查看没人每种产品的销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。其中主要模块是前四个模块。程序预

数据结构设计:

头文件和预定义

#include

#include

#include

#include

#define M 155

功能函数声明:

void detail();//显示销售情况

void foreach();//从文件读取数据兵分类整理

void menu();//菜单

void product();//对产品进行统计

void readdata();//从文件读取数据

void seller();//对销售员进行统计

void total(); //输出报表

void choice();//选择输出信息

数据结构:

原始数据有销售员代码、产品代号和销售额,所以定义一个全局结构体数组scrip用于保存原始数据。然后定义。然后定义全局变量n保存纸条数目,定义数组s用于保存分类后的信息。

struct ss

{

int sid; //销售员代号

int pid; //产品代号

int sn; //销售额

}

ss[M];

int n; //纸条数目

int s[4][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}}; //用于保存员工和产品信息

主函数:

显示程序设计者相关信息和调用文件读取函数、数据初始化函数和主菜单函数。

void main() //入口函数即主函数

{

readdata(); //读取文件数据

foreach(); //根据文件初始数据初始化便于操作的数组

menu(); //显示主菜单

}

函数功能描述:

每人每种产品销售额统计函数detail()

//计算上个月每个人每种产品的销售额

void detail() //显示销售情况

{

int i,j;

for(i=0;i<4;i++) //遍历销售员

{

printf("\n\t\t%d号销售员销售情况:\n",i+1);for(j=0;j<5;j++) /*按销售员分类遍历所有产品并显示信息*/

printf("\t\t%d号产品销售数量:%d\n",j+1,s[i][j]);

}

choice();

}

文件读取函数readdata()

读出便条中的内容,并保存到文件结构体中。

void foreach()//从纸条读取数据并分类整理

{

int i;

for(i=0;i

{

switch(ss[i].pid)//按产品分大类,根据大类分销售员小类,累加个人各产品销售数量

{

case 1:

switch(ss[i].sid)

{

case 1:s[0][0]+=ss[i].sn;break;

case 2:s[1][0]+=ss[i].sn;break;

case 3:s[2][0]+=ss[i].sn;break;

case 4:s[3][0]+=ss[i].sn;break;

}

break;

case 2:

switch(ss[i].sid)

{

case 1:s[0][1]+=ss[i].sn;break;

case 2:s[1][1]+=ss[i].sn;break;

case 3:s[2][1]+=ss[i].sn;break;

case 4:s[3][1]+=ss[i].sn;break;

}

break;

case 3:

switch(ss[i].sid)

{

case 1:s[0][2]+=ss[i].sn;break;

case 2:s[1][2]+=ss[i].sn;break;

case 3:s[2][2]+=ss[i].sn;break;

case 4:s[3][2]+=ss[i].sn;break;

}

break;

case 4:

switch(ss[i].sid)

{

case 1:s[0][3]+=ss[i].sn;break;

case 2:s[1][3]+=ss[i].sn;break;

case 3:s[2][3]+=ss[i].sn;break;

case 4:s[3][3]+=ss[i].sn;break;

}

break;

case 5:

switch(ss[i].sid)

{

case 1:s[0][4]+=ss[i].sn;break;

case 2:s[1][4]+=ss[i].sn;break;

case 3:s[2][4]+=ss[i].sn;break;

case 4:s[3][4]+=ss[i].sn;break;

};

break;

}

}

}

主菜单函数menu()

显示系统功能菜单以供用户选择相关功能使用,根据用户选择分别可调用。void menu()

{

int w,c;

do

{

puts("\t\t********************菜单*********************\n\n");

puts("\t\t 1.查看每人每种产品的销售额\n");

puts("\t\t 2.按销售额对销售员排序(销售员代号)\n");

puts("\t\t 3.对每种产品总销售额从高到低排序(产品代号和销售额)\n");

puts("\t\t 4.输出统计报表\n");

puts("\t\t 5.退出\n");

puts("\n\n\t\t*********************************************\n");

printf("请选择(1-5):[ ]\b\b");

scanf("%d",&c);

if(c<1||c>5) //错误输入则重新获取输如

{

w=1;

getchar();

}

else w=0;

}

while(w==1);

switch(c)//根据输入实现相应函数调用

{

case 1:

detail();break;//每个销售员每种产品的销售额统j计

case 2:

seller();break;

case 3:

product();break;

case 4:

total();break;

case 5:

exit(0);

}

}

统计报表输出函数total()

统计每种产品的总销售额,对这些产品按从高到低的顺序输出排序结果(需输出产品代号和销售额)

void total()//输出报表

{

int i,j;

printf("\n\t销售员\t产品\t销量\n");

for(i=0;i<4;i++)

for(j=0;j<5;j++)

printf("\t %d\t %d\t %d\n",i+1,j+1,s[i][j]);

choice();

}

5.程序实现

1、源程序

#include

#include

#include

#include

#define M 155

void detail();//显示销售情况

void foreach();//从文件读取数据兵分类整理

void menu();//菜单

void product();//对产品进行统计

void readdata();//从文件读取数据

void total(); //输出报表

void choice();//选择输出信息

struct ss

{

int sid; //销售员代号

int pid; //产品代号

int sn; //销售额

}

ss[M];

int n; //纸条数目

int s[4][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}}; //用于保存员工和产品信息

void main() //入口函数即主函数

{

readdata(); //读取文件数据

foreach(); //根据文件初始数据初始化便于操作的数组

menu(); //显示主菜单

}

void readdata()//从文件读取数据

{

FILE *fp;

if((fp=fopen("list.txt","r"))==NULL)

{

printf("Can't open the file!\n");

exit(0);

}

else

for(n=0;!feof(fp);n++)

{

fscanf(fp,"%d %d %d\n",&ss[n].sid,&ss[n].pid,&ss[n].sn);

} //保存文件数据到结构体

fclose(fp);

}

void foreach()//从纸条读取数据并分类整理

{

int i;

for(i=0;i

{

switch(ss[i].pid)//按产品分大类,根据大类分销售员小类,累加个人各产品销售数量

{

case 1:

switch(ss[i].sid)

{

case 1:s[0][0]+=ss[i].sn;break;

case 2:s[1][0]+=ss[i].sn;break;

case 3:s[2][0]+=ss[i].sn;break;

case 4:s[3][0]+=ss[i].sn;break;

}

break;

case 2:

switch(ss[i].sid)

{

case 1:s[0][1]+=ss[i].sn;break;

case 2:s[1][1]+=ss[i].sn;break;

case 3:s[2][1]+=ss[i].sn;break;

case 4:s[3][1]+=ss[i].sn;break;

}

break;

case 3:

switch(ss[i].sid)

{

case 1:s[0][2]+=ss[i].sn;break;

case 2:s[1][2]+=ss[i].sn;break;

case 3:s[2][2]+=ss[i].sn;break;

case 4:s[3][2]+=ss[i].sn;break;

}

break;

case 4:

switch(ss[i].sid)

{

case 1:s[0][3]+=ss[i].sn;break;

case 2:s[1][3]+=ss[i].sn;break;

case 3:s[2][3]+=ss[i].sn;break;

case 4:s[3][3]+=ss[i].sn;break;

}

break;

case 5:

switch(ss[i].sid)

{

case 1:s[0][4]+=ss[i].sn;break;

case 2:s[1][4]+=ss[i].sn;break;

case 3:s[2][4]+=ss[i].sn;break;

case 4:s[3][4]+=ss[i].sn;break;

};

break;

}

}

}

void menu()

{

int w,c;

do

{

puts("\t\t********************菜单*********************\n\n");

puts("\t\t 1.查看每人每种产品的销售额\n");

puts("\t\t 2.按销售额对销售员排序(销售员代号)\n");

puts("\t\t 3.对每种产品总销售额从高到低排序(产品代号和销售额)\n");

puts("\t\t 4.输出统计报表\n");

puts("\t\t 5.退出\n");

puts("\n\n\t\t*********************************************\n");

printf("请选择(1-5):[ ]\b\b");

scanf("%d",&c);

if(c<1||c>5) //错误输入则重新获取输如

{

w=1;

getchar();

}

else w=0;

}

while(w==1);

switch(c)//根据输入实现相应函数调用

{

case 1:

detail();break;//每个销售员每种产品的销售额统j计

case 2:

seller();break;

case 3:

product();break;

case 4:

total();break;

case 5:

exit(0);

}

}

void detail()//显示销售情况

{

int i,j;

for(i=0;i<4;i++)//遍历销售员

{

printf("\n\t\t%d号销售员销售情况:\n",i+1);for(j=0;j<5;j++)/*按销售员分类遍历所有产品并显示信息*/

printf("\t\t%d号产品销售数量:%d\n",j+1,s[i][j]);

}

choice();

}

void seller()

{

int i,j,k;

int sp[4]={0,0,0,0};

for(i=0;i<4;i++)

for(j=0;j<5;j++)

sp[i]+=s[i][j];//计算每单个销售员所有产品销售情况

for(i=0;i<4;i++)//比较四次,每次选出最大数

{

k=0;//用于标记单轮最大数

for(j=0;j<4;j++)

if(sp[k]

printf("\t\t第%d名是%d号销售员!\n",i+1,k+1);sp[k]=-1;/*输出最大数和排名,将最大数标记为负*/

}

choice();}

void product()//与seller()原理一样,用于对产品进行统计

{

int i,j,k;

int p[5]={0,0,0,0,0};

for(j=0;j<5;j++)

for(i=0;i<4;i++)

p[j]+=s[i][j];

for(j=0;j<5;j++)

{

k=0;

for(i=0;i<5;i++)

if(p[k]

printf("\t\t第%d名是%d号产品!\t销量为%d!\n",j+1,k+1,p[k]);p[k]=-1;

}

choice();

}

void total()//输出报表

{

int i,j;

printf("\n\t销售员\t产品\t销量\n");

for(i=0;i<4;i++)

for(j=0;j<5;j++)

printf("\t %d\t %d\t %d\n",i+1,j+1,s[i][j]);

choice();

}

void choice()//用于输出信息功能选择

{

int c;

printf("请选择接下来想做什么\t1>返回菜单\t2>退出系统[ ]\b\b");

scanf("%d",&c);

if(c==1)

menu();

else

exit(0);

puts("\n");

}

2、运行结果

(1)主界面

(2)查看每人每种销售额运行结果

当用户输入“1”并按Enter键后,即可进入数据。如图所示,这里读取了文档list.txt 的5个便条。当用户输入为“1”时,它会返回菜单主界面,否则退出系统。

(3)按销售额对销售员排序运行结果

在主界面输入2并按Enter键,查看按销售额对销售员排序运行结果,如下图所示,此时有4个销售员记录。

(4)对每种产品从高到低运行结果

在主界面,当用户输入3并按Enter键后,记录对每种产品从高到低运行结果,如下图所示。

(5)统计报表运行结果

在主界面当用户输入4并按Enter键后,即可进入查看统计报表运行结果。如下图所示。

6.小结

1. 该课程设计的销售管理系统实现了对销售的各方面的管理,同时也对各项项目进行排序,最后输出统计表。

2. 经过这一周的课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处对C,首先对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。还有,就是通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。而学好C语言的最重要的地方就是要对各个概念都要透彻了解,在这次课程设计里面我才发现自己对概念性问题有很多不了解的地方,导致使用的时候出现很多错误。

C语言 图书销售管理系统

目录 图书销售管理系统设计 (2) 一、设计要求 (2) 二、总体设计思路 (2) 1. 主要功能:系统主要包括八个功能模块。 (2) 2. 总体思路框图 (2) 三、主要参数和函数 (3) 1. 全局变量 (3) 2. 主要函数 (3) 四、程序调试及整体实现 (10) 1. 主菜单运行界面 (10) 2. 图书信息录入界面 (10) 3. 图书信息浏览界面 (11) 4. 图书查询界面 (11) 5. 图书信息修改界面 (12) 6. 图书信息删除界面 (12) 7. 图书信息排序主界面 (13) 8. 购书清单界面 (14) 五、体会总结 (14) 附件 (15)

图书销售管理系统设计 一、设计要求 1.图书信息包括:序号、书名、作者、出版单位、价格。 2.系统以菜单方式工作。 3.图书信息录入功能(图书信息用文件保存)--输入。 4.图书信息的删除与修改功能。 5.图书信息浏览功能--输出。 6.查询功能--算法:(按书名/作者查询)。 7.排序功能--算法:(按书名排序/按价格排序)。 8.图书购买功能:统计选购图书的总价,给出清单,屏幕输出参考以下的实际 购书单。 二、总体设计思路 1.主要功能:系统主要包括八个功能模块。 1)图书信息的录入:将所要录入的图书信息包括序号、书名、作者、出版社、 价格等录入一个文本文件中。每录入一本书,系统提示是否继续,若不继 续,则返回主界面。 2)图书信息的查询:将所有图书信息包括序号、书名、出版社、作者、价格 等显示在屏幕上,最后返回主界面。 3)图书信息的查询:通过输入图书名称或作者完成图书信息的查找,并在屏 幕上显示,返回主界面。 4)图书信息的修改:通过输入序号,判断此图书是否存在,若不存在则提示 用户重新输入图书序号,若存在则要求输入要修改图书的序号,对该图书 重新录入信息。录入后,提示是否继续,如不继续,则返回主界面。 5)图书信息的删除:通过输入序号,判断此图书是否存在,若存在,则提 示用户是否显示删除后的信息,若不存在则提示用户重新输入图书序号, 删除完毕后,返回主界面。 6)图书信息的排序:通过输入书名或价格,提示用户输入想要使用的排序方 式,排序后的信息显示在屏幕上,返回主界面。 7)图书的购买:通过输入要购买的图书序号,计算出总本书和总价格并连同 其他购买信息一并显示在屏幕上。 8)退出系统:返回主页面。 2.总体思路框图

C语言程序设计习题答案(1-5章)

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。 4. 求1×2×3×…×10的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

C语言课程设计-学生成绩管理系统-完整版

#include<> #include<> #include<> #include<> /* strcmp函数原型包含*/ #define N 100 /*定义最大学生人数为100*/ struct student /*学生结构体定义*/ { char no[11]; /*学号,10位*/ char name[10];/*姓名,3个汉字*/ char grade[10];/*班级*/ char pro[20];/*专业*/ float score[5];/*储存5门功课的成绩*/ float ave;/*储存平均分*/ int year;/*入学年*/ }stu[N]; int num; void panduani(int); /*通过i的值,判断信息要查找的信息是否存在*/ void output(); /*输出学生成绩函数(公共函数)*/ void init(); /*系统初始化函数*/ void newfile(); /*建立新的数据文件*/ void read1(); /*从数据文件中读取数据*/ void weihu(); /*维护界面函数*/ void new1(); /*新增一个学生成绩函数*/ void xiugai(); /*修改学生成绩*/ void xgcj(int); /*修改成绩*/

void delete1(); /*删除学生信息函数*/ void tongji(); /*统计界面函数*/ void tongji1(); /*计算每个学生平均分*/ void tongji2(); /*计算每门课程的平均分*/ void paixu1(); /*排序函数*/ void paino(); /*按学号排序*/ void paiave(); /*按平均分排序*/ void paidkcj(); /*按单科成绩排序*/ void change(int,int); /*交换结构体数组中的两个记录*/ void outputx(int); /*选择输出单科成绩*/ void find1(); /*查找界面函数*/ int find(char sno[]); /*按学号查找*/ int findname(char cname[]);/*按姓名查找*/ void findyear(int cyear); /*按入学年查找*/ void save(); /*保存文件*/ void stop(); /*停顿函数*/ void stop() /*停顿函数(公共函数)*/ { printf("Press Any Key To Continue...\n"); getchar(); } void output() /*输出学生成绩函数(公共函数)*/ { int i,j;

销售管理系统课设报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2011年春季学期 C程序设计课程设计 题目:销售管理系统 专业班级:计算机1班 姓名:ZWZ 学号:10240136 指导教师:周小健 成绩:

摘要 销售管理系统程序设计利用计算机技术,使得企业生产、库存和销售能够有利结合起来,提高企业的效率和效益。 利用该系统可以为决策者和管理者及时掌握时常动态和企业的生产状况,以及对员工销售额的统计。 销售管理系统是一个企业单位不可缺少的部分,它的内容对于公司的决策者和管理者来说都至关重要,所以销售管理系统应该能够为管理人员提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对员工信息及业绩进行管理,具有手工管理所无法比拟的优点.

目录 摘要 (2) 一、需求分析 0 1.1 要求 0 1.2 系统功能 0 1.3 运行环境 0 1.4 开发工具 0 二、总体设计 (1) 三详细设计 (2) 2.2 功能模块设计 (2) 2.3 系统流程图(如图 3.1)...................... 错误!未定义书签。 四、编码 (5) 五、测试 (6) 六、设计总结 (11) 致谢 (12) 参考文献 (13) 附录1 0

一、需求分析 1.1 要求 (1)用c语言实现程序设计; (2)利用结构体进行相关信息处理; (3)画出查询模块的流程图; (4)系统的各个功能模块要求用函数的形式实现; (5)界面友好(良好的人机互交),程序要有注释 1.2 系统功能 (1)定义一个结构体类型数组,输入每一位同学的记录(包括姓名、电话号码、e_mail、地址),将其信息存入文件中; (2)输入姓名查询该同学的信息,并显示在屏幕上; (3)画出所有模块的流程图; (4)编写代码; (5)程序分析与调试。 1.3 运行环境 (1)WINDOWS2000/XP系统 (2)Turboc2.0编译环境 1.4开发工具 (1)C程序

《单片机C语言程序设计》课程标准

广州康大职业技术学院 《单片机C语言程序设计》课程标准 一、基本信息 适用对像:应用电子技术专业的学生 课程代码: 学分:2 学时:36 制定人:徐又又 制定时间:2010年9月 所属系部:自动化 批准人:陶甫廷 二、课程的目标 1.专业能力目标 了解单片机C语言的特点、与PC机C语言的异同之处、单片机C语言的开发环境; 熟悉单片机C语言的基本语法规范、Keil C软件的应用及其与硬件平台的连接、C语言程 序结构设计、与单片机相关的设置等方面知识。 2.方法能力目标 了解用单片机C语言进行应用产品软件开发的步骤,具备单片机C语言程序的识读、修改的基本能力;学会使用Keil C软件进行源程序编辑、编译和软、硬件模拟调试的操作方 法与技能。 3.社会能力目标 通过后续课程《单片机应用实训》的学习与强化训练,具有使用单片机C语言进行电子产品、自动检测与控制和高新视听设施等方面的软件开发的职业技能。 三、整体教学设计思路 1.课程定位 该课程是应用电子技术和自动化技术等专业获得专业技能的必修课程之一,该课程属于职业技术课程,以培养电子产品开发相关行业急需的机电类和电子类高级技能应用型人才 为目标。 本课程一般在学生学完模拟电子技术与数字电子技术、计算机技术等专业基础课后再讲授;《单片机应用》等课程可作为先修课程,也可在同一学期开设。 2.课程开发思路

本课程根据“工学结合”的原则,强调对单片机C语言程序设计的理论部分删繁就简,以“实用够用”为度,就是为了便于他们在后续的实训月(四周)以及即将下厂顶岗实习期 (十周),将所学的单片机C语言程序设计的常用原理与实用知识,能够与实训、实习的生 产工位和顶岗工作更紧密地联系起来。 四、教学内容 1.学时分配 学习情境名称子学习情境1 子学习情境2 子学习情境3 子学习情境4 学时 分配 学习情境(单元)1 单片机C语言概述单片机C语言与 PC机C语言的异 同之处 简单的C程序介绍 及上机操作(编译 三个简单C程序) 3 教学时数 1 2 学习情境(单元)2单片机C语言开发环境 建立 Keil软件的使 用(源文件、 工程的建立) 上机操作(用keil 软件进行工程的设 置) 3 教学时数 2 1 学习情境(单元)3数据的类型、运算符和 表达式 用整型和字符型 定义变量 数的溢出 C51中特有的数 据类型 上机操作(用 算术运算符和 算术表达式编 写程序) 6 教学时数 2 1 2 1 学习情境(单元)4C51流程与控制顺序结构程序选择结构程序循环结构程 序(上机操作 编译冒泡排 序法程序) 6 教学时数 2 2 2 学习情 境(单 元)5 C51构造数据类型数组指针结构共用体和枚举 6 教学时数 2 2 1 1 学习情境(单元)6单片机内部资源的组成中断编程上机操作用定时器 /计数器资源 编程并编译 串口编程 6 教学时数 2 2 2 学习情境(单元)7函数函数的定义函数的调用局部变量和全局 变量 变量的存储类 别 6 教学时数 2 2 1 1

C语言实用程序设计100例流程图

C语言实用程序100例 第一篇基础与提高 实例1利用库函数编写基本显示程序 实例2变量属性 实例3运算符与类型 实例4关于程序结构 实例5显示函数曲线图 实例6二分法选代的应用 实例7多变的立方体 实例8一维整型数组应用(1) 实例9一维整型数组应用(2) 实例10一维整型数组应用(3) 实例11一维整型数组应用(4) 实例12二维数组应用(1)——显示杨辉三角实例13二维数组应用(2)——魔方阵 实例14字符数组应用(1)——逻辑判断 实例15字符数组应用(2)——数据模拟 实例16二维数组应用——字符比较 实例17利用指针进行数据处理 实例18指针与字符串 实例19利用指针处理二维数组 实例20一级指针 实例21利用指针传递参数值 实例22结构体的应用 实例23链表的应用(1)

实例24链表的应用(2) 实例25链表的应用(3) 实例26共用体的应用 实例27枚举类型应用 实例28位运算 买例29义件加密 实例30文件的按记录随机读写 第二篇图形与多媒体 实例31改变文字背景色 实例32及本颜色设置 实例33制作表格 实例34制作多样的椭圆 实例35美丽的透视图形 实例36错位窗口 实例37能移动的矩形 实例38多变的填充矩形 实例39黄黑相间的矩形与圆 实例40六叶图案 实例41特殊图案 实例42国际象棋棋盘 实例43制作楼梯 实例44使用线类型函数设置多个汉字实例45彩色群点 实例46饼图 买例47产品折线图 实例48直方图 实例49变大变色的拒形与国

实例50多变的填充多边形 实例51流星球 实例52小球动态碰撞 买倒53多,曲线 实例54多变的圆与环 实例55优美的球体 实例56运动的小车 实例57统计动画消失次数 实例58运行的时钟 实例59直升飞机 实例60演绎“生命游戏” 实例61猜猜看 买例62艺术清屏 买倒63制作火焰 实例64动态绘制256条不同颜色的直线实例65红绿蓝三原色渐变 第三篇综合小程序 实例66两个矩阵相乘 实例67艺术钟 实例68家庭财务管理小程序 实例69用系统时间实现随机数 实例70闪动的多彩圆 实例71检查系统有无鼠标 实例72圆形光盘与矩形 实例73动态渐变图案 实例74往返两地间的小车 实例75飘扬的红旗

C语言课程设计销售管理系统

C语言课程设计 题目 指导教师 学生姓名 学号 专业 教学单位

目录 1设计内容与设计要求 (1) 1.1系统功能简介 (1) 1.2系统运行环境 (1) 2功能划分,模块详细说明 (1) 3程序流程图 (1) 4运行的运行及说明 (2) 4.1系统的运行 (2) 4.2运行说明 (4) 5总结 (5) 附件:源程序清单 (5)

1设计内容与设计要求 1.1系统功能简介 ?系统有简单的菜单界面,用户可以通过输入简单的选项来完成 相应的工作。 ?选定一种产品,按销售额的顺序对销售员进行排序,输出排序结果。 ?统计每种产品的总销售额,输出排序结果。 ?输出统计报表。 1.2系统运行环境 Vc++6.0下运行,硬件基本无要求,现在的计算机系统基本都可以运行该系统。 2功能划分,模块详细说明 系统的功能是通过子函数调用的方式来完成的,下面对程序中用到的函数及其功能做一下说明。 ●void menu():显示主菜单界面。 ●void data_count(data *x):以写方式打开文件,对商品信息清零,读 入职工编号、产品编号、销售量等信息,对相同职工的相同产品的销售量求和后写入文件。 ●void range_sxy(data *x):以读方式打开文件,读入信息,输入按何种 产品排序后对存储职工编号的数组进行排序,最后输出新序的职工编号信息。 ●void range_shangpin(data *x):从文件读入信息,对每项产品的销售 量求和,按每项产品的总销售量排序。 ●void data_out(data *x):打开文件,读入信息,求所有产品的销售量 的和,输出统计表。 ●void main():主函数,调用以上函数,完成相应功能。 3程序流程图 程序整体流程图如图3-1所示:

c语言学生成绩管理系统含源代码

C 语言程序设计作业 一设计项目:学生成绩管理系统 二总体设计: 2:模块功能说明: 1 输入功能:输入学生姓名学号及成绩。 2 查看功能:输出姓名学号及各科成绩。 3 查询功能:通过学号查询学生姓名及各科成绩。 4 统计功能:统计班级学生及格率,优秀率,各个学生成绩方差等。 5 修改功能:通过输入学号修改指定学生的错误信息。 6添加功能:添加学生信息。 7删除功能:通过输入学号输入指定学生信息。 8保存功能:将学生信息保存。 9 退出系统。 3:主要函数之间的调用关系及各自功能: 主要函数的函数原型 void inputscore(void); void savescore(void); void avergescore(void); void modifyscore(void); void lookscore(void); void searchscore(void); void statistic(void); void add(void); void modify(void);

void delscore(void); void menu(void); i.在菜单界面输入1,调用函数inputscore( )实现输入学生成绩信息功能。ii.在菜单界面2,调用函数lookscore( )实现学生成绩按平均分高低排序输。 出,同时lookscore()函数调用avergescore()函数实现各个学生平均分的计 算。 iii.在菜单界面输入3,调用searchscore()函数实现通过学号查找学生成绩信息功能。 iv.在菜单界面输入4,调用statistic()函数输出班级及格率,优秀率,学生成绩方差,不及格学生名单。 v.在菜单界面输入5,调用modify()函数实现通过学号修改学生成绩的功能vi.在菜单界面输入6,调用add()函数实现添加学生成绩。 vii.在菜单界面输入7,调用delscore()函数实现删除指定学生成绩。 viii.在菜单界面输入8,调用savescore()函数将学生成绩信息保存。 ix.在菜单界面输入9,退出成绩管理系统。

C语言程序设计销售管理系统

C语言程序设计销售管理 系统 The latest revision on November 22, 2020

销售信息管理系统设计文档 组号:第二组 成员:汪品高齐瑞智欧阳鑫赵飞锋章森 目录 一.题目与要求 二.功能实现设计(模块化设计)三.运行结果(附带抓图)四.源程序

报告正文 1、题目与要求: 2、某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员汇总当天出售的每种产品的销售情况。 2 每天销售情况包括(销售员的代号、产品的代号、这种产品当天的销售额) 1、编写一个销售信息管理系统,读取上个月的销售情况 1、计算上个月没人每种产品的销售额 2、按销售额对销售员进行排序,输出排序结果(销售员代号) 3、统计每种产品的总销售额,对这些产品从高到低的顺序输出结果 (须输出产品的代号和销售额) 4、输出统计报表 2、需求分析 本程序将用到文件系统,其中单行内容代表一张纸条。程序运行后首先将文件系统的原始数据读取并保存到程序的结构体数组当中,所以应提供文件输入的操作;由于纸条数据零散,所以要对原始数据进行分类操作并提供一个数组用于保存分类信息;在程序中要进行统计工作,所以要提供显示、排序等操作;另外应提供键盘式选择菜单实现功能选择。 3、功能实现设计 总体设计

根据上面的分析,可以将这个系统分为如下五大模块:查看每人每种产品的销售额、按销售额对销售员排序、对每种产品总销售额从高到低排序、输出统计报表和退出。其中主要模块是前四个模块。 流程图 详细设计: #include<> #include<> #include<> #include<> #define M 【功能函数声明】 vvoid detail(); void foreach(); void menu(); void product(); void readdata(); void seller(); void total(); void choice(); 【数据结构】 原始数据有销售员代号、产品代号和销售额,所以定义一个全局结构体数组scrip用于保存原始数据。然后定义全局变量n保存纸条数目,定义数组s用于保存分类后的信息。 struct ss { int sid; id,&ss[n].pid,&ss[n].sn); } id)

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

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

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 掷骰子游戏 (5) 射击游戏 (7) 计算存款本息之和 (8) 肇事逃逸 (10) 礼炮 (12) 汽车加油 (14) 大优惠 (16) 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。 这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能; 2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式

③必须上机调试通过 二、方案实现与调试 掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。 程序流程图 图1 掷骰子游戏 调试过程及实验结果

学生成绩管理系统代码c语言编写

/* Note:Your choice is C IDE */ #include "stdio.h" #include "stdlib.h" #include "string.h" typedef struct student // 定义学生 { char name[10]; int number; char sex[2]; int math; int eglish; int clanguge; int average; } student; typedef struct unit // 定义接点 { student date; struct unit * next; } unit; unit * build() // 建立链表并返回指针 { unit *p; if ((p =(unit * )malloc( sizeof (unit))) ==NULL) { printf( "=>初始化失败!"); return 0; } else { p-> next =NULL; p-> date . number=0; // 头结点存放学生人数printf( " 初始化成功!\n" ); return p; } } void add(unit * head) // 增加学生 { unit *p,*q; int m,n =0; q=head-> next; p=(unit * )malloc( sizeof (unit)); printf( "=>请输入新生姓名!\n" ); gets(p ->date . name);fflush(stdin); printf( "=>请输入学号!\n" ); while (n ==0)

c语言销售管理系统

课程设计说明书 学院、系: 专业: 学生姓名:学号: 销售管理系统 设计题目: 起迄日期: 指导教师: 日期: 2017年5月12日

1 设计目的 1.了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。 2.握高级程序设计语言的知识。 3.践中逐步掌握程序设计的思想和方法,培养问题求解和语言的应用能力。 4.程序中涉及结构体、数组、文件等方面的知识。通过本程序的训练,能对C语言 的文件操作有一个更深刻的了解。 5.提高与程序设计和软件开发有关的各种综合能力。 6.通过本课程设计,培养上机动手能力,巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手能力,闯过编程关; 7.为后续各门计算机课程的学习打下坚实基础; 8.学会用c语言程序设计来设计销售管理系统设计。 2 任务概述 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。 试设计一个便条管理系统,使之能提供以下功能: 1、系统以菜单方式工作 2、便条信息录入功能(便条信息用文件保存)--输入 3、收集到了上个月的所有便条后,读取销售情况 1)计算每个人每种产品的销售额。 2)按销售额对销售员进行排序,输出排序结果(销售员代号) 3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果 4)输出统计报表 3 模块划分 主菜单及头文件设计 编辑系统菜单运行 输入信息 保存信息,参数为结构体数组和记录数 读入取函数,参数为结构体数组 清单输出 主要功能的实现 4 主要函数说明及其N-S图

单片机C语言程序设计师试题及答案

单片机C语言程序设计师试题 一、填空题 1、设X=5AH,Y=36H,则X与Y“或”运算为_________,X与Y的“异或”运算为________。 2、若机器的字长为8位,X=17,Y=35,则X+Y=_______,X-Y=_______(要求结果写出二进制形式)。 3、单片机的复位操作是__________(高电平/低电平),单片机复位后,堆栈指针SP的值是________。 4、单片机中,常用作地址锁存器的芯片是______________,常用作地址译码器芯片是_________________。 5、若选择内部程序存储器,应该设置为____________(高电平/低电平),那么,PSEN信号的处理方式为__________________。 6、单片机程序的入口地址是______________,外部中断1的入口地址是_______________。 7、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为_________,机器周期为_______________。 8、外围扩展芯片的选择方法有两种,它们分别是__________________和_______________。 9、单片机的内部RAM区中,可以位寻址的地址范围是__________________,特殊功能寄存器中,可位寻址的地址是____________________。 10、子程序返回指令是________,中断子程序返回指令是_______。 11、8051单片机的存储器的最大特点是____________________与____________________分开编址。 12、8051最多可以有_______个并行输入输出口,最少也可以有_______个并行口。 13、_______是C语言的基本单位。 14、串行口方式2接收到的第9位数据送_______寄存器的_______位中保存。 15、MCS-51内部提供_______个可编程的_______位定时/计数器,定时器有_______种工作方式。 16、一个函数由两部分组成,即______________和______________。 17、串行口方式3发送的第9位数据要事先写入___________寄存器的___________位。 18、利用8155H可以扩展___________个并行口,___________个RAM单元。 19、C语言中输入和输出操作是由库函数___________和___________等函数来完成。 二、选择题 1、C语言中最简单的数据类型包括(b )。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 2、当MCS-51单片机接有外部存储器,P2口可作为( c )。 A、数据输入口 B、数据的输出口 C、准双向输入/输出口 D、输出高8位地址 3、下列描述中正确的是( d )。 A、程序就是软件 B、软件开发不受计算机系统的限制 C、软件既是逻辑实体,又是物理实体 D、软件是程序、数据与相关文档的集合 4、下列计算机语言中,CPU能直接识别的是( d )。 A、自然语言 B、高级语言 C、汇编语言 D、机器语言 5、MCS-5l单片机的堆栈区是设置在( c )中。

c语言程序设计流程图详解

c语言程序设计流程图详解 介绍常见的流程图符号及流程图的例子。 本章例1-1的算法的流程图如图1-2所示。本章例1-2的算法的流程图如图1-3所示。 在流程图中,判断框左边的流程线表示判断条件为真时的流程,右边的流程线表示条件为假时的流程,有时就在其左、右流程线的上方分别标注“真”、“假”或“T、”“F或”“Y、”“N”注“真”、“假”或“T、”“F或”“Y、”“N”

另外还规定,流程线是从下往上或从右向左时,必须带箭头,除此以外,都不画箭头,流程线的走向总是从上向下或从左向右。 2.算法的结构化描述 早期的非结构化语言中都有goto语句,它允许程序从一个地方直接跳转到另一个地方去。 执行这样做的好处是程序设计十分方便灵活,减少了人工复杂度,但其缺点也是十分突出的,一大堆跳转语句使得程序的流程十分复杂紊乱,难以看懂也难以验证程序的正确性,如果有错,排起错来更是十分困难。这种转来转去的流程图所表达的混乱与复杂,正是软件危机中程序人员处境的一个生动写照。而结构化程序设计,就是要把这团乱麻理清。 经过研究,人们发现,任何复杂的算法,都可以由顺序结构、选择(分支)结构和循环结构这三种基本结构组成,因此,我们构造一个算法的时候,也仅以这三种基本结构作为“建筑 单元”,遵守三种基本结构的规范,基本结构之间可以并列、可以相互包含,但不允许交叉,不允许从一个结构直接转到另一个结构的内部去。正因为整个算法都是由三种基本结构组成的,就像用模块构建的一样,所以结构清晰,易于正确性验证,易于纠错,这种方法,就是结构化方法。遵循这种方法的程序设计,就是结构化程序设计。 相应地,只要规定好三种基本结构的流程图的画法,就可以画出任何算法的流程图。 (1)顺序结构 顺序结构是简单的线性结构,各框按顺序执行。其流程图的基本形态如图1-4所示,语句 的执行顺序为:A→B→C。 (2)选择(分支)结构 这种结构是对某个给定条件进行判断,条件为真或假时分别执行不同的框的内容。其基本形状有两种,如图1-5a)、b)所示。图1-5a)的执行序列为:当条件为真时执行A,否则执 行B;图1-5b)的执行序列为:当条件为真时执行A,否则什么也不做。 (3)循环结构 循环结构有两种基本形态:while型循环和do-while型循环。 a.while型循环 如图1-6所示。 其执行序列为:当条件为真时,反复执行A,一旦条件为假,跳出循环,执行循环紧后的语句。 b.do-while型循环 如图1-7所示。

汽车销售管理系统C语言版

西安郵電大學 C语言课程设计报告题目:汽车销售管理系统 院系名称: 专业名称: 班级: 学生姓名: 学号(8位): 指导教师: 设计起止时间:

一. 设计目的 1. 对c语言基本知识的巩固和综合运用。熟练使用基本数据类型,基本控制结构,数组,函数,指针等。 2. 强化上机动手能力,在理论和实践的基础上进一步巩固《C语言程序设计》课程学习的内容,掌握工程化软件设计的基本方法。 3. 学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。 4. 为后续各门计算机课程的学习打下坚实基础。 5.《汽车销售管理系统》的设计与实现,此次程序设计主要利用c语言的基础知识开发一个简单的汽车销售管理系统。汽车销售管理系统是一个企业不可缺少的一部分,它利用计算机对汽车销售进行统一管理,实现汽车销售管理工作的系统化、规范化和自动化,为企业提高工作效率。 二. 设计内容 主要利用c语言的文件操作能力设计开发一个小型的管理信息系统,主要功能有: 1.能够实现对新车的入库工作。 2.能够修改汽车信息。 3.能按销售新车来管理汽车销售信息。 4.能够查询汽车信息。 5.能够删除汽车信息。 6.显示汽车库存信息。 7.能够实现对汽车品牌、汽车进价、姓名的排序。 8.能够实现退出系统。 三.概要设计 1.功能模块图;

2.各个模块详细的功能描述。 1.能够实现对新车的入库工作。创建汽车产品信息文件,根据提示输入若干汽车的信 息,并将这些信息保存至一个文件中。 2.能够修改汽车信息。提示用户输入要进行修改操作的产品名称和产品型号,如果在 产品信息文件中有该息存在,则将提示用户输入要修改的选项,并将结果保存至原产品信息文件,并提示用户选择是否继续进行修改操作。 3.能按销售新车来管理汽车销售信息。创建一个销售记录文件,每完成一次销售,就 按销售信息的要求输入各项数据,并将该次的销售信息添加到文件中,同时修改相应的汽车产品信息文件(主要是修改其库存数量)。 4.能够查询汽车信息。输入产品名称,在汽车产品信息文件中查找相应的汽车信息并 输出。 5.能够删除汽车信息。提示用户输入要进行删除操作的产品名称和产品型 号,如果在产品信息文件中有该信息存在,则将对应的汽车信息删除,否 则输出提示信息,并提示用户选择是否继续进行删除操作。 6.显示汽车库存信息。打开汽车信息文件,输出文件内汽车信息。 7.能够实现对汽车品牌、汽车进价、姓名的排序。按不同条件进行排序操作,输出满 足条件的笔记本电脑信息。 8.能够实现退出系统。

51单片机C语言程序设计复习资料

2013-2014学年上期51单片机C语言程序设计重修复习提纲考试方式:闭卷考试。 考试题型: 填空题(每空1分,共18分);单项选择题(每空2分,共18分);问答及计算题(每题4分,共16分);编程及程序阅读题(5小题,共48分)。 考试分数: 卷面成绩70%+平时成绩15%+实验成绩15%,未缺席、无课堂违纪、作业全交且认真完成的同学平时成绩可获得满分,缺席一次平时成绩扣30分,实验好评次数3次以上且实验报告全优的同学实验成绩可得满分,实验缺席一次扣30分。缺席实验和旷课共3次以上者,无考试资格。 考试时间: 18周周一(12月30日)下午14:00:16:00,考试地点:具体考室另行通知希望大家认真复习,认真听讲,不懂就问,考试成绩不及格允许查卷,如查卷卷面批阅无误成绩不做更改。 编程题为实验或实验类似的题目有3题,其余2题也取自课堂讲授例题,请务必认真复习。第一章单片机概述及单片机知识回顾 掌握什么是单片机、单片机的应用、常见单片机类型、十进制、十六进制、二进制数制转换知识。掌握单片机的硬件组成、CPU的结构、程序计数器PC的功能、存储器结构、机器周期的计算、会画出单片机的最小系统电路图及回答单片机最小系统的组成。 第二章C51语言程序设计基础(本章填空题和选择题比重较大请务必认真复习)掌握C51语言进行软件开发与汇编语言相比的优点、掌握C51的数据类型、特殊功能位的定义、C51的基本运算(位运算重点复习)、数组的定义、C51的结构及函数。 第三章AT89S51片内并行端口及编程(本章有编程题) 掌握P0-P3并行端口的特点,会开关量检测及流水灯程序的编程。 第四章AT89S51单片机的中断系统(本章有编程题) 掌握中断系统的结构、中断请求响应被满足的条件、外部中断的触发选择方式、外部中断的使用与编程。 第五章AT89S51单片机的定时器/计数器(本章有编程器) 掌握定时器的结构,TOMD及TCON的使用,定时器方式0和方式1的特点、会计算定时器初值,会用定时器中断产生PWM波形,会用定时器对外部事件进行计数。 第六章AT89S51单片机的串行口(本章有计算题) 掌握串行通信的基础知识(课本没有的内容请参照课堂讲授笔记或PPT)、串行口的四种工作方式的特点、会计算奇偶校验码、会根据波特率计算T1的初值。 第七章AT89S51单片机与输入/输出外设接口(本章有编程题) 掌握数码管动态显示的原理、掌握矩阵式键盘的原理与编程(矩阵键盘编程必考,但不会考4X4键盘)。 第八章AT89S51单片机与D/A与A/D转换器的接口(本章有编程题) 掌握AD与DA转换的接口、ADC和DAC的技术指标、常用AD和DA转换器。掌握ADC0809和TLC2543的使用与编程(2器件其中之一有编程题)。 第九章AT89S51单片机应用系统与调试(本章有编程题) 掌握单片机应用系统的软件抗干扰方法。

c语言学生成绩管理系统代码

#include #include #include #define MAXN 100 //一个班最多的人数 #define MAXM 2 //成绩的课程门数 int R; void input(); //1.学生成绩新建 void sort(); //2.学生成绩插入 void load(); //3.学生成绩修改 void print(); //4.学生成绩删除 void total(); //5.学生成绩统计 void search(); //6.学生成绩查询 void save(); //7.学生成绩保存 void end(); //8.结束 struct student { char name[20]; //保存全班姓名 char num[12]; //保存全班学号 float score[MAXM]; //保存全班所有课程成绩 float sum; //保存全班每个人的总成绩 float avg; //保存每个人的平均成绩 }; struct student s[MAXN]; struct http { char subject[20]; //保存全班所有课程 }; struct http c[MAXM]; void main() //欢迎首界面 { int select,l; system("color fC"); printf("\n"); printf("\n"); printf("\n"); printf("\n"); printf(" ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥\n"); printf(" * *\n"); printf(" * *\n"); printf(" * 欢迎进入终极一班学生管理系统 *\n"); printf(" * *\n"); printf(" * ︻┳═一 cf ... *\n"); printf(" * ┈━═☆甘总管的多塔生活∝╬══→ *\n");

C语言销售管理系统

(一)、设计内容与设计要求 1.设计内容: 设计课题四:销售管理系统 一、问题描述: 通过本系统实现对N个销售员信息的录入、显示、添加、删除,以及对产品销售额的排序等操作的管理。 二、功能描述: 1、本系统采用一个包含n个数据的结构体数组,每个 数据的结构应当包括:姓名、身份、产品1销售额、 产品2销售额、总产品销售额。 2、本系统显示这样的菜单: 销售管理系统 1、销售员信息输入 2、销售员信息输出 3、删除销售员 4、添加销售员 5、销售额排序 6、统计产品销售额

7、保存销售额信息 0、退出系统 3、执行一个具体的功能之后,程序将重新显示菜单。 4、将系统信息保存在文件中。 三、算法提示: 1、数据结构:结构体类型数组 2、数据库结构:下表构成该系统的基本数据库 四、测试数据:记录数20。 2.设计要求: 1).设计正确,方案合理。 2).界面友好,使用方便。 3).程序精炼,结构清晰。 4).设计报告5000字以上,含程序设计说明,用户使用说明,

源程序清单及程序框图。 5).上机演示。 (二)、进度安排 第一周课题讲解,查阅资料总,体设计,详细设计 周日:8:00——12:00 14:00-—18:00 周一:8:00——12:00 周三:14:00——18:00 第二周编程,上机调试,修改程序,完善程序,答辩 撰写课程设计报告 周二:8:00——12:00 周五:14:00——18:00 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。

正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。 正文总字数要求在5000字以上(不含程序原代码) 目录 一、需求分析 (1) 二、概要设计 (1) 三、详细设计 (5) 四、调试分析以及设计体会 (6) 五、使用说明 (6) 六、附录 (7)

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