当前位置:文档之家› C语言大作业——学生信息管理系统

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

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

《程序设计综合课程设计》报告

学生姓名: ______ ______ ______

______________________

学生班级: ______________________

____________ ____________

学生学号: ____________

指导教师: ______

2014年6 月22 日

目录

前言 (2)

第1章Visual C++6.0简介及其优点 (3)

第2章课程设计的目的和要求 (4)

2.1课程设计目的 (4)

2.2课程设计的要求 (5)

第3章课程设计任务内容 (6)

3.1 需求分析 (6)

3.2可行性分析 (6)

第5章总结 ................................................................... 附录源程序

学生信息管理系统

前言

学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一

项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国

高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少

的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单

纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我

国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小

学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方

法将浪费许多人力和物力。随着科学技术的不断提高,计算机科学与技术日渐成熟,计算

机应用的普及已进入人类社会生活的各个领域,并发挥着越来越重要的作用。这种传统的

手工管理模式必然被以计算机为物质基础的信息管理方法所取代。

作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比

拟的优点,如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低

等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展

的必要条件,更是各个高等院校与世界接轨的重要条件。

第1章 Visual C++6.0简介及其优点

VC++是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用c++的一个

开发平台有些软件就是这个编来的...另外还有VB,VF.只是使用不同语言...但是, vc++是Windows平台上的C++编程环境,学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、

COM等的知识,难度比较大。Windows下编程需要了解Windows的消息机制以及回调(callback)函数的原理;MFC是Win32API的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等;COM是代码共享的二进制标准,需要掌握其基本原理等等。

VC作为一个主流的开发平台一直深受编程爱好者的喜爱,但是很多人却对它的入门感到难于上青天,究其原因主要是大家对他错误的认识造成的,严格的来说 VC++不是门语言,虽然它和C++之间有密切的关系,

如果形象点比喻的话,可以C++看作为一种”工业标准”,而VC++则是某种操作系统平台下的”厂商标准”,而”厂商标准”是在遵循”工业标准”的前提下扩展而来的。

VC++应用程序的开发主要有两种模式,一种是WIN API方式,另一种则是MFC方式,传统的WIN API开发方式比较繁琐,而MFC则是对WIN API再次封装,所以MFC相对于WIN API开发更具备效率优势,但为了对WINDOWS开发有一个较为全面细致的认识,笔者在这里还是以讲解WIN API的相关内容为主线。要想学习好VC必须具备良好的C/C++的基础,必要的英语阅读能力也是必不可少的,因为大量的技术文档多以英文形式发布。

vc6.0的优点是界面简洁,占用资源少,操作方便。

第2章课程设计的目的和要求

2.1课程设计目的

本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言》课程后进行的一次全面的综合练习。本课程设计的目的和任务:

1.巩固和加深学生对C语言课程的基本知识的理解和掌握;

2.掌握C语言编程和程序调试的基本技能;

3.利用C语言进行基本的软件设计;

4.掌握书写程序设计说明文档的能力

5.提高运用C语言解决实际问题的能力。

通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了c语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性!

通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。

学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。

作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。

本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量。

2.2课程设计的要求

本课程设计是《C语言程序设计》课程实践环节的深化和延续。此次课程设计的目的是以C程序设计语言为基础,通过完成具有一定难度的课程设计题

目的功能描述、总体设计、程序编写及调试工作,加深对C语言相关知识的理解与Visual C++集成开发环境的使用,重点掌握文件操作函数的熟练运用,并养成良好的程序设计习惯,提高自我分析问题、解决问题的能力,为进一步学习《高级编程技术》及其相关课程打下良好基础

掌握面向对象程序设计的基本方法,熟练掌握C++编程工具,根据问题进行学习,拓广、深化,独立完成一个小型应用程序的设计、编码和测试,为以后学习软件工程打下实践基础

系统说明书要求提交打印版或手写版(这是检查作业的依据)。内容包括:系统需求描述(问题描述),系统结构设计(类体系设计),类的详细设计(各类定义的基本功能,即主要数据和函数功能描述,以及类和类之间的交互),拟采用开发平台(Visual C++)

作业报告:根据原有的系统设计,编码阶段的工作,整理书写作业报告,内容包括:问题描述,系统设计,使用说明,讨论,最后提交(电子版):实验报告,

基本要求:1、要求利用C语言面向过程的编程思想来完成系统的设计;

2、突出C语言的函数特征,以多个函数实现每一个子功能;

3、画出功能模块图;

4、进行简单界面设计,能够实现友好的交互;

5、具有清晰的程序流程图和数据结构的详细定义;

6、熟练掌握C语言对文件的各种操作。

7、分析程序的功能要求,划分程序功能模块。

8、代码的编写。定义数据结构和各个功能子函数。

9、程序的功能调试;10、完成系统总结报告以及使用说明书。

第3章课程设计任务内容

3.1需求分析

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管

理系统软件为学校办公室带来了极大的方便。

(一)教育系统学生管理现状分析

学校工作流程分析

学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。

新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。

(二)学校具体需求分析

学生:对各科成绩的查询

任课老师:输入并维护所教科目的学生成绩

教务处:学校全体成员的信息管理,并对任课老师,班主任等输入的信息进行存库,对学生的信息进行必要的维护。

通过研究调查,本系统需以下功能:

综合学生信息、学生成绩以及信息查询等信息。

方便用户了解和管理学生的全面动态信息。

良好的界面设计,更人性化的设计理念,使用户拥有更轻松的使用心情。

3.2可行性分析

目的:可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能解决。

经济性:

由于学校等中小型管理系统并不复杂,且Visual C++6.0本身要求的运行环境不高,所以一般Windows 2000以上的系统环境都可以使用。

实用性:

本学生信息管理系统管理系统无太多复杂的操作要求,也没有过分花哨的装饰品,人性化的设计界面可以使操作者轻易运用自如

学生信息管理系统

图3-1 功能图

第4章软件使用说明

1、进入程序后显示

2.选择进入程序身份

3.出入密码

4.进入管理员模式

5.添加信息

6.修改信息

7.删除信息

8.列出所有信息

9.查找指定学号

10.查找指定姓名

11.修改密码

12.备份信息

13.读取备份

14.初始化信息

15.退出程序

第5章总结

经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。

附录源程序

1.

#include

#include

extern struct student//声明结构体

{

long num;//学号

char name[10];//姓名

int age;//年龄

int sex;//性别

int year;//入学年份

char address[10];//地址

}stu[1000], temp;

extern int total;//声明total

void Save();//保存并退出

void EditInf();//编辑信息

void InfSearch();//查询信息

void codeinput();

void Encry();

void CCode();//修改密码

void ReadBackup();//读取备份

