您好,欢迎来到尔游网。
搜索
您的当前位置:首页C语言课程设计报告—图书信息管理系统

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

来源:尔游网


C语言课程设计报告

图书信息管理系统设计

图书信息管理系统

管理员登录系统模块 菜单选择模块图书信息录入功能模块 图书信息浏览功能模块 图书信息查询功能模块 图书信息的删除和修改

头函数名:

#include #include #include

/*********图书信息结构体*********/

/***包括登录号,书名,作者名,分类号,出版单位,出版时间,价格等***/ struct bookinf

{ int num; ******************************************************登录号 char bname[20];*************************************** 书名 char wname[10];*************************************** 作者名 char clanum[14];*************************************** 分类号 char pubcom[10];*************************************** 出版单位 char pubtime[10];*************************************** 出版时间 float price;********************************************* 价格 };

一管理员登录系统模块:

(1) 来到图书信息管理系统页面

void index() {

char input; 注释:运行时 printf(\"\\n\\n\\\*****************************\\n\"); 直接进入 printf(\"\\\ 图书信息管理系统\\n\"); 这个页面 printf(\"\\\*****************************\\n\\n\\n\");

printf(\" ------------------------------------------------------------------------------\\n\"); printf(\"\<按任意键进入>\\n\\"); input=getchar();

}

(2) 管理员登陆进入功能菜单页面

第2页

开始 输入管理员帐号和密码 输入正确与否 N 进入功能菜单页面

FILE *fp;

struct manage pswd;

结束 if ((fp=fopen(\"password.txt\ {

printf(\"\\n\\n\\n\Cannot open file!\\n\\"); }

else {

do

{

printf(\"\\n\\n\请输入管理员帐号:\"); scanf(\"%s\ printf(\"\\n\\n\请输入管理员密码:\"); scanf(\"%s\

fp=fopen(\"password.txt\ fread(&pswd,sizeof(struct manage),1,fp); fclose(fp);

w=strcmp(pswd.manage_name,name); k=strcmp(pswd.password,password); adm_servelist(); }

while (w!=0||k!=0); adm_servelist(); } }

(3)来到功能菜单页面

第3页

void adm_servelist() {

void book_add(); void book_view(); void change(); void del(); void book_search(); void login();

void pwchange();

int in; char input; do { printf(\"\\n\\n\\n\--欢迎使用信息管理系统--\"); printf(\"\\n\\n\1.图书信息录入\\n\"); printf(\"\2.图书信息浏览\\n\"); printf(\"\3.图书信息查询\\n\"); printf(\"\4.图书信息删除\\n\"); printf(\"\5.图书信息修改\\n\"); printf(\"\6.退出管理模式\\n\"); printf(\"\\n\请选择服务种类:\");

scanf(\"%d\

if (in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6) {

printf(\"\\n\没有这项服务~\\n\"); printf(\"\按任意键重新选择\"); input=getchar();

} }

while (in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6); switch (in) {

case 1: book_add(); break; case 2: book_view(); break; case 3: book_search(); break; case 4: del(); break; case 5: change();break; case 6: login(); break; } }

(3)图书信息录入功能模块

void book_add() {

第4页

void adm_servelist();

void book_add(); int i=0,j; FILE *fp;

char input;

struct bookinf books; struct bookinf book_taxis[30]; printf(\"\\n\\n\\n\---请输入图书信息---\\n\\n\"); printf(\"\登录号:\"); scanf(\"%d\ printf(\"\\n\书名:\");

scanf(\"%s\ printf(\"\\n\作者名:\");

scanf(\"%s\ printf(\"\\n\分类号:\");

scanf(\"%s\ printf(\"\\n\出版单位:\"); scanf(\"%s\ printf(\"\\n\出版时间:\"); scanf(\"%s\ printf(\"\\n\价格:\");

scanf(\"%f\

if ((fp=fopen(\"book.txt\ { do

{

fread(&book_taxis[i],sizeof(struct bookinf),1,fp); i=i+1; }

while(!feof(fp)); fclose(fp);

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

if (books.num==book_taxis[j].num) {

printf(\"\\n\\n\\n\对不起,这个编号已经使用过了~\\n\"); printf(\"\按任意键返回管理菜单~\"); input=getchar(); adm_servelist(); break; } }

if ((fp=fopen(\"book.txt\ {

第5页

fp=fopen(\"book.txt\ } else {

fclose(fp);

fp=fopen(\"book.txt\ }

fwrite(&books,sizeof(struct bookinf),1,fp); fclose(fp);

printf(\"\\n\\n\\n\信息输入完毕~按任意键继续\\n\"); input=getchar(); adm_servelist();

}

(4) 图书信息浏览功能模块

void book_view() {

void adm_servelist(); void book_view(); int inp,i=0,n=0; FILE *fp;

char input;

struct bookinf bookview[20];

if ((fp=fopen(\"book.txt\ {

printf(\"\\n\\n\\n\数据尚未初始化~~\\n\\n\请在管理菜单中增加图书信息~~~\\n\"); printf(\"\\n\<按任意键返回管理菜单>\\n\\"); input=getchar(); adm_servelist(); } else { do {

fread(&bookview[i],sizeof(struct bookinf),1,fp); i=i+1; }

while (!feof(fp)); fclose(fp); do {

printf(\"\\n\--------共有%d条记录--------\

printf(\"\\n\\n\登录号: %d\\n\ 第6页

printf(\"\\n\书名: %s\\n\

printf(\"\\n\作者名: %s\\n\ printf(\"\\n\分类号: %s\\n\ printf(\"\\n\出版单位: %s\\n\ printf(\"\\n\出版时间: %s\\n\ printf(\"\\n\价格: %f\\n\ printf(\"\\n\\n\1.上一页\2.下一页\3.回目录\\n\"); printf(\"\\n\请选择:\"); scanf(\"%d\ switch (inp) {

case 1: {

if (n==0)

{

printf(\"\\n\已到达首页\\n\按任意键重新选择\"); input=getchar(); }

else n=n-1; break; } case 2:

{

if (n==i-2) {

printf(\"\\n\已到达最末页\\n\按任意键重新选择\"); input=getchar(); }

else n=n+1; break; }

case 3:

{

adm_servelist(); break; } default: {

input=getchar(); } }

}

while (inp!=3);

第7页

printf(\"\\n\没有这项服务\\n\按任意键重新选择\");

} }

(5) 图书信息修改与删除功能模块 修改:

void change(int x) {

int inp,i=0,j; void book_search();

FILE *fp,*fp1;

char input;

struct bookinf books,book_taxis[20]; do {

printf(\"\\n\\n\\n\注意:您确定要修改该记录吗?\\n\"); printf(\"\\n\1.是\2.否\\n\"); printf(\"\\n\请输入:\"); scanf(\"%d\ if (inp!=1&&inp!=2) {

printf(\"\\n\对不起~没有这项服务~\\n\"); printf(\"\按任意键重新选择\\n\\"); input=getchar(); } }

while (inp!=1&&inp!=2); if (inp==2) book_search(); if (inp==1) {

printf(\"\\n\\n\\n\---请输入图书信息---\\n\\n\"); printf(\"\登录号:\"); scanf(\"%d\ printf(\"\\n\书名:\"); scanf(\"%s\ printf(\"\\n\作者名:\"); scanf(\"%s\ printf(\"\\n\分类号:\");

scanf(\"%s\ printf(\"\\n\出版单位:\"); scanf(\"%s\

printf(\"\\n\出版时间:\"); scanf(\"%s\

第8页

printf(\"\\n\价格:\");

scanf(\"%f\

if ((fp1=fopen(\"book.txt\ {

do

{

fread(&book_taxis[i],sizeof(struct bookinf),1,fp1); i=i+1; }

while(!feof(fp1)); fclose(fp1);

for (j=0;jif (books.num==book_taxis[j].num) {

printf(\"\\n\\n\\n\对不起,这个编号已经使用过了~\\n\"); printf(\"\按任意键返回管理菜单~\"); printf(\"0\"); input=getchar(); book_search(); break; }

for (j=x+1;jif (books.num==book_taxis[j].num) {

printf(\"\\n\\n\\n\对不起,这个编号已经使用过了~\\n\"); printf(\"1\");

printf(\"\按任意键返回管理菜单~\"); input=getchar(); book_search(); break; }

}

book_taxis[x]=books; fp=fopen(\"book.txt\

for (j=0;jfwrite(&book_taxis[j],sizeof(struct bookinf),1,fp); fclose(fp);

printf(\"\\n\\n\信息修改完成!按任意键返回\"); input=getchar(); book_search();

第9页

}

}

S删除:

void del(int y) {

char input;

FILE *fp;

int inp,i=0,j;

struct bookinf book_taxis[20]; void book_search(); void adm_servelist(); do

{

printf(\"\\n\\n\\n\注意:您确定要删除该记录吗?\\n\"); printf(\"\\n\1.是\2.否\\n\"); printf(\"\\n\请输入:\"); scanf(\"%d\ if (inp!=1&&inp!=2) {

printf(\"\\n\对不起~没有这项服务~\\n\"); printf(\"\按任意键重新选择\\n\\"); input=getchar(); } }

while (inp!=1&&inp!=2); if (inp==2)

book_search();

if (inp==1) {

if ((fp=fopen(\"book.txt\ { do

{

fread(&book_taxis[i],sizeof(struct bookinf),1,fp); i=i+1; }

while(!feof(fp)); fclose(fp); }

if (i>2)

{

fp=fopen(\"book.txt\

第10页

for (j=0;jfwrite(&book_taxis[j],sizeof(struct bookinf),1,fp); fclose(fp);

fp=fopen(\"book.txt\ for (j=y+1;jfwrite(&book_taxis[j],sizeof(struct bookinf),1,fp);

fclose(fp);

} else

{

remove(\"book.txt\");

}

printf(\"\\n\\n\记录已删除!\\n\\n\按任意键返回\\n\\"); input=getchar(); adm_servelist();

} }

(6) 图书信息查询功能模块 void book_search() {

void adm_servelist(); void id_search(); void wr_search(); void bn_search();

char input; FILE *fp; int inp;

if ((fp=fopen(\"book.txt\ {

printf(\"\\n\\n\\n\数据尚未初始化~~\\n\\n\请在管理菜单中增加图书信息~~~\\n\"); printf(\"\\n\<按任意键返回管理菜单>\\n\\"); input=getchar(); adm_servelist(); }

else { do {

printf(\"\\n\\n\\n\1.按图书登录号查询\\n\"); printf(\"\\n\2.按图书作者查询\\n\");

第11页

printf(\"\\n\3.按图书名查询\\n\");

printf(\"\\n\4.回到主菜单\\n\"); printf(\"\\n\\n\请选择查询类别:\"); scanf(\"%d\

if (inp!=1&&inp!=2&&inp!=3&&inp!=4)

{

printf(\"\\n\\n\没有这项服务~\\n\按任意键重新选择~\"); input=getchar(); } }

while (inp!=1&&inp!=2&&inp!=3&&inp!=4); fclose(fp);

switch (inp)

{

case 1: id_search(); break; case 2: wr_search(); break; case 3: bn_search(); break; case 4: adm_servelist(); break; } } }

第12页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- axer.cn 版权所有 湘ICP备2023022495号-12

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务