1、#include/头文件#include/字符处理头文件struct tushu/定义结构体类型int num;/定义char name10;/定义char lei10;/定义float dan;/定义int no;/定义float price;/定义char ch;/定义shu10000;/定义结构体变量int a;/定义全局变量char y10;/定义字符数组void caidan()/菜单函数int c;void input();/输入函数声明* void print();/输出函数声明* void chaxun();/查询函数声明* void paixu();/排序函数声明* void
2、 tongji();/统计函数声明* void xiugai();/修改函数声明* void cunchu();/存储函数声明* void shanchu();/删除数据函数声明* void charu();/插入数据函数声明* printf(工资管理系统n);/提示* printf(n); printf( 输出数据请按1。 删除数据请按2。nn 插入数据请按3。 修改数据请按4。nn 查询数据请按5。 排序数据请按6。nn 存储数据请按7。 统计数据请按8。n);/提示* printf(n); printf(n);/分隔*getchar();/接收上一次键入字符*scanf(%d,&c);/
3、输入数据*if(c=1) print();/输出函数调用*else if(c=2) shanchu();/删除函数调用*else if(c=3) charu();/插入函数调用*else if(c=4) xiugai();/修改函数调用*else if(c=5) chaxun();/查询函数调用*else if(c=6) paixu();/排序函数调用*else if(c=7) cunchu();/存储函数调用*else if(c=8) tongji();/统计函数调用* void main()/主函数*void input();/输入函数声明* void caidan();/菜单函数声明*
4、int g,h;input();/输入函数调用*for(g=0;g+) caidan();/菜单函数调用*printf(退出请按0。n返回菜单按任意键n);/提示*scanf(%d,&h);if(h=0)break;void chaxun()/查询函数*int i,j,b;char xm10;printf(以书名查询请按1n以编号查询请按2n);/提示*scanf(%d,&j);/输入数据if(j=1)/条件判断printf(请输入查询的书名:);/提示*scanf(%s,xm);for(i=0;i=a;i+)/循环if(strcmp(xm,shui.name)=0)/条件判断break;/跳
5、出循环if(strcmp(xm,shui.name)=0)/条件判断printf(-n);printf(编号:);printf(%dn,shui.num);printf(书名:);printf(%sn,shui.name);printf(类别:);printf(%sn,shui.lei);printf(单价:);printf(%.2fn,shui.dan);printf(数量:);printf(%dn,shui.no);printf(总价:);printf(%.2fn,shui.price);printf(-n);if(strcmp(xm,shui.name)!=0)printf(未找到该数据
6、n);/提示*if(j=2) printf(请输入查询的工号:);/提示*getchar();scanf(%d,&b);/输入数据*for(i=0;i=a;i+)if(b=shui.num)break;if(b=shui.num)printf(-n);printf(编号:);printf(%dn,shui.num);printf(书名:);printf(%sn,shui.name);printf(类别:);printf(%sn,shui.lei);printf(单价:);printf(%.2fn,shui.dan);printf(数量:);printf(%dn,shui.no);printf(
7、总价:);printf(%.2fn,shui.price);printf(-n);if(b!=shui.num)printf(未找到该数据n);/提示*void paixu()/排序函数*int i,j,max;struct tushu s;for(i=0;i=a;i+)max=i;for(j=i+1;ja+1;j+)if(shumax.priceshuj.price)max=j;s=shui;shui=shumax;shumax=s;printf(排序成功n);/提示*for(i=0;i=a;i+)printf(-n);printf(编号:);printf(%dn,shui.num);pri
8、ntf(书名:);printf(%sn,shui.name);printf(类别:);printf(%sn,shui.lei);printf(单价:);printf(%.2fn,shui.dan);printf(数量:);printf(%dn,shui.no);printf(总价:);printf(%.2fn,shui.price);printf(-n);void print()/输出函数*int i;for(i=0;i=a;i+)printf(-n);printf(编号:);printf(%dn,shui.num);printf(书名:);printf(%sn,shui.name);prin
9、tf(类别:);printf(%sn,shui.lei);printf(单价:);printf(%.2fn,shui.dan);printf(数量:);printf(%dn,shui.no);printf(总价:);printf(%.2fn,shui.price);printf(-n);void input()/输入函数*printf(提示:输完所有记录以#结束输入;n);/提示*int i;for(i=0;i+)printf(*n);printf(请输入编号:n);/提示*scanf(%d,&shui.num);printf(请输入书名:n);/提示*scanf(%s,shui.name);
10、printf(请输入书籍类别:n);scanf(%s,shui.lei);printf(请输入书本单价:n);/提示*scanf(%f,&shui.dan);printf(请输入书本数量:n);/提示*scanf(%d,&shui.no);getchar();printf(*n);printf(结束按#,继续按任意键n);/提示* scanf(%c,&shui.ch); shui.price=shui.dan*shui.no; a=i;if(shui.ch=#) break;void tongji()/统计函数*int i;printf(*计算机类的书*n);/提示*for(i=0;i=a;i
11、+)if(strcmp(shui.lei,计算机)=0)printf(-n);printf(编号:);printf(%dn,shui.num);printf(书名:);printf(%sn,shui.name);printf(类别:);printf(%sn,shui.lei);printf(单价:);printf(%.2fn,shui.dan);printf(数量:);printf(%dn,shui.no);printf(总价:);printf(%.2fn,shui.price);printf(统计成功n);/提示*printf(-n);void cunchu()/数据存储*FILE *p;/
12、定义文件指针变量int i;/定义p=fopen(图书管理.doc,w);/打开文件将文件地址赋给文件指针变量,执行写操作for(i=0;i=a;i+)/循环以写入多个数据fprintf(p,编号:);/将提示写入文件*fprintf(p,%d,shui.num);/写入数据fputs(n,p);/将换行写入文件,在文件中换行。fputs(书名:,p);/将提示写入文件*fprintf(p,%s,shui.name);/写入数据fputs(n,p);/将换行写入文件,在文件中换行。fprintf(p,类别:);/将提示写入文件*fprintf(p,%s,shui.lei);/写入数据fputs
13、(n,p);/将换行写入文件,在文件中换行。fprintf(p,单价:);/将提示写入文件*fprintf(p,%.2f,shui.dan);/写入数据fputs(n,p);/将换行写入文件,在文件中换行。fprintf(p,数量:);/将提示写入文件*fprintf(p,%d,shui.no);/写入数据fputs(n,p);/将换行写入文件,在文件中换行。fprintf(p,总价:);/将提示写入文件*fprintf(p,%.2f,shui.price);/写入数据fputs(n,p);/将换行写入文件,在文件中换行。fclose(p);/写完文件关闭文件printf(存储成功n);/提示
14、*void xiugai()/修改数据函数*int q,i;printf(请输入需要修改数据职工的工号:n);/提示*scanf(%d,&q);for(i=0;i=a;i+)if(q=shui.num)q=i;break;else if(i=a) printf(该数据不存在无法修改n); if(q=i)printf(*n);printf(请输入编号:n);/提示*scanf(%d,&shuq.num);printf(请输入书名:n);/提示*scanf(%s,shuq.name);printf(请输入类别:n);/提示*scanf(%f,&shuq.lei);printf(请输入单价:n);/
15、提示*scanf(%f,&shuq.dan);printf(请输入数量:n);/提示*scanf(%f,&shuq.no);getchar();printf(*n);shuq.price=shuq.dan*shuq.no;printf(修改成功n);/提示*void charu()/插入数据函数*printf(当前共有%d个数据 n数据插入最大为%dn,a+1,a+1);/提示*void print();int q,p;p=a;printf(请输入从第几个数据处插入:n);/提示*scanf(%d,&q);if(q=(a+1)if(p=q;p-)shup+1=shup;printf(*n);p
16、rintf(请输入编号:n);/提示*scanf(%d,&shup+1.num);printf(请输入书名:n);/提示*scanf(%s,shup+1.name);printf(请输入类别:n);/提示*scanf(%s,&shup+1.lei);printf(请输入单价:n);/提示*scanf(%f,&shup+1.dan);printf(请输入数量:n);/提示*scanf(%d,&shup+1.no);getchar();printf(*n);shup+1.price=shup+1.dan*shup+1.no; a=a+1; print(); printf(插入成功n);/提示*else printf(插入不合法);void shanchu()/删除数据函数*int q,i;printf(请输入删除第几个数据:n);/提示*scanf(%d,&q);if(q0&q=a+1)q=q-1;for(i=0;qa;i+)shuq=shuq+1;q+;a=a-1;printf(删除成功n);/提示*elseprintf(数据不存在,删除失败!n);/提示*