c源代码哪里有下载?

c源代码哪里有下载?,第1张

http://www.softhy.net/

这里有很多啊,什么源代码都有

http://www.newasp.net/code/dl003185

这里下C的源代码

去官网吧

http://www.cplusplus.com/

这里有C/C++标准库下载

http://www.boost.org/

这里是C++标准库扩展

另外标准库有很多版本

SGI STL是目前应用最为广泛的STL版本了

Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。

具体地址如下

SGI STL

http://www.sgi.com/tech/stl/download.html

或直接下压缩包:http://www.sgi.com/tech/stl/stl.tar

boost

http://sourceforge.net/projects/boost/files/boost/1.40.0/

#include<stdio.h>

#include<string.h>

#include<conio.h>

#include<stdlib.h>

#include<ctype.h>

#define STACK_INIT_SIZE 10

#define OK 1

#define TRUE 1

#define FALSE 0

#define ERROR 0

struct student /*定义学生类型,用于存放借出的书籍*/

{

int carnum

char lendbook[10]

}student[1000]

struct employ /*定义职工类型*/

{

int employnum

char employname[15]

int employage

char employsex[2]

char employleve[10]

long int employtage

}employ[50]

struct book /*定义书的类型*/

{

int booknum

char bookname[10]

char bookcreat[10]

int turefalse/*用于借书和还书模块判断一本书是否借出的条件*/

}book[1000]

struct car /*借书卡的数据类型*/

{

int carnum

char studentname[10]

int studentclass

}car[100]

huanbook() /*还书函数*/

{

FILE *fp,*fp2/*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/

int i,n

int carnum

char lendbook[10]

printf("请你输入你的卡号\n")

scanf("%d",&carnum)

fp=fopen("car.txt","r")/*读取卡号记录*/

for(i=0fread(&car[i],sizeof(struct car),1,fp)!=0i++) /*for循环判断卡号是否存在*/

{

if(car[i].carnum==carnum) /*卡号存在,进入下一循环*/

{

n=i

fclose(fp)

printf("请输入你要还的书的名字\n")

scanf("%s",lendbook)

fp=fopen("record.txt","r")

for(i=0fread(&student[i],sizeof(struct student),1,fp)!=0i++) /*判断是否借阅了输入的书*/

{

if(strcmp(student[i].lendbook,lendbook)==0) /*借阅了该书,进入下一循环,否则出错显示*/

{

fclose(fp)

fp=fopen("record.txt","r")

fp2=fopen("bookl.txt","w")

for(i=0fread(&student[i],sizeof(struct student),1,fp)!=0i++)

{

if(strcmp(student[i].lendbook,lendbook)==0)

{

continue/*删除还掉的书的借书记录*/

}

fwrite(&student[i],sizeof(struct student),1,fp2)/*写入原来没还的书的记录*/

}

fclose(fp)

fclose(fp2)

fp=fopen("record.txt","w")

fp2=fopen("bookl.txt","r")

for(i=0fread(&student[i],sizeof(struct student),1,fp2)!=0i++)

{

fwrite(&student[i],sizeof(struct student),1,fp)/*将借书记录信息写回*/

}

fclose(fp)

fclose(fp2)

fopen("bookl.txt","w")/*清临时文件的记录*/

fclose(fp2)

fp=fopen("book.txt","r")

fp2=fopen("bookl.txt","w")

for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++) /*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/

{

if(i==n)

{

book[i].turefalse=1

fwrite(&book[i],sizeof(struct book),1,fp2)/*将还的书的原来状态设为无人借阅的*/

continue

}

fwrite(&book[i],sizeof(struct book),1,fp2)

}

fclose(fp)

fclose(fp2)

fp=fopen("book.txt","w")

fp2=fopen("bookl.txt","r")

for(i=0fread(&book[i],sizeof(struct book),1,fp2)!=0i++)

{

fwrite(&book[i],sizeof(struct book),1,fp)/*将临时文件写回*/

}

fclose(fp)

fclose(fp2)

fopen("bookl.txt","w")/*清临时文件*/

fclose(fp2)

printf("还书完毕,按任意键返回\n")

getch()

return 1

}

}

printf("你没有借这样的书,任意键返回\n")/*出错提示*/

fclose(fp)

getch()

return 0

}

}

printf("系统没这样的卡,和管理员联系,按任意键返回\n")/*出错提示*/

fclose(fp)

getch()

}

findbook()

{

FILE *fp

char bookname[10]

int ture,i

fp=fopen("book.txt","r")

printf("请输入你要查找的书名\n")

scanf("%s",bookname)

for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++)

{

if(strcmp(bookname,book[i].bookname)==0)

{

if(book[i].turefalse==1)

{

printf("这本书的详细资料是:%d %s %s 此书现在无人借阅\n按任意键返回\n",book[i].booknum,book[i].bookname,book[i].bookcreat)

}

else {printf("这本书已经有人借出\n")fclose(fp)return 0}

fclose(fp)

return FALSE

}

}

printf("没有你要查询的书籍\n")

fclose(fp)

return FALSE

}

findbook1()

{

FILE *fp

char bookcreat[10]

int ture,i

fp=fopen("book.txt","r")

printf("请输入你要查找的作者名\n")

scanf("%s",bookcreat)

for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++)

