首页技术find函数c语言 c语言find函数的使用方法

find函数c语言 c语言find函数的使用方法

编程之家2026-06-091049次浏览

今天给各位分享find函数c语言的知识,其中也会对c语言find函数的使用方法进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

find函数c语言 c语言find函数的使用方法

C语言编程

C++的行不?

等等,要菜单??就是说要支持MFC??

要是您不嫌弃,就先试试这个吧,手头上只有这个了。

#include<string>//字符串头文件

#include<fstream>//文件头文件

#include<iostream>//是指标准库中输入输出流的头文件using namespace std;//使用名字空间std

find函数c语言 c语言find函数的使用方法

const int BMAX=50;//书最多个数

//图书管理模块

//图书类

class book

{

public:

find函数c语言 c语言find函数的使用方法

int no;//图书编号

char name[20];//图书名称

int b_flag;//1为在架,2为借出

int b_del;//1为存在, 2为删除

public:

book(){}//构造函数

void setno(int n)

{

no=n;//图书编号取值

}

int getno()

{

return no;//返回图书编号值

}

void setname(char na[])

{

strcpy(name, na);//字符串复制

}

char* getname()

{

return name;//返回图书名称

}

void borbook()

{

b_flag=2;//借书标志

}

void delbook()

{

b_del=2;//删除标志

}

void addbook(int no,char na[])//增加图书功能

{

setno(no);

setname(na);

b_flag=1;

b_del=1;

}

}

;

//图书数据库类

class bdatabase

{

public:

book btarray[BMAX];//图书集合

int top;

public:

bdatabase()

{

book b;

top=-1;

fstream file("book.txt",ios::in);//打开文件

while(1)

{

file.read((char*)&b,sizeof(b));

if(!file) break;

top++;

btarray[top]= b;

}

file.close();//关闭文件

}

~bdatabase()//析构函数,将btarray[]写到book.txt文件中

{

fstream file("book.txt",ios::out);

for(int i=0;i<=top;i++)

{

if(btarray[i].b_del==1)

file.write((char*)&btarray[i],sizeof(btarray[i]));

}

file.close();

}

void addbooks()//往图书数据库中加图书

{

book bk;

int no;

char bname[20];

cout<<"请输入书号:";

cin>>no;

cout<<endl<<"请输入书名:";

cin>>bname;

cout<<endl;

bk.b_flag=1;

bk.addbook(no, bname);

top++;

btarray[top]=bk;

return;

}

int findbooks(int suffix)//查找图书,这个函数用于借书这书操作,suffix是数组下标

{

int no;

cout<<"请输入书号:";

cin>>no;

for(int i=0; i<=top; i++)

{

if(btarray[i].no==no&& btarray[i].b_del==1)

{

return i;

}

}

return-1;

}

int findbooks()//查找图书,这个函数用于图书维护

{

int no;

char value[6];

cout<<"请输入书号:";

cin>>no;

for(int i=0; i<=top; i++)

{

if(btarray[i].no==no&& btarray[i].b_del==1)

{

if(btarray[i].b_flag==1) strcpy(value,"在架");

if(btarray[i].b_flag==2) strcpy(value,"借出");

cout<<"书号:"<<btarray[i].no<<"书的名称:"<<btarray[i].name<<"图书状态:"<<value<<endl;

return i;

}

}

return-1;

}

void editbooks()//编辑图书

{

int cur;

cur= findbooks();

if(cur==-1)

{ cout<<"没有这本书"<<endl;

return;

}

cout<<"书号:"<<btarray[cur].no<<"书的名称:"<<btarray[cur].name<<endl;

cout<<"请修改数据:"<<endl;

cout<<endl<<"书的名称:";

cin>>btarray[cur].name;

return;

}

void delbooks()//删除图书

{

int cur;

cur= findbooks();

if(cur==-1)

{

return;

}

if(btarray[cur].b_flag==2)//删除时判断图书是否借出

{

cout<<"该图书已经借出,请在归还后再删除。"<<endl;

return;

}

btarray[cur].b_del=2;

return;

}

void listbooks()//显示全部图书

{

char value[6];

for(int i=0; i<=top; i++)

{

if(btarray[i].b_del==1)

{

if(btarray[i].b_flag==1) strcpy(value,"在架");

if(btarray[i].b_flag==2) strcpy(value,"借出");

cout<<"书号:"<<btarray[i].no<<"书的名称:"<<btarray[i].name<<"图书状态:"<<value<<endl;

}

}

return;

}

}

