您当前的位置:首页 > 科普小常识 > 正文

c语言图书管理系统(C语言图书管理系统程序)

#include“string.h“main(){ int k;static char st1,st2=“C Language“;printf(“input a string:\n“);gets(st1);k=strcmp(st1,st2);if(k==0) printf(“st1=st2\n“);if(k》0) printf(“st1》st2\n“);if(k《0) printf(“st1《st2\n“);}6.测字符串长度函数strlen 格式: strlen(字符数组名) 功能:测字符串的实际长度(不含字符串结束标志‘\0’) 并作为函数返回值,未找到该图书信息 \n\n“); } else { printf(“\n“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s %s“,nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader); printf(“请依次修改图书信息\n\n\n“); fflush(stdin); scanf(“%s %s %s %s %s %s %s %s“,n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader); fseek(fp,sizeof(nn),1); fwrite(&n,sizeof(nn),1,fp); } printf(“\n“); printf(“ 是否继续修改用户信息[y/n]? \n\n“); do { x=getch(); }while(x!=’n’&&x!=’y’); if(x==’n’) break; } fclose(fp); system(“cls“);}//借书void borrow_book(){ FILE*fp; struct book n; struct book nn; char x,z; int l,r; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“rb+“); while(1) { l=0; system(“cls“); printf(“\n“); printf(“请输入需要借阅的图书名: \n“); fflush(stdin); scanf(“%s“,&n.tittle); rewind(fp); while(1) { fread(&nn,sizeof(nn),1,fp); if(feof(fp)) break; r=strcmp(n.tittle,nn.tittle); if(r==0) { l=1; break; } } if(l==0) { printf(“\n“); printf(“对不起,[是(y)/否(n)] \n“); do { x=getche(); }while(x!=’n’&&x!=’y’); if(x==’n’) break; } fclose(fp); system(“cls“);}//浏览void scan_book(){ FILE*fp; char x,z; struct book n; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“rb“); rewind(fp); system(“cls“); while(1) { fread(&n,sizeof(n),1,fp); if(feof(fp)) break; else { printf(“********************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s %s“,n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader); printf(“\n“); } } printf(“\n“); printf(“回到主菜单请按回车“); do { x=getche(); }while(x!=’\r’); if(x==’\r’) { fclose(fp); system(“cls“); }}Windows的内核是用C语言还是C++呢微软道底用什么语言开发的内核的呢C 语言从 60 年代被发明开始到 1985 年第一款 Windows(Windows 1.0)出来已经发展成熟,\n\n “); } else { printf(“查询的图书为:“); printf(“\n“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s“,nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader); printf(“\n\n\n“); } printf(“是否继续查询图书 ? [是(y)/否(n)] ? \n\n“); do { x=getche(); }while(x!=’n’&&x!=’y’); if(x==’n’) break; } fclose(fp); system(“cls“);} //添加void add_book() { FILE *fp; struct book n; struct book nn; char x,z; int l,r; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“ab+“); do { system(“cls“); do { l=0; printf(“\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); fflush(stdin); scanf(“%s %s %s %s %s %s %s %s“,n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader); system(“cls“); rewind(fp); while(!feof(fp)) { fread(&nn,sizeof(nn),1,fp); r=strcmp(n.tittle,nn.tittle); if(r==0) { l=1; printf(“ 该图书已存在,1.字符串输出函数 puts 格式: puts (字符数组名) 功能:把字符数组中的字符串输出到显示器,请输入新的图书信息: \n\n“); break; } } }while(l); fwrite(&n,sizeof(n),1,fp); printf(“\n“); printf(“是否继续输入新的图书信息[y/n] \n\n“); do { x=getche(); }while(x!=’n’&&x!=’y’); }while(x==’y’); fclose(fp); system(“cls“); } //删除图书void delete_book() { FILE *fp,*fp1; char x,z; struct book n; struct book nn; int l,r; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“ab+“); while(1) { l=0; system(“cls“); printf(“\n“); printf(“请输入需要删除的图书名: \n\n“); fflush(stdin); scanf(“%s“,&n.tittle); rewind(fp); while(1) { fread(&nn,sizeof(nn),1,fp); if(feof(fp)) break; r=strcmp(n.tittle,nn.tittle); if(r==0) { l=1; break; } } if(l==0) { printf(“\n“); printf(“对不起,不需要指针数组unsigned int n=0,nmax,nmin,size;printf(“输入若干行字符串,未找到该图书 \n“); } else { printf(“\n“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s %s“,nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader); printf(“\n“); printf(“确认删除图书信息。