{

if(strcmp(bookcreat,book[i].bookcreat)==0)

{

if(book[i].turefalse==1)

{

printf("这本书的详细资料是:%d %s %s 此书现在无人借阅\n按任意键返回\n",book[i].booknum,book[i].bookname,book[i].bookcreat)

}

else {printf("这本书已经有人借出\n")fclose(fp)return 0}

fclose(fp)

return FALSE

}

}

printf("没有你要查询的书籍\n")

fclose(fp)

return FALSE

}

lendcount()

{

FILE *fp

int i,n=0

fp=fopen("record.txt","r")

for(i=0fread(&student[i],sizeof(struct student),1,fp)!=0i++)

{

printf("卡号:%d 借出的书籍:%s \n",student[i].carnum,student[i].lendbook)

n=n+1

}

fclose(fp)

printf("目前共有%d本书借出\n",n)

printf("按任意键\n")

getch()

return n

}

chabook()

{

char ch5

do

{

printf("---------------欢迎进入图书查询系统!--------------\n")

printf(" 1:<按书名查找>\n")

printf(" 2:<按作者查找>\n")

printf(" 0:<返回>\n")

printf("请输入0--2,其他输入非法!\n")

scanf("%s",&ch5)

switch(ch5)

{

case '1':findbook()getch()break

case '2':findbook1()getch()break

case '0':break

default:printf("无此 *** 作\n")getch()break

}

}while(ch5!='0')

return FALSE

}

lendbook()

{

FILE *fp,*fp2

int i,n

int carnum

printf("请你输入你的卡号\n")

scanf("%d",&carnum)

fp=fopen("car.txt","r")

for(i=0fread(&car[i],sizeof(struct car),1,fp)!=0i++)

{

if(car[i].carnum==carnum)

{

n=i

fclose(fp)

printf("请输入你要借阅的书的名字\n")

scanf("%s",student[n].lendbook)

fp=fopen("book.txt","r")

for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++)

{

if(strcmp(book[i].bookname,student[n].lendbook)==0)

{

if(book[i].turefalse==0) {printf("对不起,此书有人借出,请借其他书\n")fclose(fp)getch()return}

else

fclose(fp)

fp=fopen("record.txt","a+")

student[n].carnum=carnum

fwrite(&student[n],sizeof(struct student),1,fp)

fclose(fp)

fp=fopen("book.txt","r")

fp2=fopen("bookl.txt","w")

for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++)

{

if(strcmp(book[i].bookname,student[n].lendbook)==0)

{

book[i].turefalse=0

fwrite(&book[i],sizeof(struct book),1,fp2)

continue

}

fwrite(&book[i],sizeof(struct book),1,fp2)

}

fclose(fp)

fclose(fp2)

fp=fopen("book.txt","w")

fp2=fopen("bookl.txt","r")

for(i=0fread(&book[i],sizeof(struct book),1,fp2)!=0i++)

{

fwrite(&book[i],sizeof(struct book),1,fp)

}

fclose(fp)

fclose(fp2)

fopen("bookl.txt","w")

fclose(fp2)

printf("借书完毕,按任意键返回\n")

getch()

return

}

}

printf("不存在这样的书,任意键返回\n")

fclose(fp)

getch()

return

}

}

printf("你的卡号不存在,请申请新卡,按任意键返回\n")

fclose(fp)

getch()

}

carcount()

{

FILE *fp

int i,n=0

fp=fopen("car.txt","r")

for(i=0fread(&car[i],sizeof(struct car),1,fp)!=0i++)

{

printf("第%d张卡<卡号:%d 姓名:%s 班级:%d>\n",i+1,car[i].carnum,car[i].studentname,car[i].studentclass)

n=n+1

}

fclose(fp)

printf("目前共有%d本书\n",n)

printf("按任意键\n")

getch()

}

delcar()

{

FILE *fp,*fp2

int i

int carnum

char choice

fp=fopen("car.txt","r")

fp2=fopen("bookl.txt","w")

printf("请输入你要删除的卡号\n")

printf("如果你输入的卡号存在,系统自动删除该信息!如果不存在,系统不做任何改动\n")

scanf("%d",&carnum)

for(i=0fread(&car[i],sizeof(struct car),1,fp)!=0i++)

{

if(car[i].carnum!=carnum)

{

fwrite(&car[i],sizeof(struct car),1,fp2)

}

}

fclose(fp)

fclose(fp2)

printf("是否真的要删除该卡?删除后该书籍的所有信息将无法恢复《Y/N》\n")

scanf("%s",&choice)

if(choice=='y'||choice=='Y')

{

fp=fopen("car.txt","w")

fp2=fopen("bookl.txt","r")

for(i=0fread(&car[i],sizeof(struct car),1,fp2)!=0i++)

{

fwrite(&car[i],sizeof(struct car),1,fp)

}

fclose(fp)

fclose(fp2)

fp2=fopen("bookl.txt","w")

fclose(fp2)

printf("按任意键返回\n")

getch()

return

}

else

{

printf("按任意键返回\n")

getch()

return

}

}

addcar()

{

FILE *fp

int i=0

fp=fopen("car.txt","a+")

printf("请你输入卡号\n")

scanf("%d",&car[i].carnum)

printf("请你输入学生姓名\n")

scanf("%s",car[i].studentname)

printf("请你输入班级\n")

scanf("%d",&car[i].studentclass)

fwrite(&car[i],sizeof(struct car),1,fp)

fclose(fp)

printf("输入完毕,任意键返回\n")

getch()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10058735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存