;

//读者管理模块

//读者类

class reader

{

public:

int no;

char name[20];

int r_del;//1存在,2删除

int r_bor;//1借过书,2没有借书

book brbook;

public:

void addreader(int id, char na[])//增加读者

{

no= id;

strcpy(name, na);

r_del=1;

}

void setbrbook(book bt)//设置借书标记

{

brbook= bt;

}

book getbrbook()

{

return brbook;//返回借书信息

}

};

//读者数据库类

class rdatabase

{

public:

reader rdarray[BMAX];

int top;

public:

rdatabase()

{

reader rd;

top=-1;

fstream file("reader.txt",ios::in);//打开文件

while(1)

{

file.read((char*)&rd,sizeof(rd));

if(!file) break;

top++;

rdarray[top]=rd;

}

file.close();//关闭文件

}

~rdatabase()//析构函数

{

fstream file("reader.txt",ios::out);

for(int i=0;i<=top;i++)

{

if(rdarray[i].r_del==1)

file.write((char*)&rdarray[i],sizeof(rdarray[i]));

}

file.close();

}

void addreaders()//添加读者

{

reader rd;

int no;

char rname[20];

cout<<"请输入学号:";

cin>>no;

cout<<endl<<"请输入姓名:";

cin>>rname;

cout<<endl;

rd.addreader(no, rname);

rd.r_bor=2;

top++;

rdarray[top]=rd;

return;

}

int findreaders(int suffix)//查找读者,这个函数用于借书还书操作。参数suffix是数组下标

{

int no;

cout<<"请输入学号:";

cin>>no;

for(int i=0; i<=top; i++)

{

if(rdarray[i].no==no&& rdarray[i].r_del==1)

{

return i;

}

}

return-1;

}

int findreaders()//查找读者,这个函数用于读者维护操作

{

int no;

char value[3];

cout<<"请输入学号:";

cin>>no;

for(int i=0; i<=top; i++)

{

if(rdarray[i].no==no&& rdarray[i].r_del==1)

{

if(rdarray[i].r_bor==1) strcpy(value,"借");

if(rdarray[i].r_bor==2) strcpy(value,"无");

cout<<"学号:"<<rdarray[i].no<<"姓名:"<<rdarray[i].name<<"是否借书:"<<value<<endl;

return i;

}

}

return-1;

}

void editreaders()//编辑读者信息

{

int cur;

cur= findreaders();

if(cur==-1)

{ cout<<"没有该学生"<<endl;

return;

}

cout<<"请修改数据:"<<endl;

cout<<endl<<"姓名:";

cin>>rdarray[cur].name;

return;

}

void delreaders()//删除读者,读者如果借书要还书后才能删除

{

int cur;

cur= findreaders();

if(cur==-1)

{

return;

}

if(rdarray[cur].r_bor==1)

{

cout<<"该用户借了图书,请还书后再删除"<<endl;

return;

}

rdarray[cur].r_del=2;

return;

}

void listreaders()//显示所有读者

{

char value[3];

for(int i=0; i<=top; i++)

{

if(rdarray[i].r_del==1)

{

if(rdarray[i].r_bor==1) strcpy(value,"借");

if(rdarray[i].r_bor==2) strcpy(value,"无");

cout<<"学号:"<<rdarray[i].no<<"姓名:"<<rdarray[i].name<<"是否借书:"<<value<<endl;

}

}

return;

}

}

;

void bookjiemain()//图书维护子菜单

{

cout<<"|---------------------|"<<endl;

cout<<"|图书维护|"<<endl;

cout<<"|(1)增加|"<<endl;

cout<<"|(2)更改|"<<endl;

cout<<"|(3)删除|"<<endl;

cout<<"|(4)查找|"<<endl;

cout<<"|(5)显示|"<<endl;

cout<<"|(6)返回上一层|"<<endl;

cout<<"|---------------------|"<<endl;

}

void readerjiemian()//读者维护子菜单

{

cout<<"|---------------------|"<<endl;

cout<<"|读者维护|"<<endl;

cout<<"|(1)增加|"<<endl;

cout<<"|(2)更改|"<<endl;

cout<<"|(3)删除|"<<endl;

cout<<"|(4)查找|"<<endl;

cout<<"|(5)显示|"<<endl;

cout<<"|(6)返回上一层|"<<endl;

cout<<"|---------------------|"<<endl;

}

void mainjiemian()//主界面

