教材信息管理系统.docx

上传人:b****5 文档编号:5328020 上传时间:2022-12-15 格式:DOCX 页数:17 大小:228.51KB
下载 相关 举报
教材信息管理系统.docx_第1页
第1页 / 共17页
教材信息管理系统.docx_第2页
第2页 / 共17页
教材信息管理系统.docx_第3页
第3页 / 共17页
教材信息管理系统.docx_第4页
第4页 / 共17页
教材信息管理系统.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

教材信息管理系统.docx

《教材信息管理系统.docx》由会员分享,可在线阅读,更多相关《教材信息管理系统.docx(17页珍藏版)》请在冰豆网上搜索。

教材信息管理系统.docx

教材信息管理系统

 

课程设计报告

 

课程设计题目:

教材信息管理系统

 

学生学号

学生姓名

专业信息系统与信息管理

指导教师

2008年5月24日

 

目录

1.

一、概要设计

教材信息管理系统,采用数据文件存放教材基本信息,管理员可以进行添加、选择出库教材、输出、教材信息修改工作。

教材信息包括:

编号、书名、作者.、入库时间、出库时间、单价、、总数量。

功能设计如下:

1、主函数。

2,输入信息查找。

3,教材信息的显示。

4,插入,删除,添加一些必要的信息。

5,核对教材的信息。

设计一个名为s_book.txt的程序,该程序中的主函数显示系统菜单,并读入用户的选择,然后通过调用个主要分类函数(www.nb-)的子函数来实现系统的各项功能;

建立了来存储信息。

二、总体设计分析

教材信息管理系统是实现人与教材信息之间互通的平台,实现教材信息的共享,需要的主要功能为:

可以查询的信息、进行信息的修改、安全和隐秘性等。

所以可以对整个程序进行如下的分析:

1.对教材信息设置了如上结构体变量。

在教材信息中设置了编号,书名,作者,单价,买书人,数量,入库时间,出库时间等信息,来满足来管理教材。

2.为了教材的信息能过更好的利用此程序进行管理,管理者能够查询教材的信息,对教材的管理进行插入,删除,添加一些信息。

满足管理者对教材管理的一些需求。

3.在输入变量,能够查询需要的教材信息。

4.此系统使使用者在登录之后,在输入变量,能显示出你所需的教材资料的基本信息,方便了使用者。

 

功能模块图

 

 

三、各模块的实现方法

整个系统可以分为主函数、输入函数,显示函数。

修改函数。

核对函数,写入文件函数。

等几个模块。

1.主函数

主函数中包括选择菜单界面,以printf语句输出0—7种选择,以switch()语句,由用户输入,则计算机根据用户输入的选择进行执行相应模块的调用,并用goto语句使得循环能够进行。

2.输入信息

运用printf语句输出要输出的编号,书名,作者,单价,买书人等一些信息,用scanf语句由用户输入教材的信息,最后由选择是否还是数据,运用while()语句中的条件,用户输入字符不是“N“,则继续输入信息。

3.显示信息

显示信息中的while()语句中的条件范围,输出显示信息。

4.修改信息。

修改信息部分包括插入信息,删除信息,添加信息三部分。

插入信息部分运用printf()语句输出教材中的信息,用scanf()语句由用户输入教材对应信息。

删除信息部分由用户输入要删除的书的书名,以while()语句中的条件控制循环。

如果用户输入的书名相同则删除此书,用if语句,假设检查过的书的数量与总书的数量相等,说明没有找到这本用户要删除的书,用for语句实现,如果前一本书由用户找到要删除的书。

则后一本书向前一位进行覆盖。

添加部分

添加信息部分为使要添加的教材信息到指针文件中,if语句说名不能以二进制文件打开,如果打开则信息系统停止,while语句中条件的范围使文件添加的教材信息的本数为编号本书。

5.核对信息部分

核对信息部分用scanf()语句用户输入要核对的书的书名,以while()语句中的条件控制循环,如果用户输入的书名与系统书名相同,则可以核对到此书的信息,用if语句,假设检查过的书的数量与总书的数量相等,说明没有找到要核对的书,如果找到要核对的书则输出编号,作者,单价等一些信息。