C语言图书管理系统程序

#include《windows.h》#include《stdio.h》#include《string.h》#include《stdlib.h》#include《conio.h》struct book{ char number; char tittle; char writer; char publisher; char date; char price; char status; char reader;};void search_book();void borrow_book();void return_book();void add_book();void delete_book();void modify_book();void scan_book();int main(){ int c1=0,c2,c3; int l,x,z; while(1) { system(“color 2C“); printf(“\t\t\t ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n“); printf(“\t\t\t| * - * - * -图书管理系统 * - * - * |\n“); printf(“\t\t\t* 用户登录 *\n“); printf(“\t\t\t* 管理员登录 *\n“); printf(“\t\t\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n“); printf(“\n“); printf(“请选择你的操作 :“); scanf(“%d“,&c1); system(“cls“); break; } if(c1==1) { while(1){ system(“color 2C“); printf(“\t\t\t ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n“); printf(“\t\t\t| * - * - * -图书管理系统 * - * - * |\n“); printf(“\t\t\t* 查询图书 *\n“); printf(“\t\t\t| 借阅图书 |\n“); printf(“\t\t\t* 借还图书 *\n“); printf(“\t\t\t* 浏览图书信息 *\n“); printf(“\t\t\t| 退出图书管理系统 |\n“); printf(“\t\t\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n“); printf(“\n“); printf(“请选择你的操作 :“); scanf(“%d“,&c2); getchar(); switch(c2) { case 1:search_book(); break; case 2:borrow_book(); break; case 3:return_book(); break; case 4:scan_book(); break; case 5:system(“cls“); return 0; } } } if(c1==2) { while(1){ system(“color 2C“); printf(“\t\t\t ^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n“); printf(“\t\t\t| * - * - * -图书管理系统 * - * - * |\n“); printf(“\t\t\t| 添加图书 |\n“); printf(“\t\t\t* 删减图书 *\n“); printf(“\t\t\t| 修改图书信息 |\n“); printf(“\t\t\t* 浏览图书信息 *\n“); printf(“\t\t\t| 退出图书管理系统 |\n“); printf(“\t\t\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^ \n“); printf(“\n“); printf(“请选择你的操作 :“); scanf(“%d“,&c3); getchar(); switch(c3) { case 1:add_book(); break; case 2:delete_book(); break; case 3:modify_book(); break; case 4:scan_book(); break; case 5:system(“cls“); return 0; } } }}/*查询图书*/void search_book(){ FILE*fp; struct book n; struct book nn; int l,r; char x,z; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“rb“); while(1) { l=0; system(“cls“); printf(“请输入图书名称:“); scanf(“%s“,n.tittle); fflush(stdin); rewind(fp); while(1) { fread(&nn,sizeof(nn),1,fp); if(feof(fp)) break; r=strcmp(n.tittle,nn.tittle ); if(r==0) { l=1; break; } } if(l==0) { printf(“没有要查询的图书!!!\n\n “); } else { printf(“查询的图书为:“); printf(“\n“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s“,nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader); printf(“\n\n\n“); } printf(“是否继续查询图书 ? [是(y)/否(n)] ? \n\n“); do { x=getche(); }while(x!=’n’&&x!=’y’); if(x==’n’) break; } fclose(fp); system(“cls“);} //添加void add_book() { FILE *fp; struct book n; struct book nn; char x,z; int l,r; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“ab+“); do { system(“cls“); do { l=0; printf(“\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); fflush(stdin); scanf(“%s %s %s %s %s %s %s %s“,n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader); system(“cls“); rewind(fp); while(!feof(fp)) { fread(&nn,sizeof(nn),1,fp); r=strcmp(n.tittle,nn.tittle); if(r==0) { l=1; printf(“ 该图书已存在,请输入新的图书信息: \n\n“); break; } } }while(l); fwrite(&n,sizeof(n),1,fp); printf(“\n“); printf(“是否继续输入新的图书信息[y/n] \n\n“); do { x=getche(); }while(x!=’n’&&x!=’y’); }while(x==’y’); fclose(fp); system(“cls“); } //删除图书void delete_book() { FILE *fp,*fp1; char x,z; struct book n; struct book nn; int l,r; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“ab+“); while(1) { l=0; system(“cls“); printf(“\n“); printf(“请输入需要删除的图书名: \n\n“); fflush(stdin); scanf(“%s“,&n.tittle); rewind(fp); while(1) { fread(&nn,sizeof(nn),1,fp); if(feof(fp)) break; r=strcmp(n.tittle,nn.tittle); if(r==0) { l=1; break; } } if(l==0) { printf(“\n“); printf(“对不起,未找到该图书 \n“); } else { printf(“\n“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s %s“,nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader); printf(“\n“); printf(“确认删除图书信息? [是(y)/否(n)]\n\n“); do { z=getche(); }while(z!=’n’&&z!=’y’); if(z==’n’) break; else { fp1=fopen(“F:\\课程设计\\图书管理系统new.txt“,“wb“); rewind(fp); while(1) { fread(&nn,sizeof(nn),1,fp); if(feof(fp)) break; r=strcmp(n.tittle,nn.tittle); if(r!=0) fwrite(&nn,sizeof(nn),1,fp1); } fclose(fp); fclose(fp1); fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“wb“); fp1=fopen(“F:\\课程设计\\图书管理系统new.txt“,“rb“); while(1) { fread(&nn,sizeof(nn),1,fp1); if(feof(fp1)) break; fwrite(&nn,sizeof(nn),1,fp); } fclose(fp); fclose(fp1); } } printf(“\n“); printf(“是否继续删除图书信息? [是(y)/否(n)] \n“); do { x=getche(); }while(x!=’n’&&x!=’y’); if(x==’n’) break; } fclose(fp); system(“cls“);}//修改图书信息void modify_book(){ FILE *fp; struct book n; struct book nn; int l,r; char x,z; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“rb+“); while(1) { l=0; printf(“\n“); system(“cls“); printf(“请输入需要修改的图书名: \n\n“); fflush(stdin); scanf(“%s“,&n.tittle); system(“cls“); rewind(fp); while(1) { fread(&nn,sizeof(nn),1,fp); if(feof(fp)) break; r=strcmp(n.tittle,nn.tittle); if(r==0) { l=1; break; } } if(l==0) { printf(“\n“); printf(“对不起,未找到该图书信息 \n\n“); } else { printf(“\n“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s %s“,nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader); printf(“请依次修改图书信息\n\n\n“); fflush(stdin); scanf(“%s %s %s %s %s %s %s %s“,n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader); fseek(fp,sizeof(nn),1); fwrite(&n,sizeof(nn),1,fp); } printf(“\n“); printf(“ 是否继续修改用户信息[y/n]? \n\n“); do { x=getch(); }while(x!=’n’&&x!=’y’); if(x==’n’) break; } fclose(fp); system(“cls“);}//借书void borrow_book(){ FILE*fp; struct book n; struct book nn; char x,z; int l,r; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“rb+“); while(1) { l=0; system(“cls“); printf(“\n“); printf(“请输入需要借阅的图书名: \n“); fflush(stdin); scanf(“%s“,&n.tittle); rewind(fp); while(1) { fread(&nn,sizeof(nn),1,fp); if(feof(fp)) break; r=strcmp(n.tittle,nn.tittle); if(r==0) { l=1; break; } } if(l==0) { printf(“\n“); printf(“对不起,未找到该图书。 \n“); } else { printf(“\n“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s %s“,nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader); printf(“\n“); fflush(stdin); printf(“请输入图书信息并修改在库状态及借阅者信息“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); scanf(“%s %s %s %s %s %s %s %s“,n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader); fseek(fp,sizeof(nn),1); fwrite(&n,sizeof(nn),1,fp); } printf(“\n“); printf(“ 是否继续借书? [是(y)/否(n)] \n\n“); do { x=getch(); }while(x!=’n’&&x!=’y’); if(x==’n’) break; } fclose(fp); system(“cls“);} //还书void return_book(){ FILE*fp; struct book n; struct book nn; char x,z; int l,r; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“rb+“); while(1) { l=0; system(“cls“); printf(“\n“); printf(“请输入需要借还的图书名: \n“); fflush(stdin); scanf(“%s“,&n.tittle); rewind(fp); while(1) { fread(&nn,sizeof(nn),1,fp); if(feof(fp)) break; r=strcmp(n.tittle,nn.tittle); if(r==0) { l=1; break; } } if(l==0) { printf(“\n“); printf(“对不起,未找到该图书。 \n“); } else { printf(“\n“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s %s“,nn.number,nn.tittle,nn.writer,nn.publisher,nn.date,nn.price,nn.status,nn.reader); printf(“\n“); fflush(stdin); printf(“请输入图书信息并修改在库状态 \n\n“); printf(“****************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); scanf(“%s %s %s %s %s %s %s %s“,n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader); fseek(fp,-(int)sizeof(nn),1); fwrite(&n,sizeof(nn),1,fp); } printf(“\n“); printf(“是否继续还书? [是(y)/否(n)] \n“); do { x=getche(); }while(x!=’n’&&x!=’y’); if(x==’n’) break; } fclose(fp); system(“cls“);}//浏览void scan_book(){ FILE*fp; char x,z; struct book n; fp=fopen(“F:\\课程设计\\图书管理系统.txt“,“rb“); rewind(fp); system(“cls“); while(1) { fread(&n,sizeof(n),1,fp); if(feof(fp)) break; else { printf(“********************************************\n“); printf(“编号 书名 作者 出版社 出版时间 价格 状态 借阅者\n“); printf(“\n“); printf(“%s %s %s %s %s %s %s %s“,n.number,n.tittle,n.writer,n.publisher,n.date,n.price,n.status,n.reader); printf(“\n“); } } printf(“\n“); printf(“回到主菜单请按回车“); do { x=getche(); }while(x!=’\r’); if(x==’\r’) { fclose(fp); system(“cls“); }}