{

cout<<"***********************************************"<<endl;

cout<<"*图书管理系统*"<<endl;

cout<<"**"<<endl;

cout<<"*(1)借书*"<<endl;

cout<<"**"<<endl;

cout<<"*(2)还书*"<<endl;

cout<<"**"<<endl;

cout<<"*(3)图书管理*"<<endl;

cout<<"**"<<endl;

cout<<"*(4)用户管理*"<<endl;

cout<<"**"<<endl;

cout<<"*(0)退出*"<<endl;

cout<<"***********************************************"<<endl;

}

void borrowtoreturn(char br)

//借书还书函数.参数br用来判断是“借书”还是“还书”.1为“借书”,2为“还书”

{

int rdid=0;

int bkid=0;

int rsuffix, bsuffix;

bdatabase t_bd;

rdatabase t_rd;

if(br=='1')//借书

{

rsuffix=t_rd.findreaders(rdid);

bsuffix=t_bd.findbooks(bkid);

if(rsuffix==-1|| bsuffix==-1)

return;

if(t_bd.btarray[bsuffix].b_flag==2)

{

cout<<"图书已经借出,请选择其它图书"<<endl;

return;

}

if(t_rd.rdarray[rsuffix].r_bor==1)

{

cout<<"你已经借过图书,请先归还再借其它图书"<<endl;

return;

}

t_bd.btarray[bsuffix].b_flag=2;

t_rd.rdarray[rsuffix].r_bor=1;

t_rd.rdarray[rsuffix].brbook=t_bd.btarray[bsuffix];

return;

}

if(br=='2')

{

rsuffix=t_rd.findreaders(rdid);

bsuffix=t_bd.findbooks(bkid);

if(rsuffix==-1|| bsuffix==-1)

return;

if(t_rd.rdarray[rsuffix].brbook.no==t_bd.btarray[bsuffix].no)

{

t_bd.btarray[bsuffix].b_flag=1;

t_rd.rdarray[rsuffix].r_bor=2;

t_rd.rdarray[rsuffix].brbook=t_bd.btarray[bsuffix];

}

else

{

cout<<"请重新输入,读者借的图书号不正确"<<endl;

return;

}

return;

}

}

void booksmange()

{

char in;

bdatabase bd;

do{

bookjiemain();

cin>>in;

switch(in)

{

case'1':

bd.addbooks();

break;

case'2':

bd.editbooks();

break;

case'3':

bd.delbooks();

break;

case'4':

bd.findbooks();

break;

case'5':

bd.listbooks();

break;

case'6':

break;

default:cout<<"输入错误,请从新输入。"<<endl;;

}

}while(in!='6');

return;

}

void readersmange()

{

char in;

rdatabase bd;

do{

readerjiemian();

cin>>in;

switch(in)

{

case'1':

bd.addreaders();

break;

case'2':

bd.editreaders();

break;

case'3':

bd.delreaders();

break;

case'4':

bd.findreaders();

break;

case'5':

bd.listreaders();

break;

case'6':

break;

default:cout<<"输入错误,请从新输入。"<<endl;

}

}while(in!='6');

return;

}

int main(int argc, char* argv[])

{ char in;

do{

mainjiemian();

cin>>in;

switch(in)

{

case'1':

borrowtoreturn(in);

break;

case'2':

borrowtoreturn(in);

break;

case'3':

booksmange();

break;

case'4':

readersmange();

break;

case'0':

break;

default:cout<<"输入错误,请从新输入。"<<endl;

}

}while(in!='0');

return 0;

}

C语言高手请帮忙!!!

100分好诱人……我做吧,楼上说的对。好好学习……

回复1:(函数)

y=1 x>0

y= 0 x=0

y=-1 x<0

用if语句编程,输入x,输出y;

#include<stdio.h>

int main(void)

{

int x,y;

printf("\nInput x=");

scanf("%d",&x);

if(x>0) y=1;

else if(x==0) y=0;

else y=-1;

printf("y=%d\n",y);

getch();

return 0;

}

调试用例子:

输入:

x=10

输出:

y=1;

输入:

x=0

输出:

y=0

输入:

x=-1

输出:

y=-1

————————————————————

回复2:输入一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。

#include<stdio.h>

void main(void)

{

char ch;

printf("\nInput a char:_\b");

ch=getchar();

ch>='A'&&ch<='Z'?printf("%c\n",ch+32):(ch>='a'&&ch<='z'?printf("%c\n",ch-32):printf("%c\n",ch));

getch();

}

__________________________________________