6.写入文件部分

写入文件部分为将输入的教材信息写入FILE*fp文件中,如果用户以输出的形式打开一个文本文件,则系统显示不能打开文件,系统停止,在while循环语句的范围下。

Fprintf()以fp为指定输出文件把各项数据写入文件,关闭fp文件,则输出成功写入文件

四、自己负责模块的程序设计分析

 

企业操作流程图

个人操作流程图

 

管理员操作流程图

系统菜单流程图

系统菜单用switch语句调用企业菜单、个人菜单和管理员操作。

企业操作中的企业登录功能:

输入一个企业的企业帐号,调用企业结构提的企业数组,利用for循环来调用所有的企业数组,再用if语句判断企业数组里的企业帐号与输入的帐号进行比较,如果有相同的则确定此数组,并提取此数组的密码选项内容,在提示输入密码后,继续用if语句继续判断此数组中的密码是否与输入的密码相同,是的话则可以进入下一级菜单,用switch来选择下步的操作:

可以开始调用显示所有应聘人的信息、修改企业看中的应聘人来面试的确认信息、刷新还要录取的人数等操作。

个人操作中的个人登录功能:

输入一个个人的姓名,调用个人结构体并取得个人数组,,利用for循环来调用所有的存在的数组,再用if语句判断个人数组里的个人姓名与输入的姓名进行比较,如果有相同的则确定此数组,并提取此数组的密码选项内容,在提示输入密码后,继续用if语句继续判断密码是否相同,是的话则可以进入下一级菜单,用switch来选择下一步的操作:

查询企业信息、查询自己信息、输入应聘企业的代码。

管理员操作:

输入一个管理员的帐号,调用管理员结构体并取得管理员数组,利用for循环来调用所有的存在的数组,再用if语句判断管理员数组里的管理员帐号与输入的帐号进行比较,如果有相同的则确定此数组,并提取此数组的密码选项内容,在提示输入密码后,继续用if语句继续判断密码是否相同,是的话则可以进入下一级菜单,用switch来选择下面的操作操作:

添加新管理员、修改权限、进入普通权限。

添加新管理员是用scanf语句来输入来实现;修改权限则要用if语句来判断是否可以执行此命令,在通过查找定位你要修改的数组,再进行修改;普通权限进入后用switch来选择是企业删除和个人删除命令。

五、自己负责模块的程序源代码

#include

#include

#include

#include

typedefstruct

{

charbianhao[10];

charshuming[20];

charzuozhe[20];

intdanjia[10];

charmaishuren[10];

intshuliang;

charruku[10];

charchuku[10];

}testbook;

testbooktest[80];

intn=0;

FILE*fp;

intInput()

