当前位置:文档之家› c语言设备管理系统

c语言设备管理系统

c语言设备管理系统
c语言设备管理系统

课程设计说明书

学院、系:

专业:

学生姓名:学号:

设计题目:设备管理系统

起迄日期:

指导教师:

日期: 2017年5月12日

1 设计目的

提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握C语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养C语言只是运用与自学能力,加强程序分析能力。

2 任务概述

功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。

分步实施:

1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;

2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行

补充、修订、删除,能统计所有设备的总价值。

3、进一步要求:完成设备按种类、按所属部门进行统计。

3 模块划分

系统可设计为:

实验设备信息写入模块

实验设备信息输出模块.

实验设备信息查询模块

实验设备信息添加模块

实验设备信息删除模块

实验设备信息查询模块

实验设备信息统计模块

结构体成员包括设备号,设备名称,设备领用人,设备所属部门,设备数量,设备购买时间,设备价格。

4 主要函数说明及其N-S图

4.1主函数流程图

4.2 N-S图4.3查询记录

4.4读入/写入文件

图4.4

4.5添加数据

4.6删除数据

4.7

修改数据

4.8统计数据

5 程序运行数据及其结果

图5.1 进入界面

图5.2菜单&功能选择

图5.3 添加数据

图5.4 查看数据

图5.5 删除数据

图5.6 修改数据

图5.7 统计数据

6 课程设计心得

经历了大一上半学期C语言课程,C语言笔试,C语言机试的“洗礼”,让我对C语言的有了进一步的认识,深深认识到自己学习的还不够,平时敲的代码也太少,作为一名软件工程的学生,感到深深的愧疚,对不起老师,对不起父母,更对不起自己,同时为自己将来毕业后的命运感到一份担忧。在大一下学期C语言实训中,不仅有网上已有成果的借鉴与分析,以及向同学的请教,还有相关资料的查阅,既加深了自身能力的认知与对自己不足的体会,也优化了和同学的关系,真可谓一举两得。同时还得出一个结论:亲身下河知深浅,亲口尝梨知酸甜!作为一名软件工程的学生,平时在电脑跟前敲代码的过程是必需的,谁也躲不了,一份努力,一份收获,同时,学习C语言需要细密又严谨的思维,良好的操作习惯,这样才有可能在编程的道路上百尺竿头更进一步!也希望各位老师、身边的同学监督,更需要自己的积极自省。期待三年后一个成熟优秀的自己!

附录:

#include

#include

#include

#include

void menu(); //功能选择

void add(); //添加信息

void del(); //删除信息

void alt(); //修改信息

void chec(); //查看信息

void count(); //统计信息

void read(); //读取文件

void write(); //写入文件

struct array

{

char ano[20],aname[20],aowner[20],aapartment[20],aamount[20],atime[20],aprice[20]; int del; //判断是否删除,值为0为未删除,1为已删除

} a[20];

int No,sum;

int main()

{

system("mode con cols=145 lines=35");

puts("\n\n\n\n\n\n\n\n\n\n\n\n\n <<<<<<欢迎使用设备管理系统!>>>>>>");

getchar();

read(); //实现文件读进内存

menu(); //实现功能选择

write(); //实现信息写入文件

return 0;

}

void menu()

