最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

對(duì)不起 我盡力了 我最努力的代碼就保存到這里了

2023-02-16 08:38 作者:幻影279  | 我要投稿

#include <stdio.h>

#include <stdlib.h>

#include <windows.h>

void addone();

void find();

void read1();

void updata();

void backspace();

typedef struct work

{

int id;

char name[20];

char writer[20];

float money;

work *next;

}WORK;



int main()

{

while (true)

{

system("cls");

printf("##########################################################\n");

printf("#? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ------------------------------? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? | 設(shè)計(jì)制作:魯永哲? 王億健? ?|? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ------------------------------? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ? ? ? 1.列出所有圖書? ? ? ? ? ? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ? ? ? 2.查詢圖書? ? ? ? ? ? ? ? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ? ? ? 3.增加新圖書? ? ? ? ? ? ? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ? ? ? 4.修改圖書? ? ? ? ? ? ? ? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ? ? ? 5.刪除圖書? ? ? ? ? ? ? ? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ? ? ? 6.退出? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #\n");

printf("#? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #\n");

printf("##########################################################\n");

printf("請(qǐng)輸入序號(hào):");

int a = getchar();

if (a == '1')? read1();

if (a == '2') find();

if (a == '3')? addone();

if (a == '4')? updata();

if (a == '5') backspace();

if (a == '6') exit(0);


}


system("pause");

return 0;


}


void addone()

{

int max_id = 0;//圖書總數(shù)

FILE *fp;

WORK *p=NULL, head,? *prev;

head.next = NULL;//有可能頭結(jié)點(diǎn)就是最后一個(gè)結(jié)點(diǎn),所以next 必須為 NULL

prev = &head;

///打開文件,沒有則出錯(cuò),以下是沒有出錯(cuò)運(yùn)行

if ((fp = fopen("圖書信息.dat", "r")) != NULL)

{

///文件打開成功,循環(huán)讀取內(nèi)容組合成鏈表

while (!feof(fp))

{

int ret;

p = (WORK *)malloc(sizeof(WORK));

ret = fread(p, sizeof(WORK), 1, fp);

if (ret == 0) break;


p->next = NULL;//最后一個(gè)結(jié)點(diǎn)的next一定要為空

prev->next = p;

prev = p;

}


fclose(fp);

}

///輸入信息,存放到結(jié)點(diǎn)pnew中

WORK *pnew = NULL;

pnew = (WORK *)malloc(sizeof(WORK));

printf("請(qǐng)?zhí)砑右槐緢D書信息,例如:\n書名:西游記 \n作者:吳承恩 \n單價(jià):50\n");

printf("下面開始添加\n書名:");

scanf("%s", pnew->name);

printf("作者:");

scanf("%s", pnew->writer);

printf("單價(jià):");

scanf("%f", &pnew->money);


pnew->next = NULL;

////將pnew添加到鏈表末尾

p = head.next;?

while (p != NULL){

prev = p;

max_id++;

p=p->next;

}


///此時(shí)prev是最后一個(gè)結(jié)點(diǎn)

max_id++;

pnew->id = max_id;

prev->next = pnew;


//將整個(gè)鏈表寫入文件

if ((fp = fopen("圖書信息.dat", "w")) == NULL)

{

printf("寫入文件出錯(cuò),程序異常退出");

return;

}

p=head.next;

while (p != NULL)

{

fwrite(p, sizeof(WORK), 1, fp);

p = p->next;

}

fclose(fp);

///回收鏈表占用的內(nèi)存

p= head.next;

while (p != NULL)

{

prev = p->next;

free(p);

p = prev;

}

printf("添加成功,按任意鍵返回主菜單\n");

system("pause");

}



void read1()

{

printf("列出所有圖書\n");

FILE *fp;

WORK *p, *head = NULL;

fp = fopen("圖書信息.dat", "r");

while (!feof(fp))

{

int ret;

p = (WORK *)malloc(sizeof(WORK));

ret = fread(p, sizeof(WORK), 1, fp);

if (ret == 0) break;

p->next = head;

head = p;

}

p = NULL;

p = head;

printf("-------------------------------------------------------------------\n");

printf("|? ?序號(hào)? |? ? ? ?書? ? ? 名? ? ? ?|? ? ?作? 者? ? ?|? ?單價(jià)? ? ? |\n");

printf("-------------------------------------------------------------------\n");

while (p != NULL){

printf("|? ? %-3d? |? %-20s? |? %-12s? |? %-9.1f? |\n", p->id, p->name, p->writer, p->money);

p = p->next;

}

printf("-------------------------------------------------------------------\n");

system("pause");

}



