永发信息网

谁会c语言啊?

答案:6  悬赏:0  手机版
解决时间 2021-03-17 05:17
谁会c语言啊?
最佳答案
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "conio.h"
struct time
{
int year;
int month;
int day;
};
struct data
{
int num;
char bname[20];
char wname[15];
char clanum[15];
char pubcom[10];
struct time pubtime;
float price;
}books[20],book;
void face()
{
system("cls");
printf("\n ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");
printf(" ┃ ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 图 书 信 息 管 理 系 统 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ ┃\n");
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.图书数据删除 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ 7.退出系统 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ (Alpha Ver 0.1)┃\n");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf(" 请选择操作:");
}
int days(int year,int month)
{
int day2,loop=0;
if(year%4==0&&year%100!=0||year%400==0)
loop=1;
switch(month)
{
case 4:
case 6:
case 9:
case 11:
{
day2=30;
return(day2);
}
break;
case 2:
{
if(loop==1)
{
day2=29;
return(day2);
}
else
{
day2=28;
return(day2);
}
break;
}
break;
default :
{
day2=31;
return(day2);
}
break;
}
}
void input()
{
FILE *fp,*fp1;
struct data t;
char ch;
int day1,count,loop,i;
float temp;
do
{
system("cls");
fp=fopen("book.dat","ab");
if(fp==NULL)
{
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法创建!");
getchar();
return;
}
do
{
fp1=fopen("book.dat","rb");
loop=0;
fseek(fp1,0,2);
count=ftell(fp1)/sizeof(struct data);
fclose(fp1);
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:");
scanf("%d",&book.num);
getchar();
for(i=0;i {
fp1=fopen("book.dat","rb");
fseek(fp1,i*(sizeof(struct data)),0);
fread(&t,sizeof(struct data),1,fp1);
fclose(fp1);
if(book.num<=0)
{
loop=1;
break;
}
if(book.num==t.num)
{
loop=1;
break;
}
}
}while(loop!=0);

printf("\n\t\t\t2.图 书 名:");
scanf("%s",book.bname);

printf("\n\t\t\t3.作 者 名:");
scanf("%s",book.wname);

printf("\n\t\t\t4.分 类 号:");
scanf("%s",book.clanum);

printf("\n\t\t\t5.出版单位:");
scanf("%s",book.pubcom);

printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:");
scanf("%d",&book.pubtime.year);
getchar();

while(book.pubtime.year>2006||book.pubtime.year<=0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",book.num);
printf("\n\t\t\t2.图 书 名:%s\n",book.bname);
printf("\n\t\t\t3.作 者 名:%s\n",book.wname);
printf("\n\t\t\t4.分 类 号:%s\n",book.clanum);
printf("\n\t\t\t5.出版单位:%s\n",book.pubcom);
printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:");
scanf("%d",&book.pubtime.year);
getchar();
}

printf("\t\t\t 月:");
scanf("%d",&book.pubtime.month);
getchar();

while(book.pubtime.month>12||book.pubtime.month<=0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",book.num);
printf("\n\t\t\t2.图 书 名:%s\n",book.bname);
printf("\n\t\t\t3.作 者 名:%s\n",book.wname);
printf("\n\t\t\t4.分 类 号:%s\n",book.clanum);
printf("\n\t\t\t5.出版单位:%s\n",book.pubcom);
printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:%d",book.pubtime.year);
printf("\n\t\t\t 月:");
scanf("%d",&book.pubtime.month);
getchar();
}

printf("\t\t\t 日:");
scanf("%d",&book.pubtime.day);
getchar();

day1=days(book.pubtime.year,book.pubtime.month);
while(book.pubtime.day>day1||book.pubtime.day<=0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",book.num);
printf("\n\t\t\t2.图 书 名:%s\n",book.bname);
printf("\n\t\t\t3.作 者 名:%s\n",book.wname);
printf("\n\t\t\t4.分 类 号:%s\n",book.clanum);
printf("\n\t\t\t5.出版单位:%s\n",book.pubcom);
printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:%d",book.pubtime.year);
printf("\n\t\t\t 月:%d",book.pubtime.month);
printf("\n\t\t\t 日:");
scanf("%d",&book.pubtime.day);
getchar();
}
do
{
loop=0;
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\t请输入图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",book.num);
printf("\n\t\t\t2.图 书 名:%s\n",book.bname);
printf("\n\t\t\t3.作 者 名:%s\n",book.wname);
printf("\n\t\t\t4.分 类 号:%s\n",book.clanum);
printf("\n\t\t\t5.出版单位:%s\n",book.pubcom);
printf("\n\t\t\t6.出版时间:");
printf("\n\t\t\t 年:%d",book.pubtime.year);
printf("\n\t\t\t 月:%d",book.pubtime.month);
printf("\n\t\t\t 日:%d",book.pubtime.day);
printf("\n\n\t\t\t7.价 格:");
scanf("%f",&temp);
book.price=temp;
if(book.price<=0)
{
loop=1;
}
}while(loop!=0);

fwrite(&book,sizeof(struct data),1,fp);
fclose(fp);
printf("\n\t\t\t\t\t\t是否继续输入数据(Y or N)?:");
ch=getch();
}while(ch=='y'||ch=='Y');
system("cls");
getchar();
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 输 入 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n 图书信息输入结束!");
printf("\n\n\n\n Press ENTER to continue!");
getchar();
}
void output()
{
FILE *fp;
int count,i;
char ch;
fp=fopen("book.dat","rb");
if(fp==NULL)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 浏 览 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法读取!");
getchar();
return;
}
fseek(fp,0,2);
count=ftell(fp)/sizeof(struct data);
rewind(fp);
if(count==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 浏 览 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t图书库内无信息!");
getchar();
return;
}
for(i=0;i fread(&books[i],sizeof(struct data),1,fp);
fclose(fp);
for(i=0;i {
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 浏 览 ※ ※ ※ ※ ※ ※\n");
printf("\n\t浏览图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",books[i].num);
printf("\n\t\t\t2.图 书 名:%s\n",books[i].bname);
printf("\n\t\t\t3.作 者 名:%s\n",books[i].wname);
printf("\n\t\t\t4.分 类 号:%s\n",books[i].clanum);
printf("\n\t\t\t5.出版单位:%s\n",books[i].pubcom);
printf("\n\t\t\t6.出版时间:%d年%d月%d日\n",books[i].pubtime.year,books[i].pubtime.month,books[i].pubtime.day);
printf("\n\t\t\t7.价 格:%.2f\n",books[i].price);
if(i==0&&count==1)
{
printf("\n\n\t1.返回主菜单");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(count>1)
{
if(i==0)
{
printf("\n\n\t1.返回主菜单\t2.下一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(i==count-1)
{
printf("\n\n\t1.返回主菜单\t\t\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else
{
printf("\n\n\t1.返回主菜单\t2.下一页\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
}
ch=getchar();
getchar();
if(ch=='1')
break;
if(ch=='2')
{
if(i!=count-1)
i++;
else
{
getchar();
getchar();
}
}
if(ch=='3')
{
if(i!=0)
i--;
else
{
getchar();
getchar();
}
}
}
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 浏 览 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n 图书信息浏览结束!");
printf("\n\n\n\n Press ENTER to continue!");
getchar();
}
void find()
{
FILE *fp;
struct data temp[20];
int count,i,n;
char ch,ch1,ch2,cha[20];
fp=fopen("book.dat","rb");
if(fp==NULL)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法读取!");
getchar();
return;
}
fseek(fp,0,2);
n=ftell(fp)/sizeof(struct data);
rewind(fp);
for(i=0;i fread(&books[i],sizeof(struct data),1,fp);
fclose(fp);
if(n==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t图书库内无信息!");
getchar();
return;
}
do
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t\t1.按图书名查询");
printf("\n\n\n\t\t\t2.按作者名查询");
printf("\n\n\n\t\t\t3.退出查询");
printf("\n\n\n\t\t\t\t请选择相应的操作:");
ch1=getchar();
getchar();
if(ch1=='1')
{
do
{
count=0;
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t请输入查询的图书名:");
scanf("%s",cha);
getchar();
for(i=0;i {
if(strstr(books[i].bname,cha))
{
temp[count]=books[i];
count++;
}
}
if(count==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t\t\t未查找到相关数据!!!");
printf("\n\n\n\n\n\t\t\t\t\t\t是否继续查询?(Y or N):");
ch2=getchar();
getchar();
}
}while(count==0&&ch2=='y'||ch2=='Y');
for(i=0;i {
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\t浏览图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",temp[i].num);
printf("\n\t\t\t2.图 书 名:%s\n",temp[i].bname);
printf("\n\t\t\t3.作 者 名:%s\n",temp[i].wname);
printf("\n\t\t\t4.分 类 号:%s\n",temp[i].clanum);
printf("\n\t\t\t5.出版单位:%s\n",temp[i].pubcom);
printf("\n\t\t\t6.出版时间:%d年%d月%d日\n",temp[i].pubtime.year,temp[i].pubtime.month,temp[i].pubtime.day);
printf("\n\t\t\t7.价 格:%.2f\n",temp[i].price);
if(i==0&&count==1)
{
printf("\n\n\t1.返回主菜单");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(count>1)
{
if(i==0)
{
printf("\n\n\t1.返回主菜单\t2.下一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(i==count-1)
{
printf("\n\n\t1.返回主菜单\t\t\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else
{
printf("\n\n\t1.返回主菜单\t2.下一页\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
}
ch=getchar();
getchar();
if(ch=='1')
break;
if(ch=='2')
{
if(i!=count-1)
i++;
else
{
getchar();
getchar();
}
}
if(ch=='3')
{
if(i!=0)
i--;
else
{
getchar();
getchar();
}
}
}
}
if(ch1=='2')
{
do
{
count=0;
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t请输入查询的作者名:");
scanf("%s",cha);
getchar();
for(i=0;i {
if(strstr(books[i].wname,cha))
{
temp[count]=books[i];
count++;
}
}
if(count==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t\t\t未查找到相关数据!!!");
printf("\n\n\n\n\n\t\t\t\t\t\t是否继续查询?(Y or N):");
ch2=getchar();
getchar();
}
}while(count==0&&ch2=='y'||ch2=='Y');
for(i=0;i {
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\t浏览图书信息:");
printf("\n\t\t\t1.登 录 号:%d\n",temp[i].num);
printf("\n\t\t\t2.图 书 名:%s\n",temp[i].bname);
printf("\n\t\t\t3.作 者 名:%s\n",temp[i].wname);
printf("\n\t\t\t4.分 类 号:%s\n",temp[i].clanum);
printf("\n\t\t\t5.出版单位:%s\n",temp[i].pubcom);
printf("\n\t\t\t6.出版时间:%d年%d月%d日\n",temp[i].pubtime.year,temp[i].pubtime.month,temp[i].pubtime.day);
printf("\n\t\t\t7.价 格:%.2f\n",temp[i].price);
if(i==0&&count==1)
{
printf("\n\n\t1.返回主菜单");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(count>1)
{
if(i==0)
{
printf("\n\n\t1.返回主菜单\t2.下一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else if(i==count-1)
{
printf("\n\n\t1.返回主菜单\t\t\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
else
{
printf("\n\n\t1.返回主菜单\t2.下一页\t3.上一页");
printf("\n\n\t\t\t\t第 %d 页/共 %d 页",i+1,count);
printf("\n\n\t\t\t\t\t\t请选择相应的操作:");
}
}
ch=getchar();
getchar();
if(ch=='1')
break;
if(ch=='2')
{
if(i!=count-1)
i++;
else
{
getchar();
getchar();
}
}
if(ch=='3')
{
if(i!=0)
i--;
else
{
getchar();
getchar();
}
}
}
}
}while(ch1!='3');
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 查 询 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n 图书信息查询结束!");
printf("\n\n\n\n Press ENTER to continue!");
getchar();
}
void sort()
{
FILE *fp;
int n,i,j;
fp=fopen("book.dat","rb");
if(fp==NULL)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 排 序 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法读取!");
getchar();
return;
}
fseek(fp,0,2);
n=ftell(fp)/sizeof(struct data);
rewind(fp);
for(i=0;i fread(&books[i],sizeof(struct data),1,fp);
fclose(fp);
if(n==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 排 序 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t图书库内无信息!");
getchar();
return;
}
for(i=0;i { for(j=0;j<(n-1)-i;j++)
{
if(books[j].num>books[j+1].num)
{
book=books[j];
books[j]=books[j+1];
books[j+1]=book;
}
}
}
fp=fopen("book.dat","wb");
for(i=0;i fwrite(&books[i],sizeof(struct data),1,fp);
fclose(fp);
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 排 序 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\n\t\t\t\t已按图书登录号排序完毕!!!");
getchar();
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 排 序 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n 图书信息排序结束!");
printf("\n\n\n\n Press ENTER to continue!");
getchar();
}
void edit()
{
FILE *fp,*fp1;
struct data temp[20];
int i,n,count,k[20],day1,loop,count1,j;
float t1;
char cha[20],ch,ch1,ch2;
fp=fopen("book.dat","rb");
if(fp==NULL)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 修 改 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t文件无法读取!");
getchar();
return;
}
fseek(fp,0,2);
n=ftell(fp)/sizeof(struct data);
rewind(fp);
for(i=0;i fread(&books[i],sizeof(struct data),1,fp);
fclose(fp);
if(n==0)
{
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 修 改 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\n\n\t\t\t\t图书库内无信息!");
getchar();
return;
}
do
{
count=0;
system("cls");
printf("\n ※ ※ ※ ※ ※ ※ 图 书 信 息 修 改 ※ ※ ※ ※ ※ ※\n");
printf("\n\n\n\t\t请输入要修改的图书名:");
scanf("%s",cha);
getchar();
for(i=0;i {
if(strstr(books[i].bname,cha))
{
temp[count]=books[i];
k[count]=i;
count++;
}
}
全部回答
这也问,也会因为100分为你没昼夜的编程啊,这无聊很```自己都不想想~
现在老师怎么都愿意出这道题啊-_-b
我也做过,也是VC,也是替别人做的。。。-_-b
这类问题一般都用比较专门的数据库程序来实现。用一般的语言来实现,就不如用visual basic。你们老师大脑发炎,才会要你们编写这类dos界面下的c语言数据库程序。
其实,这些要求并不难。
自己稍微用点心,基本上都可以弄出来的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
无主之地前传风化地隐藏boss在哪
顶楼高温怎么储藏白酒
尼西超市地址在什么地方,想过去办事
香港有工业企业吗?分别有哪些?
Python编程需要买独立显卡的笔记本吗?
门头店面装修的用料问题.大概2.4m×6米的白色
明锐油耗高是什么原因
沁园专卖店NO.0543018地址在什么地方,想过去
琼海天福源温泉大酒店怎么样
笑字开头的四字成语
五线谱“8-----”代表?
天天酷跑应该买什么坐骑呢
驾驶证因酒驾暂扣三年,该怎么办
启辰t70减震器能和逍客的通用吗
排列组合公式哪个是最好用的呢
推荐资讯
NBA火箭队查克海耶斯代言中国乔丹?
男生怎样看起来比较干净
也什么龙龟必出反伤甲?
血液堵塞怎么办?
为什么用84消毒液后,厕所一直有股死老鼠的味
北京老天桥烤鸭这么咸,是真品吗?
为啥日本人喝酸奶不舔盖
郾城区漯河豪威阳光干洗(郾城东街店)地址是什
凯越云海垂钓园我想知道这个在什么地方
荆州驾照考试考场在什么地方
赣B97L39,告诉我发动机号码,车架号
已知81的2m次方除以9的2m次方除以3的m次方=27
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?