C语言---图书销售管理系统
C语言:书店管理系统
C语言:书店管理系统#include "stdio.h"#include <string.h>#define MAXNUM 1000typedef struct{char isbn[10]; /*书号*/char bkname[20]; /*书名*/char author[10]; /*作者*/float price; /*单价*/int num; /*数量(单位:册)*/} BOOK;int bknum;BOOK bk[MAXNUM];rdata(){FILE *fp;if ((fp=fopen("e:\\lth019\\bkstore\\bookdata.txt","rb"))==NULL){printf("Can not open the file!\n");return;}fread(&bknum,sizeof(int),1,fp);fread(bk,sizeof(BOOK),bknum,fp);fclose(fp);}bklist(){int i;clrscr();printf(" Isbn bkname author price num\n"); printf("----------------------------------------------------------------\n");for(i=0;i<bknum;i++)putout();printf("-------------------------BOOK LIST END---------------------------\n");printf("Press any key to return...");getch();}void wdata(){FILE *fp;if ( (fp=fopen("e:\\lth019\\bkstore\\bookdata.txt","wb"))==NULL) {printf("Can not open the file!\n");return;}fwrite(&bknum , sizeof(int) , 1 , fp);fwrite(bk, sizeof(BOOK), bknum, fp);fclose(fp);}void bookin(){char s[10],bn[20],au[10];int i,nn;float pp;printf("input isbn(000 to end input):");scanf("%s",s);while(strcmp(s,"000")!=0){if ((i=found(s))<bknum){ printf("Have found!\n");putout();printf("input the number:");scanf("%d",&nn);bk[i].num+=nn;{putout();getch();}printf("input isbn(000 to end input):");scanf("%s",s);}else{printf("A new book input,\nPlease input bkname,author,price,num\n");strcpy(bk[i].isbn,s);scanf("%s%s",bn,au);strcpy(bk[i].bkname,bn);strcpy(bk[i].author,au);scanf("%f%d",&pp,&nn );bk[i].price=pp;bk[i].num=nn;bknum++;{putout();getch();}printf("input isbn(000 to end input):");scanf("%s",s);break;}}}showsold(BOOK sold[],int n){int i;printf("\n\n\n -------------The Books are selling-----------------\n");for(i=0;i<n;i++)printf(" %-10s%-20s%-10s%-8.2f%-8d\n",sold[i].isbn,sold[i].bkname,sold[i].author,sold[i].price,sold[i].num);}int found(char isbn[]){int i;for(i=0;i<bknum;i++)if(strcmp(isbn,bk[i].isbn)==0) break;return i;}void booksale(){ char isbn[10];BOOK sold[100];int soldnum=0,i;float total=0;clrscr();printf("Please input isbn(000 to end input):");scanf("%s",isbn);while(strcmp(isbn,"000")!=0){if((i=found(isbn))<bknum)if(bk[i].num>0)sold[soldnum++]=bk[i],bk[i].num--;else{printf("\Not enough!Pressany key to continue...");getch();} else{printf("\Not enough!Pressany key to continue...");getch();}clrscr();for(i=0,total=0;i<soldnum;i++)total+=sold[i].price;if(soldnum){ showsold(sold,soldnum);printf(" ----------------------------------------------\n");printf("\n The total %8.2f\n\n\n",total);}printf("\n input isbn(000 to end input):");scanf("%s",isbn);}}void search(){ char s[10]; char found; char isbn[20];char num[10]; char au[20]; char name[20];int t,i;printf("=================\n");printf(" 1.search with isbn \n");printf(" 2.search with author \n");printf(" 3.search with bookname \n");printf("=================\n");printf(" please chose one way : ");scanf("%d",&t);if(t==1){ printf(" please input isbn : ");scanf("%s",&s);for(found=0,i=0 ; i<bknum ; i++)if(strcmp(s,bk[i].isbn)==0){printf("Have found!\n");putout();found++;}else continue;if(!found) printf("Not found!");getch();}if(t==2){ printf(" please input author: ");scanf("%s",au);for(found=0,i=0;i<bknum;i++)if(strcmp(au,bk[i].author)==0){printf("Have found!\n");putout();found++;}else continue;if(!found) printf("Not found!");getch();}if(t==3){ printf(" please input bookname: ");scanf("%s",name);for(found=0,i=0;i<bknum;i++)if(strcmp(bk[i].bkname,name)==0){printf("Have found!\n");putout();found++;}else continue;if(!found) printf("Not found!");getch();}}Delete(){ char s[10],t;int found=0,i,j;printf("please input isbn of the book:");scanf("%s",s);for(i=0 ; i<bknum ; i++)if( strcmp(s,bk[i].isbn)==0 )break;if (i<bknum){ found=1;printf("Found!\n");putout();printf("Are you sure to delete?(Y/N):"); flushall(); scanf("%c",&t);if(t=='y'||t=='Y'){ for(;i<=bknum;i++)bk[i]=bk[i+1];}bknum--;}else printf("This book did't delete!");getch();}putout(){ int i;printf(" %-10s%-20s%-10s%-8.2f%-8d\n",bk[i].isbn,bk[i].bkname,bk[i].author,bk[i].price,bk[i].num); }int showsel(){int sel;clrscr();printf("--------------------------ManiMenus-------------------------\n\n"); printf(" 0. Exit\n");printf(" 1. BookList\n");printf(" 2. BookIn\n") ;printf(" 3. BookSale\n");printf(" 4. Save\n ");printf(" 5. Delete\n");printf(" 6. Search\n");printf("\n------------------------------------------------------------\n"); printf(" Input the selection:");scanf("%d",&sel);return sel;}main(){int sel; char yes;clrscr();rdata();sel=showsel();while(1){ switch(sel){case 0:printf("Are sure to Save?(Y/N) ");flushall();scanf("%c",&yes);if(yes=='Y'||yes=='y') { wdata(); exit(0); }exit(0);case 1:bklist();break;case 2:bookin();break;case 3:booksale();break;case 4:wdata();break;case 5:Delete();break;case 6:search();break;default :break;}sel=showsel();}}。
c语言课程设计销售管理系统
c语言课程设计销售管理系统一、教学目标本章节的教学目标旨在让学生掌握C语言编程基础,能够运用C语言设计销售管理系统。
具体目标如下:1.知识目标:学生需要掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,了解结构体和文件操作等相关概念。
2.技能目标:学生能够运用C语言进行程序设计,具备编写和调试C语言程序的能力。
学生能够运用结构体设计销售管理系统的相关数据结构,并使用文件操作实现数据的持久化存储。
3.情感态度价值观目标:学生能够体验到编程的乐趣,培养对计算机科学的兴趣。
通过完成销售管理系统的项目,培养学生的创新能力和团队合作意识。
二、教学内容本章节的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,以及结构体和文件操作等相关概念。
具体安排如下:1.C语言基本语法和数据类型:介绍C语言的基本语法规则,包括变量声明、数据类型、运算符等。
2.控制结构:讲解条件语句和循环语句的用法,包括if语句、switch语句、for循环、while循环等。
3.函数:介绍函数的定义和调用,包括主函数、参数传递、返回值等。
4.结构体:讲解结构体的定义和使用,包括结构体的声明、成员访问、结构体数组等。
5.文件操作:介绍文件操作的基本方法,包括文件的打开、读写、关闭等。
6.销售管理系统的实现:引导学生运用所学知识设计和实现一个简单的销售管理系统,包括数据结构的设计、功能的实现和文件的操作。
三、教学方法本章节的教学方法采用讲授法、案例分析法和实验法相结合的方式。
具体安排如下:1.讲授法:教师通过讲解C语言的基本语法、数据类型、运算符、控制结构、函数等基础知识,引导学生理解和掌握相关概念。
2.案例分析法:教师通过分析典型的销售管理系统的案例,引导学生运用所学知识进行系统设计和功能实现。
3.实验法:教师引导学生进行实验,让学生亲自动手编写和调试C语言程序,培养学生的编程能力和解决问题的能力。
c语言课程设计书店图书销售系统
沈阳航空工业学院课程设计任务书系:自动化专业:自动化班级:学号:02055 题目:书店图书销售系统一、课程设计时间2008~09第2学期第15周,共计1周,20学时。
二、课程设计内容用C语言编写软件完成以下任务:模拟书店经营业务,主要指“购进图书”和“出售图书”两种业务。
由于图书的出售价格高于图书的购进价格,所以系统能够计算累计利润。
要求:①“购进图书”和“出售图书”2方面信息只用1个文件存储,文件中每行数据遵循如下顺序:图书编号,图书名称,出版社,购进册数,购进价格,出售册数,出售价格。
②能够随时显示库存情况和销售情况。
③能够随时计算书店累计利润。
④能够随时购进新书和出售图书,册数不限。
三、课程设计要求程序质量:✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括“进书”、“售书”、“计算利润”、“书库现状”、“出售现状”、“退出”6项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字指导教师:________ 学生签名:________五、成绩六、教师评语目录一、需求分析 (1)二、程序流程图 (2)三、核心技术的实现说明及相应程序段 (5)四、课设总结 (8)五、参考文献 (9)六、源程序 (9)一、需求分析经过对程序设计题目的分析可知,整个程序的设计实现大致分为五个模块,其中每一个模块对应一个函数,它们的功能分别是:购进图书,出售图书,计算利润,书库现状,出售现状,退出。
在这些函数都是按照题目的要求实现的函数。
1、购进图书主要的功能是将购进来的图书写入文件中,用于保存。
2、出售图书实现卖书并对书库当中的内容进行更新,以达到卖书的目的。
3、计算利润将卖出的书的价格进行统计,并计算累计利润。
4、书库现状对书库当中的剩余图书进行查找,读出书库当中的信息。
C语言课程设计-书店管理系统精选全文
计算机程序设计(C语言)课程设计报告题目:图书管理系统学院:专业:班级:学号:姓名:指导教师:设计日期:2013年06月24日一、选题背景:设计一个图书管理系统,管理员通过登陆账号来进行下一步,使用错误账号和密码会被视为非法登陆。
图书信息包括:每种图书都有书名、ISBN、一名或多名作者(译者)、出版社、定价和内容简介等;读者信息包括:借书证记录有借阅者的姓名、密码、所在单位和类别等;读者凭借书证借书二、设计思想:(1)整个系统除了主函数外,另外还有各种功能子函数,利用无限次循环语句while()和选择语句swithch()实现各个子函数的调用,系统根据输入的数字选项来调用相应的函数,以实现相应的功能。
主要实现了图书的录入、存储、查询、添加、删除、修改、借书、还书等功能。
(2)、Cbook();这是一个指针函数,它主要实现了链表的创建,并且在创建过程中从文件读取信息到链表中,以用于后面其他函数的操作。
它返回的时一个单向链表的头。
其他函数调用时只需调用它返回的头即可。
(3)、mainmenu();、menu1();、glm enu();、cxmenu();、jhmenu();这五个函数时整个图书管理系统的全部菜单函数,mainmenu();为系统主界面,进入时可选择进入程序和退出程序。
menu1();为进程序时显示的功能菜单,在此菜单可以选择录入、保存图书信息,也可选择进入其他子系统。
glmenu();此菜单为进入图书管理系统的菜单,在此可以选择添加、删除、修改图书等操作。
cxmenu();为查询系统的菜单,在此可以选择按书名、编号、作者等方式进行查询图书。
jhmenu();为借书还书的子菜单,在此可以选择借书还书操作。
操作完成后按提示信息进行文件的保存操作。
三、程序流程图会员登陆系统系统管理界面收银系统管理系统报表系统退出系统四、主要解决问题的方法及技术关键通过自己定义的函数和声明一个结构,主要方法是先使用int函数定义,不同的选择进入不同的定义函数,通过for语句进行判断,然后使用heart数组的各种方式打开此文件,然后通过while函数和for函数关闭文件,在不同的取用数值里,分别使用for,while语句进行判断是否进行下条语句。
c语言图书管理系统
int86(0x16, &rg,&rg);
return rg。h。ah;
}
int choose(int bot,int top)/*根据Y的值选择操作*/
{
int ky,y = 7;
gotoxy(30,bot);
do
{
ky = key();
switch(ky)
{
case Key_UP:
gotoxy(x + 1, y + high - 3);
for (i = 1; i < width - 1; i++)
{
putchar(0xc4);
}
gotoxy(x + width—1,y + high —1);
putchar(0xd9);
}
int key()/*读键盘*/
{
union REGS rg;
int halfw(int sum,bbasic binfo[100],char *find);
void sta();
void blist();
void bmoney();
int main(void)
{
menu();
}
void menu()
{
int y;
_window();/*显示窗口*/
words();/*显示菜单文字*/
gotoxy(30,16);
cprintf(”Book Statistic");
gotoxy(30,19);
cprintf(”Exit”);
gotoxy(35,22);
textcolor(LIGHTGRAY);
C语言程序设计大作业--图书管理系统
C语言程序设计大作业设计报告一.设计方案本程序旨在用一个C语言程序实现简单的图书馆图书管理系统,程序包含平时的借书,还书,新书录入,查询功能,用简单明了的人机交互界面快速实现图书管理的目的。
二.模块说明及代码分析1.主函数:源代码:void main(){int a;printf("\n");printf("\n");printf(" ( ^_^ ) WELCOME!\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t〉〉-------------BJTU图书管理系统--------------〈〈");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");do {printf("1.借书 2.还书 3.新书录入4.查询 0.退出");printf("\n");printf("\n");printf("\n");printf("\n");printf("请选择序号:");scanf("%d",&a);switch(a){case 1:jieshu();break;case 2:huanshu();break;case 3:xinshu();break;case 4:chaxun();break;case 0:break;default:printf("请选择正确的序号!\n");printf("\n");}}while(a!=0);printf("谢谢使用图书管理系统!\n");}主函数提供人机交互界面,让操作者选择所需的操作项目,并有退出选项。
C语言课程设计-图书信息管理系统设计
图书信息管理系统设计一、【要求】图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
设计一图书信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)图书信息录入功能(3)图书信息浏览功能(4)图书信息查询功能(5)图书信息的删除与修改功能二、【各功能模块】1、菜单模块《1》、主函数:建立menu( )void main(){menu();}void menu(){int a;do{printf(” ******赵毅******\n”);printf("\n”);printf(”******中国地质大学******\n”);printf("\n");printf(”\n\n\n\n\n\t\t\t\t图书信息管理系统\t\t\t\t\n”);printf("\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\t0 ——--—---—--——---退出图书信息系统\n”);printf("\t\t********************************************\n”);printf(”\t\tplease choose:”);scanf("%d",&a);switch(a){case 1:input();break;case 2:list();break;case 3:search();break;case 4:del();break;case 5:revise();break;case 6:append();break;case 0:exit(0);default:printf(”\n序号不对\n”);}}while(a!=0);}【定义图书信息结构体】#include<stdio。
c语言图书销售系统(源代码)
#include <stdio.h>#include <string。
h〉#include <malloc.h〉#include 〈stdlib。
h〉#include 〈time.h〉#include <conio。
h>#define LEN sizeof(struct book)#define VLEN sizeof(struct vip)#define SLEN sizeof(struct sales)struct vip *vhead=NULL;struct vip *v1,*v2;struct sales *shead=NULL;struct sales *s1,*s2;int V,S;/*结构体定义*/struct book{char bnum [12];/*书号*/char bname [41];/*书名*/char author [20];/*作者*/float price; /*书价*/int acount; /*书存在本数*/struct book *next;};struct sales{float count;struct sales *snext;};struct vip{char vnum[12];char vname[41];int level;float persum;float discount;struct vip *vnext;};/*函数声明*/void loadbook(); /*自动读入书库信息*/void welcome();/*欢迎界面显示*/ void inputbook();/*增加书本信息*/void loadvip();void loadsales(); /*自动录入销售信息*/void daysales(); /*日销售额*/void monthsales();/*月销售额*/void yearsales(); /*年销售额*/void search();/*查询书数量*/void search_by_bnum(); /*通过书号查询*/void search_by_bname();/*通过书名查询*/void search_by_author();/*通过作者查询*/void buy(); /*购买书籍*/void list(); /*列出书库信息*/void listvip();void listsales();/*列出销售信息*/void delet();/*删除书目*/void delet_by_bnum();/*通过书号删除*/void delet_by_bname();/*通过书名删除*/void delet_by_author();/*通过作者删除*/void save();/*保存记录*/void redef(); /*修改密码*/void bover(); /*显示已售完的书*/void buy_by_huiyuan();/*会员买书*/void buy_by_feihuiyuan();/*非会员买书*/void exit0(); /*退出*/int menu();/*主菜单*/void print2(); /*显示查询菜单*/void printdelete();/*显示删除菜单*/struct book *head=NULL,*head2=NULL;/*head和head2分别用于书库的头指针和已购书的头指针*/struct book *p1,*p2,*p3,*p4,*p5,*p6; /*p1、p2、p3用于操作书库图书,p4、p5、p6用于操作已购书*/int save_flag=0; /*图书信息变动标志*/int buy_flag=0;/*买书时,是否调用过查询功能标志*/int shan_flag=0;/*删书时,是否调用过显示已售完书功能标志*/int T=0;/*记录导入的书本数*/char mima[11]=”123456”;/*初始密码*/void bookmanage();void salesmanage(); /*销售统计*/int main() /*主函数*/{welcome(); /*欢迎界面显示*/loadbook();loadsales();loadvip(); /*自动导入书库信息*/while(1){switch(menu()){case 1:system(”cls”);bookmanage();break;case 2:system(”cls");buy();break;case 3:system("cls");listvip();break;case 4:system("cls”);;salesmanage();break;case 5:system(”cls");;break;case 0:system(”cls”);exit0();break;default:{printf("\n选择错误,请按主菜单提示输入您的正确选择(0~8)\n”);printf("按任意键返回继续:");rewind(stdin);/*清空缓冲区*/getch();}}}return 0;}/*菜单*/int menu(){int choice;system(”cls");/*系统清屏*/printf(”\n *************************主菜单*************************\n\n”);printf(” 1.图书管理\n\n”);printf(" 2。
C语言课程设计报告-小型图书购销管理系统
《计算机程序设计基础》课程设计报告项目名称小型图书购销管理系统学生姓名李晞月学院信息科学与工程学院指导教师穆帅目录目录 (1)第一章系统描述 (2)第二章功能模块结构 (3)第三章数据结构设计 (6)第四章主要模块的算法说明 (7)第五章运行结果 (9)第六章课程设计总结 (13)参考文献 (15)附录 (16)第一章系统描述系统说明本程序采用Visual C++ 6.0编译器编译。
系统运行之前需要保证在“c:\ C-design\”目录下有以下四个txt文件,名为:《jibenxinxi.txt》、《kucunxinxi.txt》、《buy.txt》、《sell.txt》系统的基本功能✧用户界面采用文本菜单界面,设有欢迎界面。
各级菜单层次分明,切换方便。
✧系统的功能可实现循环连续操作,直至用户选择返回或退出。
✧重要操作之前会有确认提示。
若输入不合法,有出错原因提示。
出错提示以及查询结果输出后可按任意键继续,以便用户有停顿时间来阅读。
✧系统采用四个文件分别保存以下信息:图书基本信息、库存信息、采购纪录、出售纪录。
✧实现图书基本信息的录入及保存。
信息录入时可限制编号不重复。
✧可查询文件中保存的图书基本信息。
输入书名(或编号、作者、价格)可调出符合的信息,也可全部显示。
其中按价格查询时,输入一个范围可将在范围内的信息都显示出来。
✧具有图书采购功能:输入要采购的图书编号能自动把该书的基本信息显示出来,输入采购数量能自动得出采购所需金额,确认采购后,显示购买成功。
执行完采购功能后可实现对库存信息的添加和修改,以及向文件中添加采购纪录。
可随时查询保存在文件中的采购纪录。
✧具有图书出售功能:输入要采购的图书编号能显示出该书信息及库存数量,输入出售数量能自动得出出售所得金额,确认出售后,显示出售成功。
执行完出售功能后可实现对库存信息的删除和修改,以及向文件中添加出售纪录。
可随时查询保存在文件中的出售纪录。
✧利润统计功能,可动态显示运行系统以来的采购总金额、销售总金额及总利润。
C语言课程设计-小型书店管理系统
C语言课程设计-小型书店管理系统简介本文档旨在设计一个小型书店管理系统,使用C语言实现。
该系统将提供以下功能:1. 登录:管理员和员工可以使用自己的账号和密码登录系统。
2. 书籍管理:管理员可以添加、编辑和删除书籍信息。
3. 销售管理:员工可以记录每一笔销售,包括售出的书籍、销售时间和销售数量。
4. 会员管理:系统可以管理会员信息,包括会员的姓名、手机号码和积分等。
5. 库存管理:系统可以记录书籍的库存信息,包括书籍的数量和位置。
功能说明登录- 系统启动时,提示用户输入账号和密码。
- 系统验证账号和密码是否正确,允许管理员和员工登录。
- 登录成功后,进入主菜单。
书籍管理- 管理员在主菜单选择书籍管理,可以进行以下操作:- 添加书籍:输入书籍的名称、作者、出版社和价格等信息,保存到系统中。
- 编辑书籍:选择要编辑的书籍,并修改相关信息。
- 删除书籍:选择要删除的书籍,并从系统中删除。
- 查看书籍列表:显示系统中所有的书籍信息。
销售管理- 员工在主菜单选择销售管理,可以进行以下操作:- 记录销售:选择要销售的书籍,并输入销售的数量。
- 系统更新库存信息,并生成销售记录,包括销售时间、图书名称和数量等。
- 销售记录可以用于后续的统计和分析。
会员管理- 管理员在主菜单选择会员管理,可以进行以下操作:- 添加会员:输入会员的姓名、手机号码和积分等信息,保存到系统中。
- 编辑会员信息:选择要编辑的会员,并修改相关信息。
- 删除会员:选择要删除的会员,并从系统中删除。
- 查看会员列表:显示系统中所有的会员信息。
库存管理- 系统会记录每本书籍的库存数量和位置。
- 当员工记录销售时,系统会自动更新库存信息。
- 员工可以在主菜单选择库存管理,查看当前库存情况。
技术实现本系统将使用C语言进行开发,主要使用以下技术:1. 数据结构:使用结构体来表示书籍、会员和销售记录等信息。
2. 文件操作:使用文件保存和读取数据,以实现数据的持久化。
图书销售管理系统c课程设计
图书销售管理系统c 课程设计一、课程目标知识目标:1. 学生能理解并掌握图书销售管理系统的基本概念和功能模块。
2. 学生能运用数据库知识,设计并实现图书销售管理系统中的数据存储方案。
3. 学生了解并掌握C语言编程技巧,运用结构体、文件操作等知识实现图书销售管理系统的功能。
技能目标:1. 学生能够运用所学知识,设计出结构清晰、功能完善的图书销售管理系统。
2. 学生通过实际操作,提高问题分析和程序编写的能力。
3. 学生能够熟练使用C语言编程工具,进行程序调试和优化。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣和热情,增强学习自信心。
2. 学生通过团队协作,培养沟通能力和团队精神,感受合作的重要性。
3. 学生在课程学习过程中,认识到编程知识在实际生活中的应用价值,增强实践意识。
分析课程性质、学生特点和教学要求,本课程旨在让学生通过设计图书销售管理系统,将所学知识应用于实际项目中,提高编程实践能力和问题解决能力。
课程目标具体、可衡量,便于学生和教师在教学过程中对照评估,确保教学效果。
二、教学内容1. 数据库基础:讲解数据库的基本概念,如表、字段、记录等,以及简单的SQL语句,如SELECT、INSERT、UPDATE和DELETE。
教材章节:第三章 数据库基础2. C语言编程技巧:回顾结构体、函数、文件操作等C语言基础知识,重点讲解如何将这些知识应用于项目开发中。
教材章节:第二章 C语言基础3. 图书销售管理系统功能模块设计:分析系统需求,设计各功能模块,如图书入库、销售、查询、库存管理等。
教材章节:第五章 管理信息系统4. 程序设计:指导学生运用C语言编程,实现图书销售管理系统的各个功能模块。
教材章节:第六章 C语言编程实践5. 系统调试与优化:教授学生如何进行程序调试,找出并修复bug,提高系统性能。
教材章节:第七章 程序调试与优化6. 项目展示与评价:组织学生进行项目展示,互相评价,总结经验教训。
c语言图书管理系统流程图
c语言图书管理系统流程图C语言图书管理系统流程图概述:C语言图书管理系统是一个用于管理图书馆或书店的系统,它可以实现图书的添加、删除、查询和借还等功能。
本文将通过详细的流程图,介绍C语言图书管理系统的运行流程。
1. 添加图书:- 用户输入图书信息,包括书名、作者、出版日期和价格等。
- 系统接收用户输入的信息,并生成一个唯一的图书编号。
- 系统将图书信息和图书编号存储到数据库中。
2. 删除图书:- 用户输入要删除的图书编号。
- 系统在数据库中查找并验证该图书编号是否存在。
- 如果存在,则从数据库中删除该图书信息。
3. 查询图书:- 用户输入要查询的图书名称或作者等信息。
- 系统在数据库中查找与用户输入信息匹配的图书。
- 系统将符合条件的图书信息显示给用户。
4. 借阅图书:- 用户输入要借阅的图书编号。
- 系统在数据库中查找并验证该图书编号是否存在。
- 如果该图书可借,则系统记录借阅人的信息,标记该图书为已借出状态。
5. 归还图书:- 用户输入要归还的图书编号。
- 系统在数据库中查找并验证该图书编号是否存在,并检查该图书是否已借出。
- 如果该图书已借出且由用户借出,则系统记录归还时间,将该图书状态标记为可借。
6. 统计功能:- 用户选择统计功能入口。
- 系统提供多种统计选项,例如按照作者统计、按照出版日期统计、按照价格区间统计等。
- 系统在数据库中进行相应的查询并展示统计结果。
7. 备份与恢复:- 用户选择备份或恢复功能入口。
- 备份功能:系统将数据库中的图书信息备份到指定的文件中。
- 恢复功能:系统从指定的备份文件中还原图书信息到数据库中。
8. 系统维护:- 用户选择系统维护功能入口。
- 维护功能包括数据库清理、数据完整性检查、系统日志管理等。
- 用户可以根据需求选择相应的维护操作。
总结:C语言图书管理系统通过以上流程图所示的各项功能,实现了对图书的添加、删除、查询和借还等操作,同时还提供了统计、备份和维护等实用的功能。
c语言课程设计(销售管理系统)【完整版】
c语言课程设计(销售管理系统)【完整版】
本管理系统实现了销售管理,可以完成客户管理、商品管理以及订单管理等功能,为管理者提供更多便利。
管理系统由主菜单、客户管理、商品管理、订单管理等模块组成,主菜单模块显示并实现了上述以及其他所有模块,可以方便快捷地进行相关操作。
客户管理模块包括新建客户信息、删除客户信息、更新客户信息、查询客户信息等功能,可以快速有效地管理客户信息;
订单管理模块包括新建订单、删除订单、更新订单、查询订单等功能,能够轻松地完成销售订单的管理。
另外,系统还采用了文件存储,只要上次保存数据正确,就可以实现每次登录之后的自动加载,让操作更加简单快捷。
系统采用C语言开发,使用字符操作实现图形界面;结构体链表数据结构实现数据存储与处理;文件存储实现数据加载与保存;采用函数式编程实现功能模块;不断尝试性地增加改进系统,以确保系统运行更加稳定可靠。
本项目以C语言编程实现对销售管理系统的全面而完整的管理,能满足日常销售管理的需求;同时,丰富的图形界面,实用的功能模块和可靠的文件存储,使系统操作变得更为简单快捷。
图书管理系统的设计(C语言)
图书管理系统设计图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等功能描述:1 .新进熟土基本信息的输入2 .图书基本信息的查询3 .对撤销图书信息的删除4 .为借书人办理注册5 .办理借书手续6 .办理换书手续要求:以文件方式存储数据,系统以菜单方式工作。
这是本人大一第二学期初 C 语言课程设计的作品,嘿嘿,本来以为已经找不到原稿了,今天无意中居然在QQ 网络硬盘中找到了当初的teta 版,发布于此,以作记念。
C 源代码如下:#include〈stdio 。
h〉#include<stdlib。
h〉#include〈string 。
h>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) ;/*增加图书,逐个添加*/struct book *Delete_Book(struct book *head_book,int bianhao);/*删除图书*/struct club *Create_New_Club() ;struct club *Search_Club_xuehao(int xuehao,struct club *head_club);struct club *Search_Club_name (char *c_name,struct club *head_club);struct club *Insert_Club (struct club *head_club,struct club *stud_club);struct club *Delete_Club (struct club *head_club,int xuehao);struct book *Lent_Book (int bianhao ,int xuehao,struct book *head_book,struct club *head_club);struct book *back (int bianhao,int xuehao,struct book *head_book,struct club *head_club); int main(){struct book *head_book,*p_book;char book_name [30],name [20],author [20],sex [10];int bianhao;double price,price_h,price_l;int size_book=sizeof(struct book);int m=1,n=1,f;char *b_name,*c_name;struct club *head_club,*p_club;int xuehao;int size_club=sizeof (struct club) ;int choice;printf ("\n 欢迎您第一次进入图书管理系统!\n\n");printf("---——>[向导]————-〉[新建图书库] \n\n”) ;printf ("注意:当输入图书编号为0 时,进入下一步.\n\n");head_book=Create_New_Book();system(”cls”) ;printf("\n 欢迎您第一次进入图书管理系统!\n\n") ;printf("----—〉[向导]——---〉[新建会员库]\n\n”);printf(”注意:当输入会员学号为0 时,进入主菜单.\n\n”);head_club=Create_New_Club () ;system (”cls”);do {printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”);printf("\n”);printf ("\t\t\t[1] :借书办理\t");printf(" [6]:还书办理\n”);printf (”\n");printf(”\t\t\t[2]:查询图书\t");printf(" [7]:查询会员\n”);printf (” \t\t\t[3]:添加图书\t");printf (" [8]:添加会员\n”);printf ("\t\t\t[4]:删除图书\t");printf (” [9] :删除会员\n") ;printf (” \t\t\t[5]:遍历图书\t");printf (” [10]:遍历会员\n\n”) ;printf ("\t\t\t〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n\n”);printf("\t\t\t0:退出\n\n”) ;printf(”请选择〈0~10〉:”);scanf(”%d",&choice);switch(choice) {case 1:printf ("\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n");printf (”输入所借图书编号:\n");scanf (”%d",&bianhao);printf ("输入借书人的学号:\n”);scanf ("%d",&xuehao);head_book=Lent_Book(bianhao,xuehao,head_book,head_club);system (”cls");printf (” \n 借阅成功!\n\n");printf (”相关信息如下:\n\n");head_book=Search_Book_bianhao (bianhao,head_book);break;case 2:system ("cls”) ;printf(”\n\t\t\t〓〓〓〓〓图书管理系统〓〓〓〓〓\n\n”); printf ("1。
C语言课程设计(图书销售管理系统)
HUBEI UNIVERSITY OF AUTOMOTIVE TECHNOLOGYC语言程序设计课程设计报告课设题目:图书销售管理系统专业:电气工程及其自动化班级: KT1223-1姓名:********成绩:完成日期: 2012年12月28日-2013年1月11日指导教师: ************目录目录1.课程设计目的 (2)2.需求分析 (2)2.1要求 (2)2.2任务描述 (2)2.3运行环境 (3)2.4开发工具 (3)3.总体设计 (3)3.1系统流设计 (3)3.2系统模块设计 (4)4.详细设计 (5)4.1数据结构设计 (5)4.2模块接口设计 (6)4.3 以下是几个主要模块的流程图: (7)5.运行结果 (111)5.1主菜单界面: (111)5.2图书信息查询界面: (122)5.3:图书销售界面..................................................................... 错误!未定义书签。
45.4图书信息整体浏览界面:.................................................... 错误!未定义书签。
95.5图书信息删除界面:.............................................................. 错误!未定义书签。
5.6图书信息保存界面: (22)5.7 退出程序: (30)5.8图书信息新建界面: (30)5.9修改密码 (23)6.程序调试与测试 (23)6.1程序调试 (23)6.2程序测试 (27)7.问题与不足 (30)8.建议 (31)9.编程体会 (31)10.程序源代码: (31)11.参考文献 (56)12.用户使用手册 (57)1.课程设计目的1)通过课程设计,加深对结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。
C语言图书销售管理系统1.doc
C语言图书销售管理系统1 目录图书销售管理系统设计(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)图书信息的删除:通过输入序号,判断此图书是否存在,若存在,则提示用户是否显示删除后的信息,若不存在则提示用户重新输入图书序号,删除完毕后,返回主界面。
C语言图书管理系统源代码
#include<stdio。
h〉#include<stdlib.h〉#include〈string。
h〉struct tushu{ /*图书结构体*/ char num[10]; /*编号*/char name[20];/*书名*/char writer[20];/*作者*/char press[20];/*出版社*/char kind[20];/*类别*/double time; /*时间*/double price;/*价格*/struct tushu *next;};struct stu /*学生结构体*/ {int snum;/*学号*/char mima[10]; /*密码*/struct stu *next;};FILE *fp; /*图书文件*/FILE *fp1; /*管理员信息文件*/ FILE *fp2; /*学生信息文件*/void menu();/*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/void xmenu();/*学生主菜单(学生进入可对图书,密码进行操作)*/void gfind(); /*管理员查询(管理员可按一定的方式查询图书)*/void xfind();/*学生查询(学生可按一定的方式查询图书)*/ void secret();/*管理员权限(管理员登陆所用,输入错误次数过多自动退出)*/void sort();/*排序(管理员可按一定的方式对图书进行排序,排序完之后可选择文件进行保存)*/void fprint(struct tushu *head);/*保存(可追加的保存,如添加可用)*/void fprint_(struct tushu *head);/*保存(可覆盖保存如修改,删除,排序后用)*/void hfprint(struct tushu *head); /*还书保存(还书成功后自动保存到文件)*/void jfprint_(struct tushu *head);/*借书保存(借书成功之后自动从图书馆删除)*/struct tushu * Input(); /*图书添加(可进行图书的添加)*/struct tushu *create(); /*从文件创建链表(从文件中读出信息,建立单链表)*/void gBrowse(struct tushu *head);/*管理员浏览(对图书进行遍历)*/void xBrowse(struct tushu *head);/*学生浏览(学生对图书进行遍历)*/void count(struct tushu *head); /*统计数量(管理员可对图书进行统计)*/void Findofname(struct tushu *head); /*按书名查找*/ void Findofwriter(struct tushu *head); /*按作者查找*/void Findofkind(struct tushu *head); /*按类别查找*/void xFindofname(struct tushu *head);/*学生按书名查找*/void xFindofwriter(struct tushu *head);/*学生按作者查找*/ void xFindofkind(struct tushu *head); /*学生按类别查找*/ void Sort_time(struct tushu * head); /*按时间排序(管理员按时间对图书进行排序,排序完之后可选择文件进行保存)*/ void Sort_price(struct tushu *head); /*按价格排序*/void Sort_num(struct tushu * head);/*按编号排序*/ void Delete(struct tushu * head,char m[15]);/*按编号删除(管理员可按编号删除图书)*/void Revise(struct tushu *head);/*修改(管理员可对图书进行修改,并选择是否保存)*/void borrow(struct tushu *head); /*借书*/void huanshu(); /*还书(学生借完书之后进行还书,若没有图书则不能借)*/void gxinxi(); /*管理员信息(有管理员的账号及密码,可进行修改)*/void xmima(struct stu *head1);/*学生密码修改(学生可对自己的密码进行修改)*/struct stu *xcreate();/*从文件创建学生信息(从文件读出学生信息,建立学生链表)*/void xsecret(struct stu *head1);/*学生权限(学生登陆所用)*/void menu() /*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/{int choice,n=0;struct tushu *head;struct stu *head1,*p;char m[15];there:printf("┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n"); printf(" ┃┃socat 图书管理系统printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n"); printf(" ┃●[0]退出系统┃\n");printf(” ┃┃\n”);prin tf(” ┃●[1]帮助┃\n");printf(” ┃┃\n”);printf(” ┃●[2]浏览图书┃\n");printf(” ┃┃\n");printf(” ┃●[3]统计图书数目┃\n”);printf(" ┃┃\n”);printf(” ┃●[4]查询┃\n”);printf(” ┃printf(” ┃●[5]添加┃\n");printf(” ┃┃\n”);printf(” ┃●[6]排序┃\n");printf(” ┃┃\n");printf(" ┃●[7]修改┃\n”);printf(” ┃┃\n");printf(" ┃●[8]删除┃\n”);printf(" ┃┃\n”);printf(" ┃●[9]修改账号及密码┃\n");printf(” ┃┃\n”);printf(” ┃●[10]学生信息printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n");printf(” 请选择:”);fflush(stdin);head=create();scanf("%d”,&choice);if(choice==1){//help();printf(”没有内容!\n”);system("pause”);system(”cls”);menu();}else if(choice==2){system(”cls");if(head==NULL){printf(”没有图书,请先添加图书!\n”);system("pause");system("cls");menu();}gBrowse(head);}else if(choice==3){system(”cls");count(head);}else if(choice==4){system("cls");if(head==NULL){printf(”没有图书,请先添加图书!\n”);system("pause”);system(”cls”);menu();}gfind();}else if(choice==5){Input();}else if(choice==6){system("cls");if(head==NULL){printf(”没有图书,请先添加图书!\n”); system("pause”);system(”cls”);menu();}sort(head);}else if(choice==7){system("cls”);if(head==NULL){printf(”没有图书,请先添加图书!\n”);system("pause");system("cls”);menu();}Revise(head);}else if(choice==8){if(head==NULL){printf("没有图书,请先添加图书!\n");system(”pause");system(”cls");menu();}printf(" 请输入想要删除的图书编号:”);scanf(”%s",m);Delete(head,m);}else if(choice==9){gxinxi();else if(choice==10){system(”cls”);head1=xcreate();if(head1==NULL){printf("没有学生信息,请到xuesheng_list.txt添加!\n”); sys tem(”pause”);system(”cls”);menu();}for(p=head1;p!=NULL;p=p—>next){printf(”学生学号密码\n”);printf("%d %s\n",p->snum,p—>mima);}system(”pause”);system("cls”);menu();}else if(choice==0)system(”cls");printf(”\n\n\n\n”);printf(” ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n”);exit(0);}else{system("cls");printf(”\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ");system("pause”);system(”cls”);n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出!━━━━━━━━\n\n\n”);printf(" ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n");system(”pause");exit(0);}goto there;}}void xmenu()/*学生主菜单(学生进入可对图书,密码进行操作)*/{struct tushu *head;struct stu *head1;int choice,n=0;there:printf(”┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n");printf(” ┃┃socat 图书借阅系统┃┃\n");printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n"); printf(” ┃●[0]退出系统┃\n”);printf(” ┃printf(” ┃●[1]帮助┃\n”);printf(” ┃┃\n”);printf(” ┃●[2]浏览图书┃\n");printf(” ┃┃\n”);printf(" ┃●[3]查询┃\n”);printf(” ┃┃\n”);printf(” ┃●[4]借书┃\n");printf(” ┃┃\n”);printf(" ┃●[5]还书┃\n");printf(" ┃┃\n”);printf(” ┃●[6]修改密码printf("┗━━━━━━━━━━━━━━━━━━━━━━━┛\n”); printf(" 请选择:");fflush(stdin);head=create();scanf("%d”,&choice);if(choice==1){//xhelp();printf(”没有内容!\n");system(”pa use");system(”cls”);xmenu();}else if(choice==2){system("cls");if(head==NULL){printf(”没有图书!\n");system("pause”);xmenu();}xBrowse(head);}else if(choice==3){if(head==NULL){printf(”没有图书!\n”);system(”pause”);system(”cls”);xmenu();}xfind();}else if(choice==4){if(head==NULL){printf(”没有图书!\n");system(”pause”);xmenu();}borrow(head);}else if(choice==5){huanshu(head);}else if(choice==6){system("cls”);head1=xcreate();if(head1==NULL){printf(”学生信息被清空!!\n”);system("pause");system("cls”);xmenu();}xmima(head1); ;}else if(choice==0){system("cls");printf(”\n\n\n\n”);printf(” ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n");exit(0);}else{system("cls”);printf("\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system(”pause”);system(”cls”);n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出!━━━━━━━━\n\n\n”);printf(” ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n”);system("pause”);exit(0);}goto there;}}void gfind()/*管理员查询(管理员可按一定的方式查询图书)*/{int choice,n=0;struct tushu *head;there:system(”cls”);printf(” ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n”);printf(” ┃┃socat 图书借阅系统┃┃\n”);printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n");printf(" ┃●[0]返回┃\n");printf(" ┃┃\n”);printf(" ┃●[1]按书名查找┃\n”);printf(" ┃┃\n”);printf(" ┃●[2]按作者查找┃\n”);printf(” ┃┃\n”);printf(" ┃●[3]按类别查找┃\n”);printf(" ┃┃\n”);printf(" ┃● ┃\n”);printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n”);printf(" 请选择:”);fflush(stdin);head=create();scanf(”%d”,&choice);if(choice==1){system(”cls");Findofname(head); }else if(choice==2){system(”cls”); Findofwriter(head); }else if(choice==3){system(”cls");Findofkind(head); }else if(choice==0){system(”cls”);menu();}else{system(”cls”);printf(”\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system("pause");system(”cls");n++;if(n==3){printf(" \n\n\n ━━━━━━━━你错误次数太多,自动退出! ━━━━━━━━\n\n\n”);printf(" ━━━━━━━━感谢使用图书管理系统━━━━━━━━\n\n\n”);system(”pause”);exit(0);}goto there;}}void xfind()/*学生查询(学生可按一定的方式查询图书)*/ {struct tushu *head;int choice,n=0;there:system("cls”);printf(” ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n”);printf(” ┃┃socat 图书借阅系统┃┃\n”);printf(” ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n");printf(” ┃●[0]返回┃\n”);printf(” ┃┃\n");printf(" ┃●[1]按书名查找┃\n”);printf(” ┃┃\n”);printf(" ┃●[2]按作者查找┃\n”);printf(" ┃┃\n");printf(” ┃●[3]按类别查找┃\n");printf(” ┃┃\n”);printf(" ┃● ┃\n");printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n"); printf(” 请选择:");fflush(stdin);head=create();scanf(”%d",&choice);if(choice==1){system(”cls”);xFindofname(head);}else if(choice==2){system(”cls”);xFindofwriter(head);}else if(choice==3){system("cls");xFindofkind(head);}else if(choice==0){system(”cls");xmenu();}else{system("cls");printf("\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system(”pause”);system(”cls");n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出!━━━━━━━━\n\n\n”);printf(” ━━━━━━━━感谢使用图书借阅系统━━━━━━━━\n\n\n”);system("pause”);exit(0);}goto there;}}void sort(){struct tushu *head;int choice,n=0;there:system("cls”);printf(” ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n");printf(” ┃┃socat 图书借阅系统┃┃\n");printf(" ┃┗━━━━━━━━━━━━━━━━━━━┛┃\n”);printf(" ┃●[0]返回┃\n”);printf(” ┃┃\n");printf(” ┃●[1]按时间排序┃\n”);printf(” ┃┃\n”);printf(” ┃●[2]按价格排序┃\n");printf(" ┃┃\n”);printf(” ┃●[3]按编号排序┃\n”);printf(" ┃┃\n”);printf(” ┃●┃\n”);printf(”┗━━━━━━━━━━━━━━━━━━━━━━━┛\n”);printf(" 请选择:”);fflush(stdin);head=create();scanf("%d",&choice);if(choice==1){system("cls”); Sort_time(head);}else if(choice==2){sys tem(”cls");Sort_price(head);}else if(choice==3){system(”cls”);Sort_num(head); }else if(choice==0){system("cls”); menu();}else{system(”cls");printf("\n\n\n\n ━━━━输入错误,请重新输入!━━━━\n\n\n ”);system(”pause”);system(”cls”);n++;if(n==3){printf(” \n\n\n ━━━━━━━━你错误次数太多,自动退出! ━━━━━━━━\n\n\n”);printf(” ━━━━━━━━感谢使用图书借阅系统━━━━━━━━\n\n\n”);system("pause”);exit(0);}goto there;}}struct tushu *Input(){struct tushu *p1,*p2,*head,*ptr;char num;int x,i=0;system("cls”);p1=(struct tushu *)malloc(sizeof(struct tushu));head=p1;p1-〉price=—1;while(i!=1){printf(”请输入编号,以’#’结束\n”);scanf("%s",p1—>num);if(strcmp(p1-〉num,”#")==0)i=1;while(i!=1){printf(”请依次输入书名作者出版社类别出版时间价格\n”); scanf(”%s%s%s%s%lf%lf”,p1—>name,p1—>writer,p1—〉press,p1-〉kind,&p1-〉time,&p1—〉price);p2=p1;p1=(struct tushu *)malloc(sizeof(struct tushu));p2—〉next=p1;break;}}if(p1-〉price!=-1)p2—〉next=NULL;elsehead=NULL;system("cls”);printf("\n\n\n\t\t\t图书信息输入结束!\n\n\n”);system(”pause”);system(”cls”);printf(”\n\n\n\t\t\t是否保存图书信息?(1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录图书销售管理系统设计 (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.总体思路框图图1. 总体思路框图三、主要参数和函数1.全局变量1)定义一个存放图书信息的结构体struct book,并定义此类型的变量struct book list[N],用来表示图书数组。
struct book /*定义结构体类型*/{int num; /*序号为整型*/char name[40]; /*书名为字符串*/char author[20]; /*作者为字符串*/char publish[50]; /*出版社为字符串*/float price; /*价格为浮点型*/};struct book list[N]; /*定义struct book类型的变量list N个*/2)int Count=0,定义全局变量,用来表示图书的个数,初始值为0。
2.主要函数1)主函数main(),控制整个系统的执行流程,使系统菜单可以循环执行。
根据图书馆信息管理系统的要求,可设计一个主函数,及定义多个用户自定义函数。
通过将switch语句与break语句联合使用来实现多分支选择结构程序的设计。
case1至case7分别实现不同的功能,并能返回主界面;case0直接返回主界面。
程序代码:void main(){int choice1;printf(" *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*\n");printf(" * 欢迎进入图书销售管理系统*\n");printf(" *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*\n");do{printf("##################################################"); /*显示菜单*/ printf("功能选项: \n");printf(" 1 : 图书信息录入\n");printf(" 2 : 图书信息浏览\n");printf(" 3 : 图书信息查询\n");printf(" 4 : 图书信息修改\n");printf(" 5 : 图书信息删除\n");printf(" 6 : 图书信息排序\n");printf(" 7 : 图书的购买\n");printf(" 0 : 退出系统\n");printf("###############################################################");printf("\t请选择操作:");scanf("%d", &choice1);switch (choice1) /*菜单选择*/{case 1 : input();break;case 2 : show_bookinformation(list); break ;case 3 : check_bookinformation (list); break ;case 4 : modify_bookinformation (list); break ;case 5 :delete_bookinformation(list);break ;case 6 :reorder_bookinformation(list);break;case 7 :buytotal(list);break;case 0 :break ; }}while (choice1!=0);printf("谢谢! 欢迎下次使用使用!\n");}2)打开数据文件函数open(),把文件的信息打开到一个结构体数组中。
定义指向文件的指针读取数据,若指针指向NULL,则显示“无法操作,无文件信息!!!”,要调用fopen、fclose和fread函数。
程序代码:void open(){ int i;FILE *fp;if((fp=fopen("book.txt","rb+"))==NULL){ printf("无法操作,无文件信息!!!\n");exit(0);}for(i=0;i<N;i++){ if(fread(&list[i],sizeof(struct book),1,fp)==0){ printf("数据输出失败!!!\n");exit(0);} }fclose(fp);}3)信息录入文件函数read(),函数类型为void。
定义指向文件的指针读取数据,把输入的图书信息保存到文件中,若指针指向NULL,则输出无法操作。
利用for循环保存信息到指定文件。
程序代码:void read(){ int i;FILE *fp;if((fp=fopen("book.txt","wr+"))==NULL){ printf("\n不能打开文件!!!\n");exit(0); }for(i=0;i<N;i++)if(fwrite(&list[i],sizeof(struct book),1,fp)!=1)printf("文件写入错误!!!\n");fclose(fp);}4)信息录入系统函数input(),提供录入图书信息功能。
在for循环下,一次提示用户输入图书序号、书名、作者、出版社以及价格。
每循环一次,提示用户是否继续,当选“1”时继续输入图书信息,选“2”时返回主界面;每循环一次Count自增1。
程序代码:void input(){ int i,k,j,t;for(j=0;list[j].num!=0;j++)t=j+1;for(i=t;i<N;i++){ printf("\t请输入您的图书序号:");scanf("\t%d",&list[i].num);printf("\t请输入书名:");scanf("\t%s",list[i].name);printf("\t请输入作者:");scanf("\t%s",list[i].author);printf("\t请输入出版社:");scanf("\t%s",list[i].publish);printf("\t请输入价格:");scanf("\t%f",&list[i].price);fflush(stdin);printf("\t\n是否继续录入?(1.是2.否)");scanf("%d",&k);if(k==2) break;} Count=i+1;read();}5)删除图书信息函数delete_bookinformation (struct book list[]),提供对图书信息的删除功能。
此函数运行时利用open函数打开数据文件,读取信息;利用for循环,当输入序号与循环中的某一对应数据相同时,将后一个赋值给前一个从而把要删除的图书信息删除掉。
如果i=0,则直接输出“图书销售系统没有你要输出的图书信息!!!”。
删除后会显示“删除成功”,同时Count自减1;最后还要执行read函数,重新记录图书信息。
程序代码:void delete_bookinformation (struct book list[]){ int j,k,d,i=0;open();printf("请输入要删除的图书的序号:\n");scanf("%d",&d);for(j=0;list[j].num!=0;j++){ if(list[j].num==d){ for(k=j;list[k].num!=0;k++)list[k]=list[k+1];i++;}}if(i==0)printf("图书销售系统没有你输入的图书序号,请重新选择输入!!!\n");elseCount=Count-1;read();printf("删除成功\n");}6)修改图书信息函数modify_bookinformation (struct book list[]),提供对图书信息的修改功能。