void updata()

{

WORK *p, head, *prev;

FILE *fp;

p = NULL;

head.next = NULL;//有可能頭結(jié)點(diǎn)就是最后一個(gè)結(jié)點(diǎn),所以next 必須為 NULL

prev = &head;

///打開文件,沒有則出錯(cuò),以下是沒有出錯(cuò)運(yùn)行

if ((fp = fopen("圖書信息.dat", "r")) != NULL)

{

///文件打開成功,循環(huán)讀取內(nèi)容組合成鏈表

while (!feof(fp))

{

int ret;

p = (WORK *)malloc(sizeof(WORK));

ret = fread(p, sizeof(WORK), 1, fp);

if (ret == 0) break;

p->next = NULL;//最后一個(gè)結(jié)點(diǎn)的next一定要為空

prev->next = p;

prev = p;

}

fclose(fp);

}

int n;

printf("輸入你要修改圖書的序號(hào):");

scanf("%d", &n);

p = head.next;

while (p != NULL)

{

if (p->id == n) break;

p = p->next;

}

printf("下面開始修改\n", p->id);

printf("序號(hào):%d\n", p->id);

printf("書名(%s):", p->name);

scanf("%s",p->name );

printf("作者(%s):", p->writer);

scanf("%s", p->writer);

printf("價(jià)格(%f):", p->money);

scanf("%f",&p->money);


//將整個(gè)鏈表寫入文件

if ((fp = fopen("圖書信息.dat", "w")) == NULL)

{

printf("寫入文件出錯(cuò),程序異常退出");

return;

}

p = head.next;

while (p != NULL)

{

fwrite(p, sizeof(WORK), 1, fp);

p = p->next;

}

fclose(fp);

///回收鏈表占用的內(nèi)存

p = head.next;

while (p != NULL)

{

prev = p->next;

free(p);

p = prev;

}

printf("修改成功.");

system("pause");

}


void backspace()

{

FILE *fp;

WORK *p = NULL, head, *prev;

head.next = NULL;//有可能頭結(jié)點(diǎn)就是最后一個(gè)結(jié)點(diǎn),所以next 必須為 NULL

prev = &head;

///打開文件,沒有則出錯(cuò),以下是沒有出錯(cuò)運(yùn)行

if ((fp = fopen("圖書信息.dat", "r")) != NULL)

{

///文件打開成功,循環(huán)讀取內(nèi)容組合成鏈表

while (!feof(fp))

{

int ret;

p = (WORK *)malloc(sizeof(WORK));

ret = fread(p, sizeof(WORK), 1, fp);

if (ret == 0) break;


p->next = NULL;//最后一個(gè)結(jié)點(diǎn)的next一定要為空

prev->next = p;

prev = p;

}

}

fclose(fp);

int n;

//輸入你要?jiǎng)h除圖書的序號(hào)

printf("請(qǐng)輸入你要?jiǎng)h除圖書的序號(hào):");

scanf("%d", &n);

////現(xiàn)實(shí)圖書內(nèi)容,再次確認(rèn)

p = head.next;

while (p != NULL){

if (p->id == n){

printf("-------------------------------------------------------------------\n");

printf("|? ?序號(hào)? |? ? ? ?書? ? ? 名? ? ? ?|? ? ?作? 者? ? ?|? ?單價(jià)? ? ? |\n");

printf("-------------------------------------------------------------------\n");

printf("|? ? %-3d? |? %-20s? |? %-12s? |? %-9.1f? |\n", p->id, p->name, p->writer, p->money);

printf("-------------------------------------------------------------------\n");

break;

}

p = p->next;

}

int ret=MessageBox(NULL, L"你是否確定刪除該圖書?", L"確認(rèn)刪除", 1);

if (ret ==2) return;

//////////////////////////////

p = head.next;

if (n == 1){//若果刪除第一個(gè),直接處理

head.next = p->next;

free(p);

}else{///如果刪除第二個(gè)以后,遍歷對(duì)比

while (p != NULL)

{

prev = p;

p = p->next;

if (p == NULL) break;

if (p->id == n) {

prev->next = p->next;

free(p);

break;

}

}

}


//重新排序,并寫入序號(hào)

p = head.next;

int max_id = 0;

while (p != NULL)

{

max_id++;

p->id = max_id;

p = p->next;

}


//將整個(gè)鏈表寫入文件

if ((fp = fopen("圖書信息.dat", "w")) == NULL)

{

printf("寫入文件出錯(cuò),程序異常退出");

return;

}

p = head.next;

while (p != NULL)

{

fwrite(p, sizeof(WORK), 1, fp);

p = p->next;

}

fclose(fp);

///回收鏈表占用的內(nèi)存

p = head.next;

while (p != NULL)

{

prev = p->next;

free(p);

p = prev;

}

printf("刪除成功,且序號(hào)已重新排列");

system("pause");

}