Windows的内核是用C语言还是C++呢微软道底用什么语言开发的内核的呢

C 语言从 60 年代被发明开始到 1985 年第一款 Windows(Windows 1.0)出来已经发展成熟,C++ 是从 1983 年才正式开始发展。语言早期的时候由于各方面都不成熟,不完善,最初的时候最多也只用于小型应用。可以看到 Windows 1.0 发布的时候 CFront 1.0 刚刚发布,那个时候 c++ 是不可能拿来做系统的,如果算上系统的设计和开发周期,C++ 还在设计与试验阶段,连自己的编译器都没有,所以 Windows 一开始就是用 C 语言实现的。由此基础,Windows 的内核就一直是 C 语言实现的。现在有传言说,Windows 7 的用户界面是 C# 实现的,这一点不敢保证,但不是不可能。----------------------------BASIC 的说法就歇了,认真学计算机的人都知道,BASIC 能写什么样的程序。有点了解 Windows 的人都知道,Windows Vista 大概 5000-7000 万行代码。

c语言中string怎么用啊

C语言提供了丰富的字符串处理函数, 大致可分为字符串的输入、输出、合并、修改、比较、转换、复制、搜索几类。 使用这些函数可大大减轻编程的负担。用于输入输出的字符串函数, 在使用前应包含头文件“stdio.h“ ; 使用其它字符串函数则应包含头文件“string.h“。 下面介绍几个最常用的字符串函数。1.字符串输出函数 puts 格式: puts (字符数组名) 功能:把字符数组中的字符串输出到显示器。 即在屏幕上显示该字符串#include“stdio.h“main(){static char c=“BASIC\ndBASE“;puts(c);}2.字符串输入函数gets 格式: gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串。 本函数得到一个函数值,即为该字符数组的首地址。#include“stdio.h“main(){char st;printf(“input string:\n“);gets(st);puts(st);}3.字符串连接函数strcat 格式: strcat (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“\0”。本函数返回值是字符数组1的首地址。#include“string.h“main(){static char st1=“My name is “;int st2;printf(“input your name:\n“);gets(st2);strcat(st1,st2);puts(st1);}4.字符串拷贝函数strcpy 格式: strcpy (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“\0”也一同拷贝。字符数名2, 也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。#include“string.h“main(){static char st1,st2=“C Language“;strcpy(st1,st2);puts(st1);printf(“\n“);}5.字符串比较函数strcmp 格式: strcmp(字符数组名1,字符数组名2) 功能:按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。 字符串1=字符串2,返回值=0;字符串2〉字符串2,返回值〉0;字符串1〈字符串2,返回值〈0。本函数也可用于比较两个字符串常量,或比较数组和字符串常量。#include“string.h“main(){ int k;static char st1,st2=“C Language“;printf(“input a string:\n“);gets(st1);k=strcmp(st1,st2);if(k==0) printf(“st1=st2\n“);if(k》0) printf(“st1》st2\n“);if(k《0) printf(“st1《st2\n“);}6.测字符串长度函数strlen 格式: strlen(字符数组名) 功能:测字符串的实际长度(不含字符串结束标志‘\0’) 并作为函数返回值。#include“string.h“main(){ int k;static char st=“C language“;k=strlen(st);printf(“The lenth of the string is %d\n“,k);}