{

charsign;

sign=getch();

while(sign!

='n'&&sign!

='N')

{printf("\t\t\ttestbook'sbianhao:

");

scanf("\t\t\t%s",test[n].bianhao);

printf("\t\t\ttestbook'sshuming:

");

scanf("\t\t\t%s",test[n].shuming);

printf("\t\t\ttestbook'szuozhe:

");

scanf("\t\t\t%d",test[n].zuozhe);

printf("\t\t\ttestbook'sdanjia:

");

scanf("\t\t\t%d",test[n].danjia);

printf("\t\t\ttestbook'smaishuren:

");

scanf("\t\t\t%s",test[n].maishuren);

printf("\t\t\ttestbook'sshuliang:

");

scanf("\t\t\t%s",test[n].shuliang);

printf("\t\t\ttestbook'sruku:

");

scanf("\t\t\t%s",test[n].ruku);

printf("\t\t\ttestbook'schuku:

");

scanf("\t\t\t%s",test[n].chuku);

printf("\t\t\tanymorerecords?

(Y/N)");

scanf("\t\t\t%c",&sign);

n++;

}www.nb-

return(n);

}

voidDisplay(testbooktest[],intn)

{

inti=1;

printf("\t\t\tbianhaoshumingzuozheshuliangchukudanjiamaishurenruku\n");

while(i

{

printf("\t\t\t%-16s%-15s%-15s%d%-15s%-15s\n",test[i-1].bianhao,test[i-1].shuming,test[i-1].zuozhe,

test[i-1].chuku,test[i-1].danjia,test[n-1].maishuren,test[n-1].ruku,i++);}}

intInsert_a_record(testbooktest[],intn)

{printf("\t\t\tbooktest'sbianhao:

");

scanf("\t\t\t%s",test[n].bianhao);

printf("\t\t\ttestbook'sshuming:

");

scanf("\t\t\t%s",test[n].shuming);

printf("\t\t\ttesetbook'szuozhe:

");

scanf("\t\t\t%s",test[n].zuozhe);

printf("\t\t\ttestbook'schuku:

");

scanf("\t\t\t%s",test[n].chuku);

printf("\t\t\ttestbook'sdanjia:

");

scanf("\t\t\t%d",test[n].danjia);

printf("\t\t\ttestbook'smaishuren:

");

scanf("\t\t\t%s",test[n].maishuren);

printf("\t\t\ttestbook'sruku:

");

scanf("\t\t\t%s",test[n].ruku);

n++;}

intDelete_a_record(testbooktest[],intn)

{chars[20];

inti=0,j;

printf("\t\t\ttellmehisorhershuming:

");

scanf("%s",s);

while(strcmp(test[i].shuming,s)!

=0&&i

if(i==n)

{printf("\t\t\tnotfind!

\n");

return(n);

}

for(j=i;j

{

strcpy(test[j].bianhao,test[j+1].bianhao);

strcpy(test[j].shuming,test[j+1].shuming);

strcpy(test[j].zuozhe,test[j+1].zuozhe);

strcpy(test[j].chuku,test[j+1].chuku);

strcpy(test[j].maishuren,test[j+1].maishuren);

strcpy(test[j].ruku,test[j+1].ruku);

}

printf("\t\t\tDeleteSuccessed!

\n");

return(n-1);

}

voidcheck_a_record(testbooktest[],intn)

{chars[20];

inti=0;

printf("\t\t\tinputhisorhershuming:

");

scanf("\t\t\t%s",s);

while(strcmp(test[i].shuming,s)!

=0&&i

if(i==n)

{printf("\t\t\tnotfind!

\n");

return;

}

printf("\t\t\ttestbook'sbianhaober:

%s\n",test[i].bianhao);

printf("\t\t\ttestbook'szuozhe:

%s\n",test[i].zuozhe);

printf("\t\t\ttestbook'schuku:

%s\n",test[i].chuku);

printf("\t\t\ttestbook'sdanjia:

%s\n",test[i].danjia);

printf("\t\t\ttestbook'smaishuren:

%s\n",test[i].maishuren);

printf("\t\t\ttestbook'sruku:

%s\n",test[i].ruku);}

intAddfromText(testbooktest[],intn)

{inti=0,bianhao;

FILE*fp;

charfileshuming[20];

printf("\t\t\tInputthefileshuming:

");

scanf("\t\t\t%s",fileshuming);

if((fp=fopen(fileshuming,"rb"))==NULL)

{printf("\t\t\tcann'topenthefile\n");

printf("\t\t\t");

system("pause");

return(n);

}

fscanf(fp,"%d",&bianhao);

while(i

{

fscanf(fp,"%s%s%s%s",test[n+i].bianhao,test[n+i].shuming,test[n+i].zuozhe,test[n+1].chuku);

i++;

}

n+=bianhao;

fclose(fp);

printf("\t\t\tSuccessed!

\n");

printf("\t\t\t");

system("pause");

return(n);

}

voidWritetoText(testbooktest[],intn)

{

inti=0;

FILE*fp;

charfileshuming[20];

printf("\t\t\tWriteRecordstoaTextFile\n");

printf("\t\t\tInputthefileshuming:

");

scanf("\t\t\t%s",fileshuming);

if((fp=fopen(fileshuming,"w"))==NULL)

{

printf("\t\t\tcann'topenthefile\n");

system("pause");

return;

}

fprintf(fp,"%d\n",n);

while(i

{

fprintf(fp,"%-16s%-15s%-15s%-15s%d%-13s%-12s\n",

test[i].bianhao,test[i].shuming,test[i].zuozhe,test[i].chuku,test[i].danjia,

test[i].maishuren,test[i].ruku);

i++;

}

fclose(fp);

printf("Successed!

\n");

};

voidmain()

{inti=0,h;

if(fopen("jiaocao.txxt","r")==NULL)fp=fopen("jiacao.txt","w");

else{fp=fopen("jiaocai.txt","r+");

while(fscanf(fp,"%10s,%20s,%20d,%10d,%10s,%10s,%10s",

&test[n].bianhao,test[n].shuming,test[n].zuozhe,test[n].danjia,test[n].maishuren,test[n].ruku,test[n].chuku)!

=EOF)n++;}

L1:

printf("\t\t****WelcomeToTheTestBooksManagementSystem****\n");/**/

printf("\t\t|1.InputRecords|\n");

printf("\t\t|2.DisplayAllRecords|\n");

printf("\t\t|3.Sort|\n");

printf("\t\t|4.InsertaRecord|\n");

printf("\t\t|5.DeleteaRecord|\n");

printf("\t\t|6.check|\n");

printf("\t\t|7.Statistic|\n");

printf("\t\t|8.AddRecordsfromaTextFile|\n");

printf("\t\t|9.WritetoaTextfile|\n");

printf("\t\t|0.Quit|\n");

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

printf("\t\t\tGiveyourChoice(0-9):

");

scanf("%d",&h);

switch(h)

{

gotoL1;

case1:

printf("\t\t\tInputRecords\n");

n=Input(test,n);

gotoL1;

break;

case2:

printf("\t\t\tDisplayAllRecords\n");

Display(test,n);

gotoL1;

break;

case3:

printf("\t\t\tInsertaRecord\n");

n=Insert_a_record(test,n);

printf("\t\t\t");

system("pause");

gotoL1;

break;

case4:

printf("\t\t\tDeleteaRecord\n");

n=Delete_a_record(test,n);

printf("\t\t\t");

system("pause");

gotoL1;

break;

case5:

printf("\t\t\tAddRecordsfromaTextFile\n");

n=AddfromText(test,n);

gotoL1;

break;

case6:

printf("\t\t\tWritetoaTextfile\n");

WritetoText(test,n);

printf("\t\t\t");

system("pause");

gotoL1;

break;

case'0':

printf("HaveaGoodLuck,Bye-bye!

\n");

printf("thissystemcostmeawholenighttocomposeatlastifinishit\n");

printf("\ifeelveryhappy\n");

printf("\t\t\t");

system("pause");

exit(0);

}

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

fprintf(fp,"%10s,%20s,%20d,%10d,%10s,%10s\n",

test[n].bianhao,test[n].shuming,test[n].zuozhe,test[n].danjia,test[n].maishuren,test[n].ruku,test[n].chuku);

fclose(fp);

}_

六、程序运行结果及系统使用说明

 

 

 

课程设计评分表

学生姓名:

班级:

学号:

课程设计题目:

项目内容

满分

实评

能结合所学课程知识、有一定的能力训练。

符合选题要求

(5人一题)

10

工作量适中,难易度合理

10

能熟练应用所学知识,有一定查阅文献及运用文献资料能力

10

理论依据充分,数据准确,公式推导正确

10

能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等

10

能体现创造性思维,或有独特见解

10

总体设计正确、合理,各项技术指标符合要求。

10

说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰

10

设计说明书栏目齐全、合理,符号统一、编号齐全。

 格式、绘图、表格、插图等规范准确,符合国家标准

10

有一定篇幅,字符数不少于5000

10

总分

100

指导教师评语:

 

指导教师签名:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1