回复3:输入一个正整数n(1<n≤10),再输入n个整数,要求

⑴求这n个数的平均值和最大值。

⑵按逆序输出这n个数。

⑶将最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。

#include<stdio.h>

#define N 10

main()

{

int array[N],n,i,max,min,temp;

float sum=0,ave;

printf("\nInput n=");

scanf("%d",&n);

printf("Input the n numbers of array:\n");

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

{

printf("array[%d]=",i);

scanf("%d",&array[i]);

}

printf("The array is:\n");

for(i=0;i<n;i++) printf("%d",array[i]);

max=min=array[0];

for(i=1;i<n;i++)

if(array[i]>max) max=array[i];

else if(array[i]<min) min=array[i];

for(i=0;i<n;i++) sum+=array[i];

ave=sum/n;

printf("\nThe max number is:%d,the average is%f\n",max,ave);

printf("Disorder the array is:\n");

for(i=n-1;i>=0;i--) printf("%d",array[i]);

printf("\nAfter exchange the array is:\n");

temp=max;max=array[n-1];array[n-1]=temp;

temp=min;min=array[0];array[0]=temp;

for(i=0;i<n;i++) printf("%d",array[i]);

getch();

}

__________________________________________________________

回复4:输入一个正整数n(1<n≤10),再输入n个整数,将它们从大到小排序后输出

#define N 10

main()

{

int i,j,min,tem,a[N],n;

printf("\nInput n=");

scanf("%d",&n);

printf("please input%d num:\n",n);

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

{

printf("a[%d]=",i);

scanf("%d",&a[i]);}

printf("\nBefore sort:");

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

printf("%5d",a[i]);

printf("\n");

for(i=0;i<n-1;i++)

{min=i;

for(j=i+1;j<n;j++)

if(a[min]>a[j]) min=j;

tem=a[i];

a[i]=a[min];

a[min]=tem;

}

printf("After sorted\n");

for(i=n-1;i>=0;i--)

printf("%5d",a[i]);

getch();

}



————————————————————————————————

回复5:(第一次没看见忘了……)也给你发消息里了,注意查收。

#include<stdio.h>

#include<string.h>

main()

{

int i,h=0;

char a[80],*pa=a,ch;

printf("\nInput string a:\n");

gets(a);

printf("Input char ch:\n");

ch=getchar();

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

if(*(pa+i)==ch) h++;

printf("%c appers%d times in the string a\n",ch,h);

puts(a);

getch();

}

——————————————————————————————

回复6:定义函数void sort(int a[],int n),用选择法对数组a中的元素排序。自己定义main函数,并在其中调用sort函数。

#include<stdio.h>

#define N 100

void sort(int a[N],int n);

main()

{

int n,a[N];

printf("\Input n=");

scanf("%d",&n);

sort(a,n);

getch();

}

void sort(int a[N],int n)

{

int i,j,min,tem;

printf("please input ten num:\n");

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

{

printf("a[%d]=",i);

scanf("%d",&a[i]);}

printf("\n");

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

printf("%5d",a[i]);

printf("\n");

for(i=0;i<n-1;i++)

{min=i;

for(j=i+1;j<n;j++)

if(a[min]>a[j]) min=j;

tem=a[i];

a[i]=a[min];

a[min]=tem;

}

printf("After sorted:\n");

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

printf("%5d",a[i]);

}



c语言如何读取文件并输出

1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。

2、例程:

#include<stdio.h>

int a;

char b,c[100];

int main(){

FILE* fp1= fopen("input.txt","r");//打开输入文件

FILE* fp2= fopen("output.txt","w");//打开输出文件

if(fp1==NULL|| fp2==NULL){//若打开文件失败则退出

puts("不能打开文件!");

rturn 0;

}

fscanf(fp1,"%d",&a);//从输入文件读取一个整数

b=fgetc(fp1);//从输入文件读取一个字符

fgets(c,100,fp1);//从输入文件读取一行字符串

printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数

fputs(c,fp2);//向输出文件写入一行字符串

fputc(b,fp2);//向输出文件写入一个字符

fprintf(fp2,"%d",a);//向输出文件写入一个整数

fclose(fp1);//关闭输入文件

fclose(fp2);//关闭输出文件,相当于保存

return 0;

}

好了,文章到这里就结束啦,如果本次分享的find函数c语言和c语言find函数的使用方法问题对您有所帮助,还望关注下本站哦!

截取字符串中间几位?oracle截取字符串后几位ai在不同领域的含义,ai 6个领域包含哪些