C语言程序设计题

//程序1#include 《stdio.h》void main(){char *p,*ptmp,buf={0};unsigned int n,m,size;printf(“以回车为结束标记,依次输入四个字符串\n“);for(n=0;n《4;n++){printf(“请输入第%d个:“,n+1);gets(buf);size=strlen(buf);p[n]=(char*)malloc(size+1);strcpy(p[n],buf);}printf(“输入结束,现在开始排序:\n“);for(n=0;n《4-1;n++)for(m=0;m《4-n-1;m++)//简单冒泡法 if(strcmp(p[m],p[m+1])》0){ptmp=p[m];p[m]=p[m+1];p[m+1]=ptmp;}//只动了指针的指向,不改变内存中中的位置 printf(“排序后的次序是:\n“); for(n=0;n《4;n++)printf(“%s\n“,p[n]);}//程序2 #include 《stdio.h》void main(){char buf = {0};char *pmax=NULL, *pmin=NULL, *ptmp;//数组无法满足保存任意行的需求//而事实上你只要最长(或最短)的串//又中间的无需保存,所以只要两个指针保存内容就够,不需要指针数组unsigned int n=0,nmax,nmin,size;printf(“输入若干行字符串,以回车结束每一行,空行表示全部输入结束\n“);begin:printf(“请输入第%d个串:\n“,n+1);gets(buf);//记得DOS下TC2中这个函数会把换行符也读进来放在串尾的,现在怎么都改掉了if(!*buf||*buf==’\n’) goto begin;size=strlen(buf);pmax = (char*)malloc(size+1);strcpy(pmax,buf);nmax=size;pmin = (char*)malloc(size+1);strcpy(pmin,buf);nmin=size;n++;while(1){printf(“请输入第%d个串:\n“,n+1);gets(buf);if(!*buf||*buf==’\n’)break;size=strlen(buf);if(size》nmax){free(pmax);//串越来越长,上次的长度不够,需释放了重新分配pmax=(char*)malloc(size+1);strcpy(pmax,buf);nmax=size;}else if(size《nmin){strcpy(pmin,buf);//旧串空间够,直接copynmin=size;}n++;}printf(“\n最长在串是:\n%s\n最短的串是:\n%s“,pmax,pmin);free(pmax);free(pmin);}//VC7下两个例子程序都可以正常编译运行


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 座谈会会议记录范文模板(座谈会发言稿范文)

下一篇: 什么是句柄?什么是句柄什么是最左素短语



推荐阅读