c語言小設計 cashbox

2021-08-18 19:59:41 字數 1881 閱讀 8633

#include#includefile*p;

struct record

m;//每次記錄de結構體

int main()

//輸入密碼

else

}return 0;

} void write()//寫入記錄

printf("please input according to the tips\ndate|money|way|\n");

fseek(p,-sizeof(struct record),2);

fread(&m,sizeof(struct record),1,p);

m.num++;

scanf("%s%f%s",m.j,&m.k,m.l);

m.yu_e=m.yu_e+m.k;

fseek(p,-0,2);

fwrite(&m,sizeof(struct record),1,p);

fclose(p);

}void inspect()//檢視記錄

else

}fclose(p);}}

void insert()//插入記錄

n;struct records*head,*p1,*p2,*p3,*p4;

if((p=fopen("c:\\users\\***x\\desktop\\cashbox.txt","rb"))==null)//注意這裡以「rb」形式開啟

else//將資料讀入鍊錶並進行操作

p2->next=null;

fclose(p);

if((p=fopen("c:\\users\\***x\\desktop\\cashbox.txt","wb"))==null)//這裡以wb形式開啟

else

p4=p1->next;

p1->next=p3;

p3->next=p4;

p1=head;

m=p1->o;

m.num=1;

d=0;

m.yu_e=d+m.k;

d=m.yu_e;

fwrite(&m,sizeof(struct record),1,p);

p1=p1->next;

for(i=1;i<=j;i++)//關鍵在於在讀入de時候搞定no.和餘額,考慮指標還有順序

}fclose(p);}}

void delete_()//刪除記錄

n;struct records*head,*p1,*p2,*p3,*p4;

if((p=fopen("c:\\users\\***x\\desktop\\cashbox.txt","rb"))==null)//注意這裡以「rb」形式開啟

else//將資料讀入鍊錶並進行操作

p2->next=null;

fclose(p);//鍊錶已構成

if((p=fopen("c:\\users\\***x\\desktop\\cashbox.txt","wb"))==null)//這裡以wb形式開啟

else

p3=p1;

p4=p1->next;

p3->next=p4->next;

}p1=head;

m=p1->o;

m.num=1;

d=0;

m.yu_e=d+m.k;

d=m.yu_e;

fwrite(&m,sizeof(struct record),1,p);

p1=p1->next;

for(i=1;i<=j-2;i++)//關鍵在於在讀入de時候搞定no.和餘額,考慮指標還有順序

}fclose(p);}}

}void clear()//清空記錄

fclose(p);

}

ARM嵌入式C語言設計小技巧

1 變數定義 先來看下邊的兩處變數定義 char a short b char c int d char a char c short b int d 顯然兩處定義的變數是相同的,不同之處在於定義的順序。看一下他們分別在資料區的布局 pad為無意義的填充空間 a pad b c padd a c b...

C語言 小知識

1.表示式的求值 初始值 x 1,y 1 z 1 求 x y z 答 從左到右順序依次求值,1 true 注意 因為 操作符的左運算元是true,所以沒有必要求值了.事實上c語言肯定不會繼續求值 有關規則,在按從左到右的順序對乙個邏輯表示式求值的時候,只要知道了它的實際結果,就不會對其餘部分求值.這...

c語言小知識

1 為什麼include標頭檔案後,就可以呼叫檔案中宣告的函式了?標頭檔案中一般只是函式和變數的宣告,編譯器需要知道函式傳遞的是什麼引數,否則呼叫的地方 不知道如何設定暫存器和棧等一些相關資訊。至於函式的位置,由於在其他的編譯單元中,需要鏈結 時才能找到。標頭檔案中包含了函式的宣告,其具體的函式 即...