薛之谦照片最新:谁会c语言啊?

来源:百度文库 编辑:高考问答 时间:2024/04/28 03:20:09
谁可以帮我做一个C语言作业,作业要求:
1编制界面程序
程序运行后应该不断提示用户可以进行的操作,比如登陆界面,学籍管理操作(添加删除修改查询选择),选择是否继续等等,

2程序功能 1提示用户输入某个班学生信息(姓名学好C语言成绩英语成绩),直到用户决定结束输入,并将信息写入文件,
2允许用户在成绩清单中查寻,
3允许用户对成绩清单中的信息进行修改,
4允许用户删除成绩清单中的学生信息(2.3.4成绩清单要 保存在文件中)
3程序结构
程序一有多个函数,至少添加删除修改查询操作应为独立的函数,当用户选择了某种操作后,调用对应的函数,
4编程要求
1必须用链表来临时存储学生存储学生学籍纪录
2必须用文件保存学生学籍纪录
及格:能完成添加删除修改查询, 但每次运行只能够完成其中一种,若要进行其他操作必须重新运行程序 仅有操作选择界面,
中等:每次运行可进行多种操作,比如查询结束后用户可以选择继续修改等操作,直到用户要求推出时结束程序
良: 由用户登陆界面,(规定用户的权限,如学生只能查询,即有用户名和密码,每次操作前将以前显示的内容清屏,保证界面清楚)
优: 有非常好的界面,如程序前有前景和背景颜色,显示内容居中,界面有修饰图案
只要编出来,达到及格标准,我就给分,达到优秀标准,我可以追加100

#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 /*判断登录号是否重复及是否小于0*/
{
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<count;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 /*判断价格是否为0和负值*/
{
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<count;i++)
fread(&books[i],sizeof(struct data),1,fp); /*将文件中的数据读取到内存中*/
fclose(fp);
for(i=0;i<count;)
{
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) /*当记录只有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) /*记录大于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<n;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<n;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<count;) /*浏览匹配数据*/
{
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<n;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<count;) /*浏览匹配数据*/
{
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<n;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<n-1;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<n;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<n;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<n;i++)
{
if(strstr(books[i].bname,cha))
{
temp[count]=books[i]; /*源代码太长发不完,你要的话留下Email和悬赏分偶跟你发过去 */
k[count]=i;
count++;
}
}

其实,这些要求并不难。
自己稍微用点心,基本上都可以弄出来的。

这类问题一般都用比较专门的数据库程序来实现。用一般的语言来实现,就不如用visual basic。你们老师大脑发炎,才会要你们编写这类dos界面下的c语言数据库程序。

现在老师怎么都愿意出这道题啊-_-b
我也做过,也是VC,也是替别人做的。。。-_-b

如果你愿意等等的话,我们倒是要求做这道题了,我是用VC++编的,如果你愿意的话,到时候联系我就行了.
longtian0922@yahoo.com.cn

这也问,也会因为100分为你没昼夜的编程啊,这无聊很```自己都不想想~