void WriteBackup();//备份信息

void DelInf();//删除信息

void SearchNum();//查找学号,该函数在Search.cpp中

void SearchName();//查找姓名

static void AddInf();//添加信息

static void AmendInf();//修改信息

void InputStu(int n);//录入信息函数

void PutStu(int n);//输出信息

static void ListAll();//输出所有信息

void AdminMode()

{

int select, flag = 1;

while(flag)

{

fflush(stdin);

system("cls");//清屏,使用此函数需包含stdlib.h

printf(" 当前是管理员模式\n");

printf(" 当前是主系统功能菜单\n");

printf("--------------------------------------------------------\n"); printf("╔═══════╗╔═══════╗╔═══════╗\n");

printf("║ 1.添加信息║║ 2.修改信息║║ 3.删除信息║\n");

printf("╚═══════╝╚═══════╝╚═══════╝\n");

printf("╔═══════╗╔═══════╗╔═══════╗\n");

printf("║4.列出所有信息║║5.查找指定学号║║6.查找指定姓名║\n");

printf("╚═══════╝╚═══════╝╚═══════╝\n");

printf("╔═══════╗╔═══════╗╔═══════╗\n");

printf("║ 7.修改密码║║ 8.初始化信息║║ 9.备份信息║\n");

printf("╚═══════╝╚═══════╝╚══════

═╝\n");

printf("╔═══════╗╔═══════╗╔═══════╗\n");

printf("║ 10.读取备份║║ 11.退出程序║║ 0.返回上层║\n");

printf("╚═══════╝╚═══════╝╚═══════╝\n");

printf("--------------------------------------------------------\n"); printf(" 请选择:");

scanf("%d", &select);

switch(select)

{

case 1:

AddInf();

break;

case 2:

AmendInf();

break;

case 3:

DelInf();

break;

case 4:

ListAll();

break;

case 5:

SearchNum();

break;

case 6:

SearchName();

break;

case 7:

CCode();

break;

case 8:

total = 0;

printf("操作成功");

case 9:

WriteBackup();

break;

case 10:

ReadBackup();

break;

case 11:

printf("请按任意键退出\n");

Save();

case 0:

flag = 0;

}

}

}

static void AddInf()//添加信息

{

system("cls");//清屏,使用此函数需包含stdlib.h

if(total >= 1000)

printf("记录已满1000,无法录入\n");

else

{

InputStu(total);

total++;

}

}

static void AmendInf()//修改信息

{

fflush(stdin);

long n = 0, stunum, i;

printf("请输入要修改的学生信息的学号:");

scanf("%ld", &stunum);

for(i = 0; i <= total - 1; i++)//查找学号对应的下标{

if(stunum == stu[i].num)

{

n = 1;

break;

}

}

if(n == 0)

{

printf("抱歉,没有找到对应的记录");

fflush(stdin);

getchar();

}

else

{

printf("请输入新的信息,按任意键继续");

fflush(stdin);

getchar();

InputStu(i);

}

}

static void ListAll()//列出所有信息

{

system("cls");

int i;

for(i = 0; i <= total - 1; i++)

PutStu(i);

fflush(stdin);

getchar();

}

2.

#include

#include

#include

#include

void Save();

void CCode()

{

system("cls");

int countl,select,res;

char code1[21],code2[21],ori[]="123",ch;//密码FILE *fp;

if((fp = fopen("pw.dat", "r")) == NULL)

{

printf("无法修改密码");

fflush(stdin);

getchar();

return;

}

fflush(stdin);

printf("请输入新密码:");

for(countl=1;;countl++)

{

scanf("%20s",code1);//密码输入

printf("\n");

printf("请再次输入您的新密码: \n");

scanf("%20s",code2);

printf("\n");

res=strcmp(code1,code2);

if(res==0)

{

fp=fopen("pw.dat","w");

fwrite(code1, sizeof(code1), 1, fp);

fclose(fp);

printf("修改密码成功!\n返回上级:任意键\n退出程序:【Esc】\n");

ch=getch();

printf("\n");

if(ch==27)

Save();

system("cls");break;

}

else

{

if(countl>=4)

{

printf("%c",'\007');

printf("对不起,您现在不能修改密码!\n退出程序:【Esc】\n 返回上级:任意键\n");

ch=getch();

printf("\n");

if(ch==27)

Save();

system("cls");

break;

}

else

{

printf("对不起,您密码两次输入不一致\n\n请重新输入:\n");

printf("%c",'\007');

}

}

}

}

3.

#include

#include

#include

void AdminMode();

void Code()

{

system("cls");

char pw[21], pw2[21];//密码

FILE *fp;

if((fp = fopen("pw.dat", "r")) == NULL)

{

strcpy(pw,"1234");

fp=fopen("pw.dat","w");

fwrite(pw, sizeof(pw), 1, fp);

fclose(fp);

}

else

{

fread(pw, sizeof(pw), 1, fp);//读取密码

fclose(fp);

}

fflush(stdin);

printf("请输入密码(默认为1234):");

scanf("%20s", pw2);

if(strcmp(pw2, pw) == 0)

AdminMode();

else

{

printf("密码输入错误");

fflush(stdin);

getchar();

}

}

4.

#include

#include

#include

extern struct student//声明结构体

{

long num;//学号

char name[10];//姓名

int age;//年龄

int sex;//性别

int year;//入学年份

char address[10];//地址

}stu[1000], temp;

extern int total;//声明total

static void Stucpy(int n);

void DelInf()//录入信息

{

fflush(stdin);

long n = 0, stunum, i, j;

printf("请输入要删除的学生信息的学号:");

scanf("%ld", &stunum);

for(i = 0; i <= total - 1; i++)//查找学号对应的下标

{

if(stunum == stu[i].num)

{

n = 1;

break;

}

}

if(n == 0)

{

printf("抱歉,没有找到对应的记录");

fflush(stdin);

getchar();

}

else

{

total--;

for(j = total ; j > i ; j--)

Stucpy(j);

printf("操作成功");

fflush(stdin);

getchar();

}

}

static void Stucpy(int j)