void find()

{

FILE *fp;

WORK *p = NULL, head, *prev;

head.next = NULL;//有可能頭結(jié)點(diǎn)就是最后一個(gè)結(jié)點(diǎn),所以next 必須為 NULL

prev = &head;

///打開文件,沒有則出錯(cuò),以下是沒有出錯(cuò)運(yùn)行

if ((fp = fopen("圖書信息.dat", "r")) != NULL)

{

///文件打開成功,循環(huán)讀取內(nèi)容組合成鏈表

while (!feof(fp))

{

int ret;

p = (WORK *)malloc(sizeof(WORK));

ret = fread(p, sizeof(WORK), 1, fp);

if (ret == 0) break;


p->next = NULL;//最后一個(gè)結(jié)點(diǎn)的next一定要為空

prev->next = p;

prev = p;

}

}

fclose(fp);

char str[10];

int n,i;

printf("輸入查詢編號(hào)(1按序號(hào)查詢,2按書名查詢,3按作者查詢):");

scanf("%d",&i);

if (i == 1)

{

printf("輸入你要查詢圖書的序號(hào):");

scanf("%d", &n);

p = head.next;

while (p != NULL)

{

if (p->id == n){

printf("-------------------------------------------------------------------\n");

printf("|? ?序號(hào)? |? ? ? ?書? ? ? 名? ? ? ?|? ? ?作? 者? ? ?|? ?單價(jià)? ? ? |\n");

printf("-------------------------------------------------------------------\n");

printf("|? ? %-3d? |? %-20s? |? %-12s? |? %-9.1f? |\n", p->id, p->name, p->writer, p->money);

printf("-------------------------------------------------------------------\n");

break;

}

p = p->next;

}

}

if (i== 2)

{

printf("輸入你要查詢圖書的書名:");

scanf("%s", str);

p = head.next;

while (p != NULL)

{

if (NULL != strstr(p->name, str)){

printf("-------------------------------------------------------------------\n");

printf("|? ?序號(hào)? |? ? ? ?書? ? ? 名? ? ? ?|? ? ?作? 者? ? ?|? ?單價(jià)? ? ? |\n");

printf("-------------------------------------------------------------------\n");

printf("|? ? %-3d? |? %-20s? |? %-12s? |? %-9.1f? |\n", p->id, p->name, p->writer, p->money);

printf("-------------------------------------------------------------------\n");

}

p = p->next;

}

}

if (i == 3)

{

printf("輸入你要查詢圖書的作者:");

scanf("%s", str);

p = head.next;

while (p != NULL)

{

if (0 == strcmp(str, p->writer)) {

printf("-------------------------------------------------------------------\n");

printf("|? ?序號(hào)? |? ? ? ?書? ? ? 名? ? ? ?|? ? ?作? 者? ? ?|? ?單價(jià)? ? ? |\n");

printf("-------------------------------------------------------------------\n");

printf("|? ? %-3d? |? %-20s? |? %-12s? |? %-9.1f? |\n", p->id, p->name, p->writer, p->money);

printf("-------------------------------------------------------------------\n");

}

p = p->next;

}

}

printf("查詢結(jié)束");

system("pause");

}


對(duì)不起 我盡力了 我最努力的代碼就保存到這里了的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
扎兰屯市| 仪征市| 南开区| 房产| 阜康市| 华阴市| 镇康县| 石门县| 亚东县| 宁远县| 香港 | 西乌| 鹤峰县| 太仆寺旗| 修文县| 巨鹿县| 彭泽县| 临颍县| 宜都市| 泾阳县| 称多县| 平泉县| 明星| 彰化县| 玉田县| 大连市| 巴林右旗| 白朗县| 东城区| 新建县| 邛崃市| 蓝田县| 徐州市| 嘉善县| 静宁县| 南部县| 兴业县| 冕宁县| 宜良县| 浙江省| 博爱县|