{

system("cls");

int a;

puts("\n\n\n\n\n\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<请选择需要的功能:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");

puts(" 1.查看设备信息\n

2.添加设备信息\n

3.删除设备信息\n

4.修改设备信息\n

5.统计设备信息\n

0.退出系统");

printf("\t\t请选择你的功能(选择0~5)[ ]\b\b");

s canf("%d",&a);

switch (a)

{

case 0:return;

case 1:chec();break;

case 2:add();break;

case 3:del();break;

case 4:alt();break;

case 5:count();break;

default:printf("信息有误!请检查后重新输入\n");

}

}

void read()

{

No=0;

FILE *fp=fopen("D:\\infor.txt","r+"); //读写功能

if(fp==NULL)

{

f p=fopen("D:\\infor.txt","w+"); //若没有则创建一个txt

f close(fp);

}

int i;

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

{

fread(&a[i],sizeof(struct array),1,fp); //一次读取一个

No++;

}

No=No-1;

fclose(fp);

}

void write()

{

int i;

FILE *fp=fopen("D:\\infor.txt","w+");

for (i=0;i

if (!a[i].del)

fwrite(&a[i],sizeof(struct array),1,fp);

fclose(fp);

}

void chec()

{

int i;

printf(" 设备号设备名称领用人所属部门数量购买时间价格\n");

for(i=0;i

{

i f(a[i].del==0)

p rintf("%8s%20s%20s%20s%20s%20s%20s\n",a[i].ano,a[i].aname,a[i].aowner,a[i].aapartmen t,a[i].aamount,a[i].atime,a[i].aprice);

}

getchar();

getchar();

menu();

}

void add()

{

char s;

printf("请输入要添加的设备号:\n");

scanf("%s",a[No].ano);

printf("请输入要添加的设备名称:\n");

scanf("%s",a[No].aname);

printf("请输入要添加的设备领用人:\n");

scanf("%s",a[No].aowner);

printf("请输入要添加的设备的所属部门:\n");

scanf("%s",a[No].aapartment);

printf("请输入要添加的设备数量:\n");

scanf("%s",a[No].aamount);

printf("请输入要添加的设备购买时间:\n");

scanf("%s",a[No].atime);

printf("请输入要添加的设备价格:\n");

scanf("%s",a[No].aprice);

a[No].del=0;

No+=1;

printf("请问是否继续添加?(Y/N)(不区分大小写)\n");

while (1)

{

g etchar();

g ets(&s);

i f (s=='Y'||s=='N'||s=='y'||s=='n')

break;

e lse{

puts("信息有误!请检查后重新输入\n");

puts("按任意键重新输入!");

getchar();

getchar();

getchar();

}

}

if(s=='Y'||s=='y')

a dd();

else if(s=='N'||s=='n')

s ystem("cls");

menu();

}

void del()

{

char ch[20],s;

int i;

printf("请输入要删除的设备编号:(0键返回菜单栏)\n");

printf(" 设备号设备名称领用人

所属部门数量购买时间价格\n");

for(i=0;i

{

i f(a[i].del==0)

p rintf("%4d%20s%20s%20s%20s%20s%20s%20s\n",i+1,a[i].ano,a[i].aname,a[i].aowner,a[i].a apartment,a[i].aamount,a[i].atime,a[i].aprice);

}

while (1)

{

s canf("%s",ch);

i=atoi(ch);

i f (i>=1 && i<=No)

break;

e lse if(i==0)

return;

e lse puts("信息有误!请检查后重新输入\n");

}

a[i-1].del=1;

printf("是否继续删除?(Y/N)(不区分大小写)\n");

while (1)

{

g etchar();

g ets(&s);

i f (s=='Y'||s=='N'||s=='y'||s=='n')

break;

e lse puts("信息有误!请检查后重新输入\n");

}

if(s=='Y'||s=='y')

d el();

else if(s=='N'||s=='n')

s ystem("cls");

menu();

}

void alt()

{

char s,ch[20];

int i,j;

printf("请输入修改的设备的编号:\n");

printf(" 设备号设备名称领用人所属部门数量购买时间价格\n");

for(i=0;i

{

p rintf("%4d%20s%20s%20s%20s%20s%20s%20s\n",i+1,a[i].ano,a[i].aname,a[i].aowner,a[i].a apartment,a[i].aamount,a[i].atime,a[i].aprice);

}

while (1)

{

s canf("%s",ch);

i=atoi(ch);

i f (i>=1 && i<=No)break;

e lse if(i==0)return;

e lse puts("信息有误!请检查后重新输入\n");

}

if(a[i-1].del==1)

{

p rintf("该设备已被删除!\n");

r eturn;

}

printf("请输入您要修改的内容的编号:\n1.设备号\n2.设备名称\n3.领用人\n4.所属部门\n5.数量\n6.购买时间\n7.价格\n0.返回菜单栏\n");

while (1)

{

s canf("%s",ch);

j=atoi(ch);

i f (j>=1 && j<=7)

break;

e lse if(i==0)

{

return;

}

e lse puts("信息有误!请检查后重新输入\n");

}

printf("请输入要修改的信息:\n");

switch (j)

{

c ase 1:

{scanf("%s",a[i-1].ano);

break;}

case 2:

{scanf("%s",a[i-1].aname);

break;}

case 3:

{scanf("%s",a[i-1].aowner);

break;}

case 4:

{scanf("%s",a[i-1].aapartment);

break;}

case 5:

{scanf("%s",a[i-1].aamount);

break;}

c ase 6:

{scanf("%s",a[i-1].atime);

break;}

c ase 7:

{scanf("%s",a[i-1].aprice);

break;}

}

printf("是否继续修改?(Y/N)(不区分大小写)\n");

while (1)

{

g etchar(); //获取回车

g ets(&s); //获取s

i f (s=='Y'||s=='N'||s=='y'||s=='n')

break;

e lse puts("信息有误!请检查后重新输入\n");

}

if(s=='Y'||s=='y')

a lt();

else if(s=='N'||s=='n')

s ystem("cls");

menu();

}

void count()

{

char ch[20],temp[20],s;

int i,j,n;

sum=0;

printf("请选择统计方式:\n1.所有设备的总价值。\n2.设备所属部门。\n3.设备种类。\n0.返回菜单栏\n");

while (1)

{

s canf("%s",ch);

j=atoi(ch);

i f (j>=1 && j<=3)

break;

e lse if(j==0)

{

return;

}

e lse puts("信息有误!请检查后重新输入\n");

}

switch (j)

{

case 1:

{

for(i=0;i

{

if(a[i].del==0)

sum=atoi(a[i].aprice)*atoi(a[i].aamount)+sum;

}

printf("当前设备的总价值为%d。\n",sum);

break;

}

case 2:

{

printf("设备所属部门统计结果为:\n 所属部门数量总价值\n");

for(i=0;i

{

sum=0;

n=0;

strcpy(temp,a[i].aapartment); //将可变的数组a[i] 复制到temp数组中

for(j=0;j

{

if(strcmp(temp,a[j].aapartment)==0&&i>j)

break;

else if(strcmp(temp,a[j].aapartment)==0&&i

{

sum=sum+atoi(a[j].aamount)*atoi(a[j].aprice);

n=n+atoi(a[j].aamount);

}

}

if(strcmp(temp,a[j].aapartment)==0&&i>j)

if(a[i].del==0)

{ sum=sum+atoi(a[i].aamount)*atoi(a[i].aprice);

n=n+atoi(a[i].aamount);

}

if(sum==0)

continue;

printf("%20s%20d%20d\n",a[i].aapartment,n,sum);

}

break;

}

case 3:

{

printf("设备种类统计结果为:\n 设备名数量总价值\n");

for(i=0;i

{

sum=0;

n=0;

strcpy(temp,a[i].aname);

for(j=0;j

{

if(strcmp(temp,a[j].aname)==0&&i>j)

break;

else if(strcmp(temp,a[j].aname)==0&&i

{

sum=sum+atoi(a[j].aamount)*atoi(a[j].aprice);

n=n+atoi(a[j].aamount);

}

}

if(strcmp(temp,a[j].aname)==0&&i>j)

if(a[i].del==0)

{ sum=sum+atoi(a[i].aamount)*atoi(a[i].aprice);

n=n+atoi(a[i].aamount);

}

if(sum==0)

continue;

printf("%20s%20d%20d\n",a[i].aname,n,sum);

}

break;

}

}

printf("请问是否继续统计?(Y/N)(不区分大小写)\n");

while (1)

{

g etchar();

g ets(&s);

i f (s=='Y'||s=='N'||s=='y'||s=='n') break;

e lse puts("信息有误!检查后重新输入\n");

}

if(s=='Y'||s=='y')

c ount();

else if(s=='N'||s=='n')

s ystem("cls");

}

用C语言实现一个简单的学生成绩管理系统

目录 1 引言 (1) 2 系统需求分析 (1) 2.1项目背景分析 (1) 2.2 系统开发的目标与意义 (1) 2.3 项目需求分析 (1) 3 系统总体设计 (1) 3.1 功能模块分析 (1) 3.2 系统功能模块初始化准备 (3) 3.2.1 编译预处理 (3) 3.2.2 数据结构定义 (3) 3.3 具体模块处理函数的实现 (4) 3.3.1 菜单函数界面的设计 (4) 3.3.2 功能函数设计 (4) 4 系统测试与分析 (9) 4.1 运行工具介绍 (9) 4.2 系统操作 (9) 结束语 (10) 参考文献 (10)

用C语言实现一个简单的学生成绩管理系统 摘要:伴随着现代社会的发展,网络技术的不断进步,越来越多的管理工作都从传统的现实社会中发展到了网络上。高校是使用计算机技术最早的单位,学校的各项管理工作也从现实生活走上了网络空间。本文对学校的需求进行分析,通过使用C语言设计并实现学生成绩的管理,力求尽量简洁实用地解决学校对学生成绩的管理和学生对成绩的查询问题。 关键字:C语言成绩管理系统程序设计 1 引言 在信息时代,计算机以其极高的运算速度、巨大的数据存储容量,以及能准确地进行各种算术运算和逻辑运算的能力而成为现代化计算工具,并被广泛应用于社会各个领域。计算机技术的高速发展已被认为是人类进入信息时代的标志。成绩管理系统是计算机技术和信息时代的产物,是信息处理或数据处理的核心。该系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化,以达到提高学生成绩管理效率的目的。通过运用程序设计软件实现学生成绩管理中的多种功能,如学生成绩信息的添加、删除、查询、修改、显示、排序等。该系统的设计充分利用计算机作为辅助工具,来实现学生考试成绩从传统的手工管理到计算机管理,并对提高管理效率和节约大量的人力、物力有一定的推动作用。因此,开发这种管理软件很必要,本文将在分析系统的应用价值以及开发工具的基础上,用C语言来开发成绩管理系统。 2 系统需求分析 2.1项目背景分析 在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有任何信息管理系统,特别是在西部贫困地区,学校的各类管理依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有快,准,精才能发挥其价值。 2.2 系统开发的目标与意义 (1)系统开发目标:本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥充分发挥其作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标: ①系统应具有实用性、可靠性和适用性。 ②对系统中数据库的信息进行有效处理,防止数据错乱。 ②能够按照用户选择的不同的条件进行简单查询。 ③方便用户的操作,尽量减少用户的操作。 (2)系统开发的意义:在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力财力。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。 2.3 项目需求分析 学校工作流程分析:学校工作总体规划由教务人员在学生成绩管理系统中输入学生的基本信息并对其进行维护管理,包括对信息的增加、修改及对信息的各项处理操作等。 新的学年,教务人员首先编排班级,再对在校学生进行基本的信息录入,新生入学后由教务人员在管理系统中完成新学生信息的维护。在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任,并对各科老师进行安排。每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,并对本年级各科成绩及总成绩进行排名。教务处、班主任及任课老师跟据实际情况对录入的成绩进行维护管理,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。 3 系统总体设计 3.1 功能模块分析 学生成绩管理系统是对学生基本信息及成绩的管理。开发工具主要采用TurboC2.0,主要用于对学生的学

C语言超市收银管理系统实现详解

超市收银管理程序的设计与实现 1摘要和关键字 1.1摘要 该系统主要用于超市商品管理人员对于商品的信息(包括商品号、商品名、单价)进行输入、删除、修改和查询。除此之外,当销售人员输入商品号及销售数量时,系统应计算应收钱数,并根据实际收银计算找零数量。最后,系统能对销售情况进行查询。Abstract The system is mainly used in the supermarket goods management personnel of the information (including commodity number, name of goods, unit price) input, delete, modify, and query. In addition, when sales staff input article number and sales volume, the system should be calculated according to the actual amount receivable, and cashier calculation change. Finally, the system can inquire the sales situation. 1.2 关键字 登陆系统操作菜单建立信息库查询付款 Keywords Login system Operation menu Set up information database Inquire Pay 2 正文 2.1 引言 随着经济的发展,人们每天接触并且需要处理的信息越来越多,人们就需要寻求一个工具来实现信息的管理和处理。尤其是超市里,需要管理各种商品的数目及销售情况,而超市收银管理程序则是针对这种问题而产生的,系统能够实现对商品信息的录入、修改、查询、删除操作,并且在销售时能计算出应收钱数,并能根据实际收钱而计算找零,最后能对销售情况进行查询。

c语言设备管理系统

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

1 设计目的 提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握C语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养C语言只是运用与自学能力,加强程序分析能力。 2 任务概述 功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行 补充、修订、删除,能统计所有设备的总价值。 3、进一步要求:完成设备按种类、按所属部门进行统计。 3 模块划分 系统可设计为: 实验设备信息写入模块 实验设备信息输出模块. 实验设备信息查询模块 实验设备信息添加模块 实验设备信息删除模块 实验设备信息查询模块 实验设备信息统计模块 结构体成员包括设备号,设备名称,设备领用人,设备所属部门,设备数量,设备购买时间,设备价格。 4 主要函数说明及其N-S图

4.1主函数流程图 4.2 N-S图4.3查询记录

4.4读入/写入文件 图4.4 4.5添加数据 图4.5

c语言教务管理系统

c语言教务管理系统-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

#include"stdio.h" #include"stdlib.h" #include"conio.h" #include"string.h" #include"windows.h" //登陆界面函数 void load(); void background1(); void choice1(); void fanhui1(); void denglu(); void zhuce(); int chazhao(); //目录界面函数 void mulu(); void background(); void choice(); void add(); void xiugai(); void shanchu(); void del(); void chaxun(); void paixu(); void tongji(); void output(); void finish(); void fanhui2(); void shuchu(); int zongren(); int chr(); int enr(); int mar(); void back(); float chinese(); float english(); float math(); float zongmax(); //登陆界面结构体struct self { char a[10]; char b[10]; int flg; }s[100]={{"admin","admin",1},{"1","1",1}};

超市管理系统_C语言课程设计

大连科技学院 C语言课程设计题超市商品管理系统 学生姓名专业班级 指导教师职称 所在单位 教学部主任 完成日期 2014年12月13日

课程设计成绩考核表 综合评定: (优、良、中、及格、不及格) 指导教师签字: 2014年12月13 日

课程设计任务书 1.设计(研究)内容和要求 研究内容: 设计并编写一个完善的C语言程序,并要求达到以下几点: (1)系统功能要求:系统功能完善,具有简洁的操作流程。 (2)以软件工程理论为指导,按照进度计划,完成系统需求分析、系统的概要设计与系统的详细设计等。要求能够对系统进行全面测试和调试,及时更正错误,直至系统运行稳定可靠,要求报告中具有系统测试内容。 (3)完成课程设计报告的编辑工作,报告要求在3000字以上,包括综述、系统总体设计、系统实现、运行调试、结论等,参考文献数量至少2篇,论文书写格式按学校规定来写。 (4)工作量要饱满,具备两周课程设计的基本要求,代码行达到300行左右。 原始依据: 对学过的C语言程序设计课程进行巩固和加深印象。了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目的编写与设计,以提高用C语言解决实际问题的能力。 2.系统环境 硬件环境:CPU的主频在500MHZ以上,内存在128MB以上 软件环境:编程语言及工具:C语言;操作系统:Windows 操作系统 3.参考文献 [1] 李瑞. 徐克圣. 刘月凡. 戚海英. C程序设计基础[M]. 北京:清华大学出版社. 2009.7 [2] 布鲁志著.吴丹等译.面向对象的软件工程—构建复杂且多变的系统.清华大学出 版社.2002.10 [3] 霍顿(美).杨杰(译). 北京:清华大学出版社. 2008 [4] 薛圆圆.C语言开发手册. 北京:电子工业出版社. 2011.4 [5] 王娣. 安剑. 孙秀梅. 北京:人民邮电出版社.2010

c语言设备管理系统

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

1 设计目的 提高程序设计能力,检验课堂教学内容,掌握程序设计的基本方法和调试技能。通过课程实训,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构;进一步掌握C语言中的重要数据结构;掌握并熟练运用指针,链表,结构体和文件等结构;提高程序开发哪里,能运用合理的控制流编写清晰高效的程序;培养C语言只是运用与自学能力,加强程序分析能力。 2 任务概述 功能:设备管理系统应包含各种设备的全部信息,每台设备为一条记录(同一时间同一部门购买的若干台相同设备可作为1条记录),包括设备号、设备名称、领用人、所属部门、数量、购买时间、价格等。能够显示和统计各种设备的信息。 分步实施: 1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数; 2、完成最低要求:建立一个文件,包含一个部门10台设备的信息,能对文件进行 补充、修订、删除,能统计所有设备的总价值。 3、进一步要求:完成设备按种类、按所属部门进行统计。 3 模块划分 系统可设计为: 实验设备信息写入模块 实验设备信息输出模块. 实验设备信息查询模块 实验设备信息添加模块 实验设备信息删除模块 实验设备信息查询模块 实验设备信息统计模块 结构体成员包括设备号,设备名称,设备领用人,设备所属部门,设备数量,设备购买时间,设备价格。

4 主要函数说明及其N-S图 主函数流程图 查询记录

读入/写入文件 图添加数据 图

删除数据 图 修改数据 统计数据

C语言程序设计学生成绩管理系统实验报告

计算机学院 C语言程序设计报告书设计名称:学生成绩管理系统 专业:软件工程 指导老师: 班级: 姓名: 学号: 座号: 2011-6-15

一、实验目的 1.在编辑应用程序过程中,逐步加深对C语言编程的理解; 2.加强实践的能力,动手能力,同时进一步对所学的知识 进行巩固; 3.培养初步编程的能力,为以后的学习奠定基础。 二、实验内容 运用所学的C语言知识编辑一个应用程序:学习成绩管理系统 三.系统软件环境: 本程序主要运行在:Visual C++ 6.0 Turbo C/C++ 3.0 四.课程设计题目: 学生成绩管理系统 程序说明:有N个学生,每个学生的数据包含学号(不重复)、姓名、三门课的成绩及平均成绩,试设计一学生成绩管理系统,使之能提供以下功能: (1)主菜单

(2)各菜单项功能 ①成绩录入:输入学生的学号、姓名及三门课的成绩; ②成绩查询: *按学号查询学生记录。 ③成绩统计: *计算学生的平均分; *根据学生的平均分高低,对学生的数据进行排序后输出; ④退出系统:退出整个系统(即主菜单) 。 五.数据结构设计描述: ↓ ↓

六.各变量的定义和作用 int num; /*定义学号,变量为整型*/ char name; /*定义姓名,变量为字符型*/ int score; /*定义课程的成绩,变量为整型*/ float average; /*定义平均分,变量为浮点型*/ 七.系统各函数的功能,、相互调用关系 1.函数实现功能说明: (1)menu函数 是定义一个菜单函数,其功能在于输出菜单界面供使用者选择。 (2)input函数 是定义用于输入学生信息。 (3)select 函数 是定义用于查询学生信息。包括学号、姓名及各科成绩。(4)statistics 函数 计算学生的平均分。 根据学生的平均分高低,对学生的数据进行排序输出。2.相互调用关系: Main函数调用menu函数。 Menu 函数可以调用input 函数、select函数和statistics函数八.心得体会

c语言教务管理系统

#include"stdio.h" #include"stdlib.h" #include"conio.h" #include"string.h" #include"windows.h" //登陆界面函数void load(); void background1(); void choice1(); void fanhui1(); void denglu(); void zhuce(); int chazhao(); //目录界面函数void mulu(); void background(); void choice(); void add(); void xiugai(); void shanchu(); void del(); void chaxun(); void paixu(); void tongji(); void output(); void finish(); void fanhui2(); void shuchu(); int zongren(); int chr(); int enr(); int mar(); void back(); float chinese(); float english(); float math(); float zongmax(); //登陆界面结构体struct self { char a[10]; char b[10]; int flg; }s[100]={{"admin","admin",1},{"1","1",1}};

//目录界面结构体 struct student { char num[10]; char name[10]; float chinese; float english; float math; float sum; int a; }stu[5]={{"1100","小明",12,18,20,50,1},{"1101","小样",20,80,60,160,1}}; //登陆界面 void main() { load(); } void load() { background1(); choice1(); } void background1() { puts(" "); puts(" "); printf(" ********************************************\n"); printf(" 欢迎登录学生管理系统"); puts(" "); printf(" ********************************************\n"); printf(" 1.登录 2.注册\n "); printf(" 请选择:"); } void choice1() { int a; scanf("%d",&a); fflush(stdin); switch(a) { case 1:denglu();break; case 2:zhuce();break; default:fanhui1();break; } }

C语言超市收银系统

/* --------------------------------------- 时间:2015-7-1 16:44:21 吴俊龙 C语言专周设计 超市收银系统 --------------------------------------- */ # include # include #include int menu1(void);//主页面 int menu2(void);//商品管理页面 int menu3(void);//退出页面 int menu4(void);//添加商品信息 int menu5(void);//商品信息浏览 int menu6(void);//商品信息修改 int menu7(void);//商品信息查询 int menu8(void);//商品信息删除 int menu9(void);//结账页面 int sign(void);//欢迎页面 struct ima { int id; //商品编号 char name[20]; //商品的名称 char produce[30]; //商品的产地 int number; //商品的数量 int money; //商品的价格 }; int len = 0; struct ima thing[50]; struct ima * p; int menu1(void)//主页面 { int n; system("cls"); printf("\n\n\n"); printf("\t\t ----------------------------------------- \n"); printf("\t\t| 欢迎使用结账管理系统|\n"); printf("\t\t|-----------------------------------------|\n");

C语言-实验室设备管理系统精编版

C语言程序设计报告 1 课程设计题目:实验室设备管理里系统 实验设备信息包括:设备编号、设备种类(如:微机打印机扫描仪等等)、设备名称、设备价格、设备购入日期、是否报废、报废日期等。试设计一实验设备信息管理系统,使之能提供以下功能: (1)能够完成对设备的录入和修改 (2)对设备进行分类统计 (3)设备的查询 2 需求分析 实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。 3总体设计与模块的划分 整个系统可设计为实验设备信息输入模块实验设备信息添加模块实验设备信息修改模块实验设备分类统计模块和实验设备查询模块。 录入设备信息修改 设备 信息 查询 设备 信息 统计 设备 信息 报废 设备 信息 退出设备管理系统设计

主函数流程图: N+ 4 建立实验设备信息结构体 结构体成员包括设备编号 设备名称 部门编号 部门名称 设备价格 设备购买时间 是否报废 报废日期。 5应用程序功能详细说明 程序运行后进入管理系统,显示目录:录入设备信息,修改设备信息,查询设备信息,统计设备信息,报废设备信息,退出 录入设备信息 系统提示用户在原有的基础上录入新的设备信息。流程图如下: 开始 输入设备编号,并将指针指向最末尾 开始 显示一系列功能选择 输入n,判断m ,是否0到5 据n 值调用各功能模块函数 结束

(1)修改记录系统要求用户输入要修改的设备编号,这时系统会显示设备的具体信息,用户只需该设备新的信息按要求输入即可对信息进行修改。流程图如下: 开始 判断是否有资料可以统计分 类 没有资料可以统计跳出 输入要统计的分类序号 按输入序号调用各功能模块 函数 结束 (2)显示记录无记录退出,有记录者按要求输出。流程图如下: 开始 没有记录可以显示,跳出 有记录者按要求输出 结束

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语言超市商品管理系统

题目:超市商品管理系统 院系:信息科技学院 专业:计算机科学与技术 姓名: 学号: 指导教师: 日期: 桂林电子科技大学信息科技学院 目录 1 问题定义 (3) 2 系统设计 (3) 2.1 总体设计 (3) 实训报告

2.2 详细设计 (3) 2.2.1 数据结构设计 (3) 2.2.2 主控流程 (3) 2.2.3 信息输入模块 (4) 2.2.4 信息增加模块 (4) 2.2.5 信息修改模块 (4) 2.2.6 信息删除模块 (4) 2.2.7 信息查看模块 (4) 2.2.8 信息统计模块 (4) 函数功能描述 (4) 3 系统实现 (5) 编码 (5) 3.1.1 程序预处理 (5) 3.1.2 主函数main() (5) 3.1.3 主菜单界面 (6) 3.1.4 商品信息建立 (7) 3.1.5 商品信息查看 (9) 3.1.6 商品信息增加 (11) 3.1.7 商品信息删除 (12) 3.1.8 商品信息修改 (14) 3.1.9 商品数目统计 (16) 测试与调试 (22) 3.2.1 概述 (22) 3.2.2 程序测试 (22) 4 系统维护 (25) 5 归纳总结 (25) 开发经验 (25)

实训中遇到的问题及解决方法 (25) 设计中的不足之处 (25) 感想和心得体会 (25) 6 参考资料 (25) 超市商品管理系统 本题目设计目的是训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C 语言的单链表的各种基本操作。本程序中涉及结构体、单链表、文件保存等方面的知识。通过本程序的训练,使学生能对C语言的链表的操作有一个更深刻的了解,掌握利用单链表存储结构实现对超市信息管理系统的原理,为进一步开发出高质量的管理信息系统打下坚实的基础。 1、问题定义 创建一个超市管理系统。该程序具有保存商品信息、查询商品信息、修改商品信息、删除商品信息、统计商品信息并具有自动判断商品价格、库存等的功能。

超市管理系统C语言

超市管理系统C语言 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

西安邮电大学 高级语言课程设计报告题目:超市管理系统 院系名称:理学院 专业名称:应用物理学 班级: 1301 学生姓名:王松 学号(8位): 07132022 指导教师:王西龙 设计起止时间:2014年06月19日~2014年06月27日1:程序模型 2:原函数概况 1:创建函数 void start(); /*启动界面*/ void input(); /*商品数据信息输入函数*/ void change(); /*商品数据信息修改函数*/ void dele(); /*给定指定商品名称,删除商品信息*/ void output(); /*商品信息输出*/ void search(); /*商品信息查找*/ void mima();/*密码程序*/ void colour();品信息的录入:\n"); printf(" 2.商品信息的修改:\n"); printf(" 3.删除某个商品信息:\n"); printf(" 4.查找商品信息:\n"); printf(" 5.颜色选择:\n"); printf(" 0.退出程序\n"); printf(" ********************************************\n"); printf(" ********************************************\n");

printf(" 输入你的选择: "); scanf("%d",&chi); /*根据你的选择执行相应的函数*/ if(chi==1) input(); else if(chi==2) change(); else if(chi==3) dele(); else if(chi==4) search(); else if(chi==5) colour(); else if(chi==0) { printf("你已经退出超市商品管理系统!谢谢您的使用,再见\n"); exit(0); } else { printf(" You Enter The Choice Is Not valid ! \n"); getch(); system("cls"); start(); } } void huanying() { printf("\t\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\ 3\3\3\3\n"); printf("\t\3 欢迎使用 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \3\n"); printf("\t\3 超市管理系统 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \4\4\4\4\4\4 \3\n"); printf("\t\3 \3\n"); printf("\t\3 \5\5\5\5\5\5\5\5\5 \3\n"); printf("\t\3 \3\n");

C语言程序设计超市管理系统

程序设计——超市管理系统 学院: 专业: 班级: 姓名: 学号: 指导老师: 超市管理系统课程设计 1)需求分析: 设计题目:超市管理系统 设计要求:有一个小型超市,出售N(N>=10)种商品,设计并实现一个系统系统功能需求分析:

1.保存及输出:超市中的各种商品信息保存在指定文件中,可以把它们输出显示。2.计算并排序:计算每类商品的总价值(sum,单精度)及平均价(aver,单精度,输出一位小数),将每类商品按平均价从大到小的顺序排序打印出来。 3.统计:统计输出库存量低于100的货号及类别。统计输出有两种以上(含两种)商品库存量低于100的商品类别。 2)概要设计: 系统总体设计框架: 系统功能模块图: 3)详细设计:

主要功能模块的算法设计思路:本程序主要分为八个模块:主模块、信息输出修改模块、新建信息模块、排序模块、计算模块、统计模块1、统计模块2、打印模块。 1)主模块:通过调用各分模块实现功能; 2)信息输出修改模块:输出显示文件中商品信息内容,添加商品信息,删除商品信息,修改商品信息; 3)新建商品信息模块:建立一个新结构体,为链表存信息用,并且将信息保存在指定的文件中; 4)排序模块:把文件中顺序零乱的商品信息按单价的大小从高到低进行排序,放到链表里存储; 5)计算模块:将所有商品的价格与库存量进行累加求和; 6)打印模块:将商品信息按每类平均价格排序(从高到低)按顺序打印出来;7)统计模块1:统计库存量低于100的货名及类别; 8)统计模块2:统计商品库存量有2种以上(含2种)低于100的商品类别 工作流程图: 4)主要源程序代码: #include "" /*输入,输出头文件*/ #include "" /*申请空间头文件*/ #include "" /*对字符串加工头文件*/ #include "" /*清屏头文件*/ FILE *fp;

学生成绩管理系统基本C语言编写

//代码版权所有,不要 #include "stdio.h" #include "stdlib.h" #include "string.h" #include "conio.h" copy,仅供参考学习。//标准输入输出函数库 //标准函数库 //字符串函数库 //屏幕操作函数库 #define p->data.num,p->https://www.doczj.com/doc/373364726.html,,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.total,p->data.a ve,p->data.mingci int saveflag=0; //是否需要存盘的标志变量 //定义与学生有关的数据结构 typedef struct student { char num[12]; char name[15]; int cgrade; int mgrade; int egrade; int total; float ave; int mingci; }sqlist; //定义每条记录或结点的数据结构,标记为:node typedef struct node { struct student data;// 数据域 struct node *next; //指针域 }Node,*Link; //Node 为node 类型的结构变量,*Link 为node 类型的指针变量 void menu() //主菜单 { system("cls"); //调 用 DOS 命令,清屏.与clrscr() 功能相同 printf(" \n"); printf(" 学生成绩管理信息系统主菜单\n\n"); printf(" **************************************************\n"); printf(" $ 1 、添加记录6、统计记录$\n"); #define HEADER1 " ********************** ***** 学生成绩信息 ****************************** \n\n" #define HEADER2 " 学号姓名计算机数学英语总分平均分名次\n\n" #define FORMAT " %-10s %-10s %5d %5d %5d %5d %.3f %4d \n" DATA //标记为student //学号 //姓名//计 算机成绩// 数学成绩// 英语成绩 //总分 //平均分 //名次

学生成绩管理系统(数据结构C语言版源代码)54843943

天天都是一个出发点,每天都有一点提高,每天都有一点收成! #include #include #include struct students{ char Sex[3]; /*字符型学生性别*/ double English; /*双精度实型英语成绩*/ double Java; /*双精度实型Java成绩*/ double Sjjg; /*双精度实数据结构*/ double Szdl; /*双精度实型数字电路*/ double Jsj; /*计算机组成原理*/ struct students *next; /*用与构建连表指向下一结点*/ }; FILE *fp; /*定义全局变量fp*/ void Revisemenu();/*修改菜单*/ void Sortmenu();/*排序菜单*/ void menu();/*主菜单*/ void secret();/*安全验证*/ struct students * Input();/*新建学生信息*/ void fprint(struct students *head);/*将信息导入文件可追加*/ void fprint_(struct students *head);/*将信息导入文件并覆盖*/ void Browse(struct students *head);/*浏览全部学生信息*/ struct students * create(struct students *head int *n);/*从tushu_list中读取数据构建链表*/ void SortEnglish(struct students * head);/*按英语成绩排序*/ void SortJava(struct students * head);/*按Java成绩排序*/ void SortSjjg(struct students * head);/*按数据结构成绩排序*/ void SortSzdl(struct students * head);/*按数字逻辑电路成绩排序*/ void SortJsj(struct students * head);/*按计算机组成原理成绩排序*/ struct students * Delete(struct students * head struct students * Revise();/*修改学生信息(按编号修改)*/ /*主菜单*/ void menu() { printf("\n\n"); printf("***************************************************\n"); printf(" 学生成绩管理系统 \n"); printf(" 1-添加新同学 2-浏览学生信息 \n"); printf(" 5-按成绩排序 6-修改学生信息 \n"); printf(" 7-删除学生信息 0-退出系统 \n"); printf("___________________________________________________\n");

c语言课程设计学生成绩管理系统

目录 ——学生成绩管理程序题目要求 (2) 设计目的 (2) 总体设计 (3) 详细设计 (3) 调试与测试 (12) 源程序 (14) 总结 (30)

学生成绩管理程序 一.题目要求 1.问题描述: 对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,姓名,年龄,数学,英语,物理成绩,默认以学号为序存放. 2.要求: (1)一个文件按以班为单位存储学生记录. (2)将允许的操作分为四种,以A,B ,C,D,E,F为标志: A:插入一个学生记录; B:修改学生记录; C:删除一个学生记录; D:查找一个学生记录; E:浏览学生成绩: F:退出 3.计算学生的总成绩. 4.按学号排序输出全班学生成绩表 . 二.设计目的 根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.

三.总体设计 根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块. 四.详细设计 1.主函数: 主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择. 流程图:

[程序]: //#include "head.h" int menu_select() { char c; printf("\n\n"); printf(" | 1. 增加学生记录 5.统计信息|\n"); printf(" | 2. 查询学生记录 6.打开文件|\n"); printf(" | 3. 修改学生记录7.保存文件|\n"); printf(" | 4. 学生纪录排序8.显示记录|\n"); printf(" | 0. 退出系统|\n"); printf("\n\n"); printf("请选择(0-8):"); c=getchar(); getchar(); return (c-'0'); } 2.输入模块: [分析]: 单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理. 如果要存放若干学生信息就用结构体数组: void addrecord(student stud[]) { int i=0,j,num; char str[5]; if(numstus!=0) {

C语言大作业学生信息管理系统

《程序设计综合课程设计》报告 学生姓名: ______ ______ ______ ______________________ 学生班级: ______________________ ____________ ____________ 学生学号: ____________ 指导教师: ______ 2014年6 月 22 日

目录 前言 (2) 第1章Visual C++6.0简介及其优点 (3) 第2章课程设计的目的和要求 (4) (4) 2.2课程设计的要求 (5) 第3章课程设计任务内容 (6) 3.1 需求分析 (6) 3.2可行性分析 (6) 第4章软件使用说明 (7) 第5章总结 .................................................. 错误!未指定书签。附录源程序 学生信息管理系统 前言 学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项 数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等 院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。 其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人 工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院 校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的 管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力 和物力。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算机应用的普及已进入 人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的手工管理模式必然被以 计算机为物质基础的信息管理方法所取代。 作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟 的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。 这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要 条件,更是各个高等院校与世界接轨的重要条件。

实验室管理系统—C语言

西安郵電大学 软件课程设计报告 题目:实验室设备管理系统 院系名称:电子工程学院 专业名称:电子信息工程 班级:1204 班内序号:5 学生姓名:诺贝尔杨 时间:2013年3月18日至2013年3月29日

1.课程设计目的 实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。 主要功能: 1.录入设备信息 2.修改设备信息 3.查询设备信息 (1)按设备编号查询 (2)按设备名称查询 4.对设备按种类进行分类统计 5.报废设备登记。 6.报废设备统计。 2.设计思路 需求分析 实验室设备信息用文件存储,提供文件的输入输出操作;要能够完成设备的录入和修改,需要提供设备添加和修改操作;实现对设备进行分类统计,需要提供排序操作;实现对设备查询需要提供查找操作,设备的查询可根据设备编号设备种类设备购入日期正常设备(未报废的)等多种方式查询;另外还要根据键盘式选择菜单以实现功能选择。 整个系统可设计为实验设备信息输入模块实验设备信息修改模块实验设备分类统计模块实验设备查询模块和实验设备报废信息模块。 建立实验设备信息结构体,结构体成员包括设备编号设备种类设备名称设备价格设备购入日期是否报废报废日期。 3.功能模块图

5.程序代码 #include"" #include"" #define null 0 int t=0; int mmcsz=0; int mima; int menu();d); if(strcmp(sb[t].id,"0")==0) main(); printf("\n请输入设备名称:"); scanf("%s",sb[t].name); printf("\n请输入设备种类:"); scanf("%s",sb[t].kind); printf("\n请输入报废日期:"); scanf("%s",sb[t].over); printf("\n请输入设备是否报废,1、没报废,0、报废:"); scanf("%d",&sb[t].yesno); printf("\n请输入设备购买时间:"); scanf("%s",sb[t].time); printf("\n请输入设备价格:"); scanf("%s",sb[t].price); printf("提示:已经完成一条记录的添加。\n"); t++; } } void xg()d,find)==0) d); scanf("%s",sb[t].id); printf("请输入新设备名称(原来是 %s ):",sb[t].name); scanf("%s",sb[t].name); printf("请输入新设备设备种类名称(原来是 %s ):",sb[t].kind); scanf("%s",sb[t].kind); printf("请输入新设备报废日期名称(原来是 %s ):",sb[t].over); scanf("%s",sb[t].over); printf("请输入新设备是否报废,1、没报废,0、报废(原来是 %d):",sb[t].yesno); scanf("%d",&sb[t].yesno); printf("请输入新设备购买时间(原来是 %s ):",sb[t].time); scanf("%s",sb[t].time); printf("请输入新设备价格(原来是 %s ):",sb[t].price); scanf("%s",sb[t].price); printf("\n提示:该项记录资料已经成功修改!\n"); printf("退回主菜单请输入0\n");

相关主题
文本预览
相关文档 最新文档