{

stu[j - 1].num = stu[j].num;//学号

strcpy(stu[j - 1].name, stu[j].name);//姓名

stu[j - 1].age = stu[j].age;//年龄

stu[j - 1].sex = stu[j].sex;//性别

stu[j - 1].year = stu[j].year;//入学年份

strcpy(stu[j - 1].address,stu[j].address);//地址}

5.

#include

#include

extern struct student//声明结构体

{

long num;//学号

char name[10];//姓名

int age;//年龄

int sex;//性别

int year;//入学年份

char address[10];//地址

}stu[1000], temp;

extern int total;

void PutStu(int n);

void Save();

void SearchNum();

void SearchName();

static void ListAll();

void InfSearch()

{

int select, flag = 1;

while(flag)

{

fflush(stdin);

system("cls");//清屏,使用此函数需包含stdlib.h printf("1.列出所有信息\n");

printf("2.查找指定学号\n");

printf("3.查找指定姓名\n");

printf("4.退出程序\n");

printf("0.返回上层\n");

printf("请选择:");

scanf("%d", &select);

switch(select)

{

case 1:

ListAll();

break;

case 2:

SearchNum();

break;

case 3:

SearchName();

break;

case 4:

printf("请按任意键退出\n");

Save();

case 0:

flag = 0;

}

}

}

static void ListAll()

{

system("cls");

int i;

for(i = 0; i <= total - 1; i++)

PutStu(i);

fflush(stdin);

getchar();

}

6.

#include

#include

extern struct student//声明结构体

{

long num;//学号

char name[10];//姓名

int age;//年龄

int sex;//性别

int year;//入学年份

char address[10];//地址

}stu[1000], temp;

extern int total;

void InputStu(int n)

{

int i, f = 0, f2 = 0;;

loop:

fflush(stdin);

system("cls");//清屏,使用此函数需包含stdlib.h

if(f == 0)

printf("请输入学号(最多9位):");

else

printf("与已有学号重复或过长,请再次输入学号:");

scanf("%9ld",&temp.num);

for(i = 0; i <= total - 1; i++)//判断学号是否重复

{

if(temp.num == stu[i].num)

{

f = 1;

goto loop;

}

}

stu[n].num = temp.num;

fflush(stdin);

printf("请输入姓名:");

scanf("%s",stu[n].name);

fflush(stdin);

printf("请输入年龄:");

scanf("%d",&stu[n].age);

loop2:

fflush(stdin);

if(f2 == 0)

printf("性别为男请输入1,为女请输入0:");

else

printf("输入错误,性别为男请输入1,为女请输入0:");

int judge;

scanf("%d", &judge);

if(judge == 1)

stu[n].sex = 1;

else if(judge == 0)

stu[n].sex = 0;

else

{

f2 = 1;

goto loop2;

}

fflush(stdin);

printf("请输入入学年份:");

scanf("%d",&stu[n].year);

fflush(stdin);

printf("请输入地址:");

scanf("%s",stu[n].address);

printf("操作成功");

fflush(stdin);

getchar();

}

7.

#include

#include

struct student//定义结构体

{

long num;//学号

char name[10];//姓名

int age;//年龄

int sex;//性别

int year;//入学年份

char address[10];//地址

}stu[1000], temp;

int total;//total是所包含记录的条数

void MainInterface();//开始界面

void Save();//保存文件并退出

static void read();//读取文件

int main()

{

read();

MainInterface();//进入开始主界面

Save();

return 0;

}

static void read()//读取文件

{

FILE *fp;

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

{

total = 0;

}

else

{

fread(&total, sizeof(total), 1, fp);//读取total

fread(stu, sizeof(struct student), 1000, fp);//读取数组fclose(fp);

}

}

void Save()//保存文件

{

FILE *fp;

if((fp = fopen("stu.txt", "w")) == NULL)

{

printf("保存文件时出错");

exit(0);

}

fwrite(&total, sizeof(total), 1, fp);//写入total

fwrite(stu, sizeof(struct student), 1000, fp);//写入数组

fclose(fp);

exit(0);

}

8.

#include

#include

void Code();//管理员模式

void InfSearch();//信息查询

void Save();//保存并退出

void MainInterface()

{

while(1)

{

//fflush(stdin)的作用:

//清空输入缓冲区,通常是为了确保不影响后面的数据读取

//(例如在读完一个字符串后紧接着又要读取一个字符,

//此时应该先执行fflush(stdin);)

fflush(stdin);

system("cls");//清屏,使用此函数需包含stdlib.h

int select;

printf("欢迎进入学生信息管理系统\n");

printf("本系统可以实现学生信息的保存、查询、修改、删除、统计、备份等功能\n");

printf("本系统最多可存储1000条记录\n");

printf("1.管理员\n");

printf("2.普通用户\n");

printf("3.退出\n");

printf("请选择登录方式:");

scanf("%d", &select);

switch(select)

{

case 1:

Code();//管理员模式

break;

case 2:

InfSearch();//普通用户信息查询

break;

case 3:

printf("请按任意键退出\n");

Save();

}

}

}

9.

#include

#include

extern struct student//声明结构体

{

long num;//学号

char name[10];//姓名

int age;//年龄

int sex;//性别

int year;//入学年份

char address[10];//地址

}stu[1000], temp;

extern int total;

void PutStu(int n)

{

printf("学号:%ld 姓名:%s 年龄:%d", stu[n].num, stu[n].name,

stu[n].age);

if(stu[n].sex == 1)

printf(" 性别:男 ");

else

printf(" 性别:女 ");

printf("入学年份:%d 地址:%s", stu[n].year, stu[n].address);

printf("\n");

}

10.

#include

#include

extern struct student//声明结构体

{

long num;//学号

char name[10];//姓名

int age;//年龄

int sex;//性别

int year;//入学年份

char address[10];//地址

}stu[1000], temp;

extern total;

void ReadBackup()//读取文件

{

char file[20];

fflush(stdin);

FILE *fp;

printf("请输入文件名:");

scanf("%19s", file);

if((fp = fopen(file, "r")) == NULL)

{

printf("读取失败");

fflush(stdin);

getchar();

return;

}

else

{

fread(&total, sizeof(total), 1, fp);//读取total

fread(stu, sizeof(struct student), 1000, fp);//读取数组fclose(fp);

}

printf("操作成功");

fflush(stdin);

getchar();

C语言大作业报告

目录 一、设计题目 二、目标和需求分析 三、开发工具 四、应用平台 五、程序模块 1、游戏盒子 2、2048 3、扫雷 4、贪吃蛇 六、开发日志 七、程序调试及运行 八、程序开发总结 总结:虽然做出来的东西真的没什么技术水平,但是我们尽量把这个东西的每个方方面面做完整。

目标和需求分析一个小的游戏盒子,可以用来启动其它游戏,当然,其它游戏也是我们大作业的编写内容,平时可以玩玩用来打发时间 用到的工具VS2005 Easyx图形库 Pthread线程库 Hge 分工 秦贤康 组织大家,编写主程序,及构思计划,技术指导 王尧 所有的文件处理,数据算法方面优化 王懿晨 合作2048模块 杨梓晗 图片资源加工,音乐裁剪,按钮制作 程维驰 合作扫雷模块 应用平台:WINDOWS X64

程序功能模块: 一、 安装包:(写入开始菜单快捷方式,桌面快捷方式,开机启动等)//pascal 脚本编写 #define MyAppName "C 大作业" #define MyAppVersion "2.0" #define MyAppPublisher "五人小组" #define MyAppExeName "1.exe" [Setup] AppId={{49DB1DB4-FAE9-4ACB-A4B9-E5C420C5F10B} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} DefaultDirName={pf}\{#MyAppName} DisableDirPage=yes DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes (剩余代码未全部给出) 安装包 内嵌:C 语言报告 游戏盒子 开机启动,桌面快捷方式等 进入动画,左侧动画 启动模块 通知,和显示游戏信息 2048 扫雷 贪吃蛇 主界面信息显示 通知栏信息显示 意见箱

C语言图书管理系统课程设计报告[1]

第三章图书管理系统的设计与实现 3.1系统的需求分析 图书登记管理系统作为一个应用软件将为学校的老师和学生提供一个对学校图书馆深入了解并借阅、还书的平台。根据系统界面的提示信息对图书馆信息进行查询、初始化等操作 系统功能需求分析描述如下: (1)系统主菜单:进入系统和退出系统 (2)功能菜单:显示可以进行的操作 (3)查询主菜单:根据图书编号、书名、作者进行查询,并可显示所有图书信息 (4)借还书主菜单:可以进行借书和还书等操作 3.2系统的设计 3.2.1 系统的总统设计 下面从系统的整体流程的功能模块、系统界面及数据结构进行总体设计。 (1)总体思想 本系统主要设计思想是实现图书馆的功能机管理系统信息的查询、借书、还书等主要功能。系统的设计方法是结构化实际方法,系统用C语言进行开发用户可以清晰的了解图书馆内的情况。 (2)系统模块结构图 根据需求分析结果,图书管理系统可以分为三大模块:查询

图书模块、借书功能模块、还书功能模块。 系统模块结构如图: 3.2.2 系统的概要设计 ㈠系统主菜单。 显示系统的主菜单,里面有相应的功能代码,根据选择各功能代码进入不同的界面。功能主要包括:退出系统、查询图书、借书、还书。 ㈡查询图书信息 进入此菜单功能模块,输入您要查询的图书的编号、名字、作者等。 图书查询模块流程如图:

3.3 测试结果系统主界面

功能菜单 查询系统菜单

借还系统菜单 3.4 源代码 # include # include # include typedef struct link { char number[100]; char bookname[100]; char author[100]; char publish[100]; char time[100]; float price; char status[100]; struct link *next;

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

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

目录第1章Visual C++简介及其优点 第5章总结 附录源程序

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

图书管理系统的设计(C语言)

图书管理系统设计 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等 功能描述: 1.新进熟土基本信息的输入 2.图书基本信息的查询 3.对撤消图书信息的删除 4.为借书人办理注册 5.办理借书手续 6.办理换书手续 要求:以文件方式存储数据,系统以菜单方式工作。 这是本人大一第二学期初C语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中竟然在QQ网络硬盘中找到了当初的teta版,发布于此,以作纪念。

C源代码如下: #include #include #include struct book{ char book_name[30]; int bianhao; double price; char author[20];

char state[20]; char name[20]; char sex[10]; int xuehao; struct book *book_next; }; struct club{ char name[20]; char sex[10]; int xuehao; char borrow[30]; struct club *club_next; }; void Print_Book(struct book *head_book);/*浏览所有图书信息*/ void Print_Club(struct club *head_club);/*浏览所有会员信息*/ struct book *Create_New_Book();/*创建新的图书库,图书编号输入为0时结束*/ struct book *Search_Book_bianhao(int bianhao,struct book *head_book); struct book *Search_Book_name(char *b_name,struct book *head_book); struct book *Search_Book_price(double price_h,double price_l,struct book *head_book); struct book *Insert_Book(struct book *head_book,struct book *stud_book);/*增加图书,逐个添加*/

图书管理系统 (c语言)

程序设计方法课程设计

问题提出: 设计一个图书馆的图书管理,具体要求如下: 1.录入新采购的图书信息,做成文件book.in,要求有良好的输入界面; 2.查询各种图书的基本信息,设计出良好的查询界面; 3.按图书编号进行排序,将排好序的图书信息输出到文件book.out中。 4.统计各类图书册数、图书馆的图书总册数。 5.统计图书的借阅情况。 1.需求分析 对于图书馆的管理系统,应该满足以下的用户需求: ○1用户能够增加和删除一些图书。 ○2用户根据一些基本信息查询相应的图书,系统可以准确输出所有符合条件的图书信息。 ○3用户可以借阅和归还图书馆中的图书。 ○4系统可以对图书做出统计,包括图书总数,各类图书数目,图书的借阅情况。 2.设计分析 定义图书结构体,其成员包括书名、作者、类型、出版社、价格、是否借阅(整型,1为借出,0为未借)、编号。 输入新书时,利用结构体储存书的信息,同时将新书信息以二进制写入book.in文件中,录入结束后,将新书按输入顺序写入book.out中,并且以原来存书的最大编号为基准对新书进行编号,这样可以保证book.out文件存储的图书都是按编号进行排序的。 查找图书时,获得所查书目基本信息后,以二进制依次读取文件中的每一本图书信息,并与输入信息相比较,输出符合信息的图书。 删除图书时,通过输入的图书编号(编号可通过查找图书获得)查找相应图书,删除相应数据并保存。 借阅或归还图书时,通过图书编号(编号可通过查找图书获得)查找相应图书,修改图书的属性(是否借阅)并保存。 实现统计功能时,以二进制依次读取文件中的每一本图书信息,设置变量统计图书类型、借阅情况和图书总数,到文件结尾时,输出各个变量的值。

C语言大作业报告范文

学院XX学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (3) 2.3函数实现 (3) 2.4开发日志 (4) 3 程序调试及运行 (4) 3.1程序运行结果 (4) 3.2程序使用说明 (4) 3.3程序开发总结 (4) 4 附件(源程序) (4)

1 摘要 1.1 设计题目 (A)求最大数;(B)高次方数的尾数 1.2 设计容 (A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数1.3 开发工具 Visual C++ 6.0和Win32。 1.4 应用平台 Windows XP 32位 2 详细设计 2.1 程序结构 (A)求最大数

定义变量a、b、c,a从100至999递增,b为555555,用b除以a,判断是否可以整除,若可以,则把a的值赋给c,a自加1;若不可,a自加1。重复以上步骤,直到a>999,输出c。循环语句采用for 循环。 (B)高次方数的尾数

定义变量i、j,i从1至13递增,j初值为1。用j乘以13,用得到的乘积除以1000并取其余数,赋给j,i自加1。重复以上步骤,直到i>13,输出j。循环语句采用for循环。

2.2 主要功能 程序功能:(A)求555555的约数中最大的三位数; (B)求13的13次方的最后三位数。 原理和方法: (A)题目的原理和方法:因为要求的是三位数,就用555555从小到大依次除以100到999的所有数,并判断能否整除,最后一个可以整除555555的数即为所求。循环语句采用for循环。 (B)题目的原理和方法:乘积的最后三位数只与乘数和被乘数的后三位数有关,因此用1乘以13,再除以1000并取余数,用余数乘以13,再除以1000并取余数,依次进行下去,累乘13个13后除以1000取得的余数即为所求。循环语句采用for循环。 2.3 函数实现 (A)求最大数 int a,b=555555,c; /*定义变量,赋初值*/ for(a=100;a<=999;a++) /*FOR循环*/ { if(b%a==0) /*利用IF语句判断b是否可以被a整除*/ c=a; /*将555555的约数赋给c*/ } printf("%d\n",c); /*输出c*/ (B)高次方数的尾数 int i,j=1; /*定义变量,赋初值*/ for(i=1;i<=13;i++) /*FOR循环*/ { j=j*13%1000; /*将j乘以13的乘积的后三位数赋给j*/ } printf("%d\n",j); /*输出j*/ 2.4 开发日志 (A)选定这个题目后,我先分析此题用何种算法完成,确定了使用FOR循环并限定除数围,然后画出程序框图,再一步步编写源代码。调试过程很顺利,只有一个地方忘加了“;”。运行程序后,结果非常满意。 (B)这个题目不难,但是也不简便,我想到只取三位数的方法,并使用FOR循环,然后画出程序框图,再一步步编写源代码。调试过程发现对其中一个变量的初值是1还是13有待解决,分析程序后发现应该用1,然后进一步调试,运行,直至结果正确。

C语言大作业设计-

CHANGZHOU INSTITUTE OF TECHNOLOGY C语言大作业 设计说明书 题目: 通讯录管理系统 二级学院(直属学部):计算机信息工程学院 专业: 软件工程(中英合作)班级: 12软件二: 学号: 2013年7月 目录

1 概述 (1) 1.2设计分析 (1) 1.3开发工具 (1) 1.4应用平台 (1) 2 系统设计 (2) 2.1功能模块设计 (2) 2.2数据结构设计 (4) 2.3函数功能设计 (4) 3 实现与测试 (7) 3.1关键技术实现 (7) 3.2测试运行结果 (8) 4 开发日志 (14) 5 设计总结 (14) 6 参考文献 (14)

1 概述 1.1 小组构成及分工 1.2 设计分析 本程序设计共包含六个函数模块,分别是添加记录、显示记录、删除记录、查询记录、修改记录、保存记录等信息模块,完成通讯录的功能。在主函数中可以以1、2、3、4、 5、6数字键分别可以执行某个功能模块。 1.3 开发工具 Visual C++ 6.0 和window32 1.4 应用平台 Windows XP 32位 2 系统设计 2.1功能模块设计

1.系统模块图 本系统包括6个模块,分别是添加模块、显示模块、删除模块、查询模块、修改模块、保存模块等,各模块的功能如图2.1所示。各个模块的功能描述如下: (1)添加模块:可以添加通讯录记录,依次输入、年龄、、地址、电子后,并会提示是否继续添加。 (2)显示模块:可以以表格形式输出所有通讯录里的记录。 (3)删除模块:输入欲删除的那个人的名字后,会自动删除他(她)的记录容。 (4)查询模块:可以选择用、、地址三种方式查询。 (5)修改模块:输入欲修改的那个人的名字后,再依次输入、年龄、、地址、电子完成修改。 (6)保存模块:输入文件名(带后缀名)后,即可将通讯录信息保 存到文件。 图2.1 系统模块图 2.任务执行流程图

c语言程序设计报告 图书管理系统

中国地质大学本科生课程论文封面 课程名称c语言课程设计 教师姓名樊媛媛 本科生姓名 本科生学 本科生专业 所在院系 类别: 日期: 课程设计评语

注:1、无评阅人签名成绩无效; 2、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效; 3、如有平时成绩,必须在上面评分表中标出,并计算入总成绩。 目录

课程设计评语 (1) 目录 (2) 1.课程论文题目 (3) 2.程序设计思路 (3) 3.功能模块图 (4) 4.数据结构设计 (4) 5.算法设计 (4) 6.程序代码 (5) 7.程序运行结果 (11) 8.编程中遇到的困难及解决方法 (14) 9.总结心得及良好建议 (15) 10.致谢 (15) 1.课程论文题目 图书管理系统 2.程序设计思路

根据要求,图书管理系统以文本文件存放在文件中,故需要提供文件的输入、输出等操作;还需要保持记录以进行删除,查询,借书,还书,退出,添加等等操作;另外还有键盘式旋转菜单以实现功能选择模块。 3.功能模块图 系统功能模块图 4.数据结构设计 先写主函数main (),然后设计个功能选项,用switch选择,然后进入不同模块,进行不同选择,实现不同功能。每个图书信息设置一个结构体,将输入信息存入文件,提供查询功能,还有删除功能以及借书还书功能。每运行一功能后都返回主界面,方便再次选择,还有设置退出模块,方便退出。 5.算法设计

先定义结构体数组struct books,然后设置主界面,主界面出现6个功能选项,分 别是输入sr() 、借书js()、还书hs()、删除sc()、退出tc()、查询cx().各模块设计如下: 输入模块sr(),先调用文件eup,对其进行读取,然后增加,再对其进行保存和调用。其中结构体只输入tsmc图书名称,tsbh图书编号,dj单价,zz作者, 然后自动生成,czzt存在状态,姓名xm,学号xh,性别xb. 查询模块cx(),有选项图书编号和图书名称,然后选择,用if选择,然后用for循环查找,当输入名称与文件中的名称相同时,便显示此信息。 删除模块就是在查找功能的图书后,选择删除,将strcpy将s[i+1]的值赋给s[i]。借出模块也是在查询的基础上,若s[i]的存在状态为已借出,则显示已借出,无法再借,若未借出,则将s[i]的存在状态czzt变为已借出,然后输入姓名,学号,性别,最后显示出已借出。 还书模块就是在查询的基础上,若s[i]的存在状态为未借出,则无法归还,若借出,则将存在状态变为未借出,然后自动将姓名,学号,性别变为初始值。 退出模块使flag=1,而在main就有bool flag 且main中已令main=0.这样就实现了退出功能。 其中若输入超过选项值后,都会显示输入错误,请重新输入。若字符错误,程序就直接出现错误了。 6.程序代码 #include #include #include #include #define M 100 struct books { char tsmc[12]; int tsbh; float dj; char zz[12]; char czzt[12]; char xm[12];

C语言大作业(仅供参考)

实验综合练习一 打印万年历 (1)已知公元1年1月1日是星期一,计算输入的年月日是星期几?编程如下: #include void main() { int i,year,month,day,day_of_year,day_of_month; long sumday=0; printf("请先输入年、月、日,中间以空格或换行符间隔:\n"); scanf("%ld%ld%ld",&year,&month,&day); for(i=1;i<=year-1;i++) { if(i%400==0||i%100!=0&&i%4==0) day_of_year=366; else day_of_year=365; sumday=sumday+day_of_year; } for(i=1;i<=month-1;i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) day_of_month=31; else if(i==4||i==6||i==9||i==11) day_of_month=30; else if(i==2) { if(year%400==0||year%100!=0&&year%4==0) day_of_month=29; else day_of_month=28; } sumday=sumday+day_of_month; } sumday=sumday+day; i=sumday%7; if(i==0) i=7; printf("%ld年%ld月%ld日是星期%d\n",year,month,day,i); } 为了使输出的星期为大写且将星期7变成星期天,可作如下改动:#include void main()

c语言最全的图书管理系统程序

题目名称:图书管理系统 算法分析: 1用结构体标出信息系统的成员:图书书号,书名,作者姓名,出版社,价格 2 利用c语言的文件知识将系统的信息存放在c盘下的“project choose.txt”的文件夹下 3 定义各个子函数(1)定义输入信息函数,将图书信息按一定格式用scanf函数输入(统计M本的信息); (2)定义输出函数,每3个表一页直到最后一个; (3)定义信息查询函数。a,定义按书号查询函数,如果输入的数字等于图书编号则输出要查询的信息;b,定义按姓名查询函数,如果输入的姓名字符串等于其中一个作者姓名字符串则输出信息;c,定义按出版社名称查找函数,如果输入的字符串等于其中出版社名称,则输出该信息; e,定义查找总函数,输入一个数选择查找方式,1-4分别对应调用abc四个函数。 (4)定义删除信息函数。输入的数字作为要删除的图书编号,输出要删除的图书信息后选择是否删除,删除后将第g+1个的信息赋给第g个,输出删除后的信息表。 (5)定义信息修改函数。输入的数字等于要修改的图书编号,输出要修改的图书信息后选择是否修改,用switch,case语句选择要修改的项目,输入n,y决定是否继续直到不继续修改,输出图书信息。 (6)定义信息统计函数。输入一个字符串作为出版社,比较M 本书的出版社字符串是否等于输入的字符串,统计相等的个数n输出。 (7)定义图书编号排序函数。用冒泡排序法将M本的书的图书编号按从大到小的顺序排列后输出。 4 定义主函数。调用读取文件函数,输入数字1-5分别对应调用

修改图书信息函数,删除图书信息函数,查找图书信息函数,统计图书信息函数,图书排行信息函数,0表示退出系统。最后调用保存文件函数。结束程序。 流程设计:

C语言课程设计大作业

郑州大学 课程报告 课程名称:C语言程序设计 专业班级:(15)班 学生姓名:谢* 学号: *** 任课教师:赵** 学期: 2012-2013-2 课程报告任务书

成绩评定教师:一. 需求分析

1,具有数据的插入、修改、删除、显示和查询功能的电话簿管理程序。 2,数据包括:人名、工作单位、电话号码和E-MAIL地址。 3,可对记录中的姓名和电话号码进行修改。 4,可增加和删除记录。 5,可显示所有的保存记录。 6,可按人名或电话号码进行查询。 分析 建议采用结构体数组和文件系统实现。结构体成员包括人名、工作单位、电话号码和E-MAIL地址。 根据题目的要求程序应该采用结构体数组和文件系统实现。应该有文件的操作功能;在程序中应该包括输入、显示、删除、查询、添加、修改、保存、加载和退出的功能。 二、概要设计 (1).程序的模块组成及各个函数的功能: 程序的模块组成: 主函数:main(); 输出数据函数:printf(); 读取数据函数:scanf(); 显示记录函数:Display(); 删除记录函数:shanchu(); 查找记录函数:chaxun(); 自定义清屏函数:system(“cls”); 自定义输入函数:input(); 字符输入函数:getchar(); 修改数据函数:xiugai(); 保存数据函数:baocun(); 排序数据函数:paixu(); 各函数的主要功能: 输出数据函数:随时输出数据; 读取数据函数:读取输入的数据信息;

显示菜单函数:显示可供选择的主菜单; 显示记录函数:显示通讯录所有输入的信息; 删除记录函数:显示要删除的通讯录所有输入的信息; 查找记录函数:显示要查询的通讯录所有输入的信息; 自定义清屏函数:清除前面运行留下的信息; 自定义输入函数:输入通讯录的成员;; 字符输入函数:从终端输入一个字符,遇回车键返回; 修改数据函数:修改通讯录的成员信息; 保存数据函数:保存通讯录的成员信息; 排序数据函数:排序通讯录的成员信息; (2)程序中的抽象数据类型的定义: 用户的状态结构 用户 { 编号: 姓名: 电话; 年龄; 邮箱: 地址; (3)总体流程图 根据上面的分析,可以将程序系统的设计分为如下几个模块:插入、显示、删除、查询、修改、保存和退出。 } 三. 详细设计

c语言大作业

学年论文(课程论文、课程设计) 题目:学生学籍信息管理系统 作者: 所在学院:信息科学与工程学院 专业年级: 指导教师: 职称:讲师 2014年 12月 31日

目录 1. 设计内容、任务以及要求.......................... 1.1设计内容、任务 1.2 设计要求 2. 设计思路概述.................................... 2.1 系统基本功能 2.2 具体设计思想 2.3 系统的总体流程图 3. 函数设计的实现.............................. 3.1 结构的定义 3.2 各个函数的设计简介 3.3源代码 3.4删除模块的详细介绍 4. 重点程序的调试及运行............................删除函数的测试 5. 总结............................................ 6. 致谢............................................ 7. 参考文献........................................

1.设计内容、任务以及要求 1.1 设计内容、任务 主要利用c语言的文件操作能力设计开发一个学生学籍管理系统,至少具有如下功能:信息输入、输出、查找、删除、成绩排序等功能。具体内容如下: (1)通过提示菜单选择可以进行的操作; (2)将学生的信息存入文件中,并命名为txl.txt; (3)在本系统中可以进行管理系统包含的基本操作: a. 查看所有学生信息; b. 输入一个学生的姓名或学号,从当前的信息中查找,如果找到则显示该学生的相关信息,如果没找到则给出相关提示信息; c. 输入一个学生的姓名或学号,从当前信息中查找,如果找到则删除该学生的基本信息,如果没找到则给出相关提示信息; d. 将学生的成绩按降序排序; Txl.txt文件中: (4)学生基本信息包括:学号、姓名、性别、班级、籍贯、分数等简单信息;1.2设计要求 明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用c语言进行文件操作的编程技术水平;初步了解软件开发的一般方法和步骤。 2.设计思路概述 2.1 系统基本功能 外部操作:根据要求系统要有查看全部学生信息,查找、添加、删除某一个学生信息; 内部操作:将学生的信息存入文件中,并命名为txl.txt; 为了接近实际学生学籍管理系统,增加了一个权限认证功能(使用前需要输入正确的账号及密码)。 2.2 具体设计思想 (1)以结构化各个功能模块,函数间的调用精简整个函数; (2)以全局结构来随时定义结构数组及其结构; (3)以写一个信息存一个的思想,实现多个添加功能; (4)以先全部读入内存,再打印信息的思想,实现显示全部信息; (5)以先判断再打印的思想,实现查找是否有某一学生信息; (6)以先判断再删除的思想,实现删除某一学生信息; (7)以选择排序算法的思想,实现学生成绩的排序 2.3 系统的总体流程图 权限确认 进入系统

基于C语言数据结构图书管理系统

计算机科学与技术专业课程设计任务书 1 需求分析 1本演示程序中,用户从键盘输入图书信息,图书编号,名称,类别,作者,出版社,价格,购买日期。 2演示程序以用户和计算机的对话方式执行,即在运行窗口出现提示信息,有用户从键盘录入,显示结果会在显示之后。 3程序执行的命令包括:查询图书信息,删除图书信息,对所有图书进行排序,

统计各种类的图书数目。显示所有图书信息 4 测试数据:2001 离散数学 X 左孝凌上海科学出版社 18.00 2009/6/8 2002 数据结构 B 严蔚敏清华大学出版社 30.00 2010/4/1 2 程序总体设计 (1)数据结构 依据输入的数据信息和数据格式,连表结点用结构体实现。采用链表方式存储,typedef:typedef struct //定义表示日期数据的结构体数据类型 { int month; int day; int year; } DATE; typedef struct Booktype //定义表示图书信息的结构体数据类型 { char id[10]; /* 图书编号*/ char name[40]; /* 图书名称*/ char type; /* 图书类型*/ char writer[10]; /* 图书作者*/ char publisher[20]; /* 图书出版社*/ float price; /* 图书价格*/ DA TE buydate; /* 图书购买日期*/ } Btype; typedef struct Booklist /* 定义表示所有图书信息的链表数据类型*/ { Btype *bk; struct Booklist *next; } Blist; (2)模块划分

C语言编写图书管理系统

文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. 分类号: 单位代码: 本科毕业设计说明书 C语言编写图书管理系统 姓名李彬 学号0114 年级2008级本科3班 专业机械设计制造及其自动化 系(院)机械工程学院 指导教师李培珍 年月日

目录 第一部分.................................................. 错误!未定义书签。职业生涯规划——十年创业路................................ 错误!未定义书签。1前言................................................... 错误!未定义书签。2自我剖析................................................ 错误!未定义书签。3环境分析................................................ 错误!未定义书签。 3.1国家环境............................................. 错误!未定义书签。 3.2社会环境............................................. 错误!未定义书签。 3.3职业环境............................................. 错误!未定义书签。 3.4分析小结............................................. 错误!未定义书签。4未来人生职业规划........................................ 错误!未定义书签。5总结................................................... 错误!未定义书签。第二部分.................................................. 错误!未定义书签。C语言编写图书管理系统.................................... 错误!未定义书签。摘要.................................................... 错误!未定义书签。Abstract.................................................. 错误!未定义书签。1需求分析................................................ 错误!未定义书签。 1.1 系统需求............................................ 错误!未定义书签。 1.2 功能分析............................................ 错误!未定义书签。2系统功能模块结构图...................................... 错误!未定义书签。 2.1 系统调用的函数...................................... 错误!未定义书签。 2.2 图书管理系统模块.................................... 错误!未定义书签。 3 图书管理系统的结构...................................... 错误!未定义书签。 3.1 主函数流程图........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 3.2 实体数据结构........................................ 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。

C语言课程设计图书管理系统课程设计报告

C语言课程设计 图书管理系统 Books Management System 学生姓名张朝柱 学院名称徐州工程学院学号140 班级13计转本 专业名称计算机科学与技术 指导教师李子龙 2016年5月10日

一、需求分析 为了满足图书管理的要求,通过计算机技术给图书管理人员和读者借、还书带来便利。使用c语言编写了图书管理系统。本系统主要实现图书信息管理的功能,通过此系统可对图书馆库存图书信息进行管理和维护操作。实现了图书馆内管理的一般功能,包括查询、借书、还书、添加、删除、修改图书信息等。所设计的系统以菜单方式工作,为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中可能出现的异常情况。图书信息包括编号、书名、作者、数量、在库状态等。图书信息的录入和显示要求有一定的规范格式,录入的图书信息用文件形式保存,并可以对其进行浏览、查询、借阅、还书等基本操作。整个程序实现顺序表操作,对图书信息的操作逐个地进行,一个图书信息的更改不应影响其他的图书记录。 二、算法设计: 1.设计思想: 整个系统制造的而过程中,涉及了较多C语言知识点,对于不同的数据类型、程序控制结构、数据结构作以分析和总结,并结合这个课题进行综合的应用,在一定程度上做到了对所学知识融会贯通。进一步加深、巩固了所学的专业的基本理论知识,培养了综合分析问题、解决问题的能力。在设计程序时,实现了程序的模块化、结构化。在主函数中调用各种子函数,操作界面简单,易操作。 2,设计表示: (1)、整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。主要实现了图书的录入、存储、查询、借书、还书、显示库存等功能。 (2)、void Book_Entering(struct SqList &SL);这是一个录入图书信息的函数,它主要实现了顺序表的创建,并且在创建过程中从文件读取信息到顺序表中,以用于后面其他函数的操作。它引用了一个顺序表SL。其他函数调用时只需传入顺序表头即可。 (3)、int main(void);这五个函数时整个图书管理系统的全部菜单函数,Book_Entering();为系统主界面,进入时可选择进入程序和退出程序。menu1();为进入程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。Book_Inquire();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。操作完成后按提示信息进行文件的保存操作。 (4)、void Book_Inquire(struct SqList &SL);这个函数为顺序表的输出函数,把顺序表的头传给函数后,可输出整个顺序表的所有信息。、

C语言大作业(图书管理)

c语言图书管理系统 主要功能: 1. 新进图书基本信息的输入。 2. 显示全部记录 3. 按图书名称查询图书基本信息。 4. 根据图书名称对撤消的图书信息进行删除。 5. 按图书名称从小到大排序。 6. 统计某价格以上的图书数量。 7. 列出所有未借出去的图书信息。 基本信息:图书编号、图书名称、单价、作者、存在状态、借书人姓名、性别、学号等 #include #include #include #include typedef int BOOL; typedef struct bookinfo { char number[15];/*产品编号*/ char name[30];/*产品名称*/ float price;/*单价*/ char auther[20];/*作者*/ BOOL isExit;/*存在状态*/ char lendername[20];/*借书人姓名*/ char lendersex[2];/*借书人性别*/ char lendernum[15];/*借书人学号*/ }BOOKINFO; void menu() { printf("\n\n\n\n\n\n\n"); printf("\t\t\t图书管理系统\n"); printf("\t\t\t1:新进图书基本信息的输入\n"); printf("\t\t\t2:显示全部记录\n");

printf("\t\t\t3:根据图书名称查询图书基本信息\n"); printf("\t\t\t4:根据图书名称对撤销的图书信息进行删除\n"); printf("\t\t\t5:按照图书名称从小大到排序\n"); printf("\t\t\t6:统计某价格以上的图书数量\n"); printf("\t\t\t7:列出所有未借出去的图书信息\n"); printf("\t\t\t8:退出\n"); } void choice_1_input_new()/*输入新进的图书信息*/ { char choice; FILE *p; BOOKINFO newbook; system("cls"); while(1) { printf("输入图书编号:"); gets(newbook.number); printf("输入图书名称:"); gets(https://www.doczj.com/doc/5811985138.html,); printf("输入图书单价:"); scanf("%f",&newbook.price); while(getchar()!='\n'); printf("输入图书的作者:"); gets(newbook.auther); printf("输入借书人姓名:"); gets(newbook.lendername); printf("输入借书人性别:"); gets(newbook.lendersex); printf("输入借书人学号:"); gets(newbook.lendernum);

c语言大作业

c 语言大作业 《面向对象技术课程大作业》 设计报告书 题目: 指导教师: 姓名: 学号: 日期: 管理科学与工程学院2011-2012 学年第1 学期 一、需求分析: 随着小型超市规模的发展不断扩大,商品数量急剧增加,商品的各种信息量也成倍增长。超市在时时刻刻需要对商品各种信息进行统计分析。而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块: 登入、原始数据录入、数据的汇总及查询等。从而,实现对进货、库存和销售全面、动态、及时的管理。 超市管理系统是一个多部门、多任务的信息管理系统,包含人事部、采购部、销售部、财务部和总经理。对于不同的部门必须有独立的功能。数据的可靠性是信息管理的必要保证,所以不同部门的员工在执行各自权限功能时对其它部门数据的影响必须降到最低,因此超市管理系统也同样是通过权限来实现数据的更新和行为的操作。用户权限分为: 各部门普通员工权限、各部门经理权限、各部门管理员权限和总经理权限。 计算机作为一种高效的管理工具,对现代企业的管理发挥了及其重要的作用。 商业超市是当今最重要的商业经营形式之一,为了进一步提高商业超市的管理水平和竞争力,管理信息系统在商业超市中的趋势已是大势所趋。随着小超市规模的发 展不断扩大,商品数量急剧增加,有关商品的各种信息也成倍增长。所以,计算机 管理超市的模式,是一种很有必要的管理模式,不但能提高工作效率,还能减少工作人员的工作

量。是一种非常有潜力的市场经营模式。 二、系统的主要功能 功能需求: 1、超市员工管理 2、进货管理 3、销售管理 4、销售额管理 具体如下: (1) 登入模块员工可通过该功能登入本系统,执行其权限范围内的所有功能。 (2) 新进职员登记模块 新入职员工通过该功能,添加该员工信息入员工信息表。 (3) 员工信息修改模块 员工通过该功能,修改其住址、联系电话、银行卡号。(4) 职员离职登记模块 员工通过该功能,添加职员离职信息。(5) 修改员工登入密码模块员工通过该功能,修改登入密码。 (6) 员工考勤登记模块 员工通过该功能,添加考勤记录。 (7) 添加采购信息模块 员工通过该功能,添加采购记录。 (8) 修改商品单价模块

C语言大作业

学院

目录 1 摘要 (3) 1.1设计题目 (3) 1.2设计内容 (3) 1.3开发工具 (3) 1.4应用平台 (3) 2 详细设计 (3) 2.1程序结构 (3) 2.2主要功能 (10) 2.3函数实现 (10) 2.4开发日志 (17) 3 程序调试及运行 (18) 3.1程序运行结果 (18) 3.2程序使用说明 (19) 3.3程序开发总结 (20) 4 附件(源程序) (20)

1 摘要 1.1 设计题目 A题算法型:折半查找算法演示程序 B题空间桁架结构节点位移求解 1.2 设计内容 A题: 本程序是一个演示折半查找算法的演示程序。当用户输入查找数据表列和要查找的数据时,程序会演示折半法查找该数的详细过程,并且支持多次查找、错误提示等功能。 B题: 空间桁架结构节点位移求解 1.3 开发工具 Code Blocks 12.11(内置MinGW) 1.4 应用平台 Windows 7 64位 2 详细设计 2.1 程序结构 A题: 程序功能模块: 本程序主要包含六大模块:程序说明模块、输入模块、排序模块、折半法查找模块、选择模块和程序

退出模块。 工程文件结构: 本程序的工程含有6个文件,其中main.cpp、print_stars.cpp、judge.cpp、sort.cpp、putout.cpp5个cpp 文件和include.h1个头文件(参见下图),两者共同存在于工程“折半法查找演示程序”中。其中main.cpp 文件包含了程序的主体部分,程序说明模块、输入、排序、折半查找、选择、程序退出模块按线性排列。其中输入、排序模块执行一次,这般查找、选择模块可多次执行,直到程序退出模块执行。 六大模块说明: (1) 程序说明模块: 给使用者营造一个较为友好的界面,同时提供程序开发人员的相关信息以及程序操作的相关说明信息。此部分模块主函数源代码如下: int a[N]; /*存储要查找的数表,用户输入*/ int i,n,num,count; /*count为折半次数计数器,n为数表数据个数,num存储所查数据*/ int top,bottom,mid; char c; /*存储选择函数中的输入的字符y或n*/ int flag=1; /*折半法循环标志变量*/ int loc=-1; /*存储所查找数据位置*/ double k=0; p_s(76);puts("\n"); /*引用p_s函数,打出一行'*'*/(p_s函数位于print_star.cpp文件中,参见下文)

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