Void書名搜索(structbook * head)/*按課本名稱搜索*/
{結構書* p;
char name[20];
int c;
If(head==NULL) {printf("沒有打開文件");getchar();返回;}
Printf("1,查找專業2,查找教材名稱:");
scanf("%d ",& ampc);
getchar();
如果(c==2)
Printf("請輸入您要查找的教材名稱:");
Else printf("請輸入妳要找的專業:");
獲取(名稱);
p =頭部;
do{ if(c==2)
if(strcmp(p-& gt;舒明,名字)==0)
{
Printf("教材編號:%s\n教材名稱:% s \ n教材:% d \ n價格:% d \ n專業:% s \ n出版社:% s \ n備註:% s \ n ",p-& gt;編號,p-& gt;舒明,p-& gt;梁書,p-& gt;甲哥,p-& gt;專業,p-& gt;左哲,p-& gt;chubanshe,p->朱蓓);
}
if(c==1)
if(strcmp(p-& gt;磚業,名稱)==0)
{
Printf("教材編號:%s\n教材名稱:% s \ n教材:% d \ n價格:% d \ n專業:% s \ n出版社:% s \ n備註:% s \ n ",p-& gt;編號,p-& gt;舒明,p-& gt;梁書,p-& gt;甲哥,p-& gt;專業,p-& gt;左哲,p-& gt;chubanshe,p->朱蓓);
}
p = p-& gt;接下來;
}while(p!= NULL);
Printf("搜索完成");
返回;
}
struct book * Add(structure book * head)/* Add record */
{結構書*p,*e,*f,* h;
If(head==NULL) {printf("沒有打開文件");getchar();返回NULL}
h = f = e =頭;
p=(結構書*)malloc(sizeof(結構書));
printf(" \ n text book number:");
獲取(p-& gt;號);
printf(" \ n text book Name:");
獲取(p-& gt;舒銘);
printf(" \ n quantity:");
scanf("%d ",& ampp->;梁書);
printf(" \ n price:");
scanf("%d ",& ampp->;嘉格);
getchar();
printf(" \ n specialty:");
獲取(p-& gt;磚葉);
Printf("\n作者:");
獲取(p-& gt;作者論);
printf(" \ n press:");
獲取(p-& gt;出版社);
printf(" \ n說明:");
獲取(p-& gt;朱蓓);
if(strcmp(f-& gt;編號,p-& gt;號)>了;0){ p-& gt;next = f;h = p;printf(" \ n添加成功");返回h;}
if(f-& gt;next = = NULL){ f-& gt;next = p;p->;next = NULLprintf(" \ n添加成功");返回h;}
做{
if(f-& gt;下壹個!=空)
if(strcmp(f-& gt;編號,p-& gt;號)>了;0)
{
e-& gt;next = p;p->;next = f;printf(" \ n添加成功");返回h;
}
if(f-& gt;next==NULL)
{
f-& gt;next = p;
p->;next = NULL
printf(" \ n添加成功");
返回h;
}
f = f-& gt;接下來;
e = e-& gt;接下來;
} while(1);
}
struct book * Delete(struct book * head)/*刪除記錄*/
{結構書*p,* e;
字符編號[20];
If(head==NULL) {printf("沒有打開文件");getchar();返回NULL}
Printf("請輸入要刪除的教材編號:");
scanf("%s ",數字);
p = e =頭;
if(strcmp(p-& gt;number,num)= = 0){ head = head-& gt;接下來;打印(頭);回程頭;}
else p = p-& gt;接下來;
做{
if(strcmp(p-& gt;num,num)==0)
{
如果(p->;下壹個!=空)
e-& gt;next = p-& gt;接下來;
如果(p->;next = = NULL)e-& gt;next = NULL
打印(頭);
回程頭;
}
p = p-& gt;接下來;
e = e-& gt;接下來;
}while(p!= NULL);
Printf("搜索完畢,未找到記錄");
回程頭;
}
struct book * change(struct book * head)/*修改記錄*/
{結構書* p;
字符編號[20];
If(head==NULL) {printf("沒有打開文件");getchar();返回NULL}
Printf("請輸入要修改的教材編號:");
scanf("%s ",數字);
getchar();
p =頭部;
做{
if(strcmp(p-& gt;num,num)==0)
{
Printf("教材編號:%s\n教材名稱:% s \ n教材:% d \ n價格:% d \ n專業:% s \ n出版社:% s \ n備註:% s \ n ",p-& gt;編號,p-& gt;舒明,p-& gt;梁書,p-& gt;甲哥,p-& gt;專業,p-& gt;左哲,p-& gt;chubanshe,p->朱蓓);
printf(" \ n text book number:");
獲取(p-& gt;號);
printf(" \ n text book Name:");
獲取(p-& gt;舒銘);
printf(" \ n quantity:");
scanf("%d ",& ampp->;梁書);
printf(" \ n price:");
scanf("%d ",& ampp->;嘉格);
getchar();
printf(" \ n specialty:");
獲取(p-& gt;磚葉);
Printf("\n作者:");
獲取(p-& gt;作者論);
printf(" \ n press:");
獲取(p-& gt;出版社);
printf(" \ n說明:");
獲取(p-& gt;朱蓓);
Printf("修改成功");
回程頭;
}
p = p-& gt;接下來;
}while(p!= NULL);
Printf("沒有找到要修改的記錄");
回程頭;
}
int mima()
{ FILE * fp
char mima1[20],mima 2[20];
if((fp=fopen("mima "," r"))==NULL)
{printf("密碼未設置,請輸入:");
scanf("%s ",mima 1);
Printf("請再次輸入密碼:");
scanf("%s ",mima 2);
if(strcmp(mima1,mima2)!=0) {printf("兩個密碼不壹樣");返回0;}
否則{
fp=fopen("mima "," w ");
fprintf(fp," %s ",mima 1);
Printf("密碼設置成功");
返回1;
}
}
Printf("請輸入初始化密碼:");
scanf("%s ",mima 1);
fscanf(fp," %s ",mima 2);
if(strcmp(mima1,mima2)==0)
{
Printf("密碼正確");
Printf("請輸入要刪除的文件名:");
scanf("%s ",mima 1);
if(移除(mima1)==0)
{
Printf("刪除成功");
getchar();
返回1;
}
否則{
Printf("刪除失敗,請檢查該文件中是否存在或路徑是否正確");
getchar();
返回0;
}
}
否則{
Printf("密碼錯誤");
getchar();
返回0;
}
}
void main()
{
struct book * head = NULL
char I;
getch();
系統(“cls”);
做{
Printf ("☆ ★ ★ ☆★ ★教材管理系統☆★★\ n ");
printf(" m-menu h-help ");
printf(" \ n請輸入命令:");
I = getch();
if(i=='h ')
{printf("\n1,輸入教材信息時,每壹項都必須輸入相應的內容。\n2。在修改、添加、刪除和搜索記錄之前,您必須打開壹個文件,並且記得在修改之後保存教材信息。\n3,必須使用正確的路徑打開文件。建議不輸入路徑保存文件(這是默認路徑,即保存在程序目錄下。)");
getch();
打破;
}
if(i=='m ')
打破;
系統(“cls”);
}而(我!='m'||i!= ' h ');
系統(“cls”);
做{
Printf ("☆ ★ ★ ☆★教材管理系統☆★\ n ");
printf("┌————-———┐\n”);
Printf("│1,輸入課本信息│ │ n │ 2,顯示課本信息│ │ n │ 3,打開壹條記錄│ │ n │ 4,編輯壹條記錄│ │ n │ 5,保存課本信息│ n │
printf("└———————-┘\n”);
printf(" \ n請輸入函數號:");
I = getch();
系統(“cls”);
開關(壹)
{
case ' 1 ':head = creat();保存(頭);打破;
case '2': print(頭);打破;
案例“3”:head = openfile();打破;
情況“4”:系統(“cls”);
printf("┌————-———┐\n”);
Printf("│1,添加記錄│\ n ");
Printf("│2,刪除壹條記錄││n ");
Printf("│3,修改壹條記錄│\ n ");
printf("└———————-┘\n”);
I = getch();
開關(壹)
{
案例“1”:
head=add(頭);打破;
案例“2”:
head=delet(頭);打破;
情況‘3’:頭=變(頭);打破;
默認:break
}
打破;
case '5': save(頭);打破;
案例‘6’:Shuming search(頭);打破;
大小寫:mima();打破;
情況“e”:出口(0);
默認:break
}
系統(“cls”);
} while(1);
}