雜志訂閱管理系統(tǒng)_第1頁
雜志訂閱管理系統(tǒng)_第2頁
雜志訂閱管理系統(tǒng)_第3頁
雜志訂閱管理系統(tǒng)_第4頁
雜志訂閱管理系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 說明書 設(shè)計題目:雜志訂閱管理系統(tǒng) 目錄:1.設(shè)計任務(wù)-12.正 文-2 (1).系統(tǒng)模塊圖-3 (2).模塊說明-3 (3).用戶使用說明-3 (4).測試結(jié)果-33.設(shè) 計 小 結(jié)-94.附錄-10 一設(shè)計任務(wù)1、需求分析:訂戶的信息要用文件存儲, 所以要提供文件的輸入輸出操作; 要實現(xiàn)增加新訂戶的功能, 所以要提供文件的添加操作;要實現(xiàn)對訂戶文件的查詢,所以要提供文件的查找操作;要刪 除已到期的訂戶記錄, 所以要提供文件的刪除操作; 要統(tǒng)計本期雜志訂戶數(shù)并打印運算結(jié)果, 所以要提供統(tǒng)計和顯示操作;另外還要提供鍵盤式選擇菜單以實現(xiàn)功能選擇。 2、總體設(shè)計:該管理軟件被設(shè)計為數(shù)據(jù)添加模塊、

2、數(shù)據(jù)刪除模塊和數(shù)據(jù)統(tǒng)計模塊。 3、詳細(xì)設(shè)計 數(shù)據(jù)結(jié)構(gòu)選擇結(jié)構(gòu)體: struct magazinechar name10;/姓名char sex6;/性別char address10;/地址char tel11;/電話float price;/單價int amount;/訂閱數(shù)量char deadline10;/截止日期mag; /訂戶信息結(jié)構(gòu)體 (1)數(shù)據(jù)添加模塊 用追加的方式采用 fwrite 或 fprintf 把新增訂戶信息寫入訂戶信息文件。 (2)數(shù)據(jù)刪除模塊 采用基本的查找算法,查找訂戶信息文件,比較當(dāng)天日期和訂閱期限,如果到期,則刪 除該訂戶記錄。刪除方法:如果判斷該條訂戶信息要刪

3、除,則不再把該條信息寫入文件,繼續(xù)讀下一條訂戶信息。 (3)數(shù)據(jù)統(tǒng)計模塊 對本期雜志訂戶數(shù)的統(tǒng)計,就是讀文件,輸出訂戶名、訂閱數(shù)、單價,并計算金額(單價*訂閱數(shù))。可以定義變量統(tǒng)計訂戶數(shù)、訂閱數(shù)和總金額,最后輸出。 二、正文1.系統(tǒng)模塊圖 雜志訂閱管理系統(tǒng)雜 志 訂 閱 管 理 系 統(tǒng)增加刪除統(tǒng)計查找退出修改2模塊說明(1).主函數(shù):顯示封面和菜單;(2). 增加模塊:追加新訂戶信息到文件;(3).刪除模塊:將當(dāng)天日期及以前的用戶的信息從文件中刪除;(4).統(tǒng)計模塊:統(tǒng)計所有訂戶的訂閱數(shù)量、訂閱單價等信息 (5).查詢模塊:查看訂戶的詳細(xì)信息,若訂戶的信息有所變更,下設(shè)更改功能 (包含修改功能

4、)。(6).退出模塊:主函數(shù)中。3.用戶使用說明源程序需用visual C+運行。其它按系統(tǒng)說明操作。4.測試結(jié)果 封面和主菜單添加模塊1.第一次添加界面:2.第一次以后添加界面:刪除模塊統(tǒng)計模塊查詢模塊修改模塊(在查詢結(jié)束后插入修改功能)修改界面退出模塊主函數(shù)源程序圖三.設(shè)計小結(jié) 我們學(xué)習(xí)C語言課程設(shè)計的主要目的是為了了解和熟悉C語言的編程。學(xué)習(xí)C語言要經(jīng)過一個“理論實踐在理論在實踐”的過程。而學(xué)習(xí)C語言課程設(shè)計就是要我們進(jìn)行實踐,從中發(fā)現(xiàn)問題,解決問題,提高我們運用C語言的能力。是我們能夠運用C語言解決一些問題。通過不斷的編程,熟能生巧,是我們的理論學(xué)習(xí)也有了實踐基礎(chǔ),學(xué)習(xí)理論知識就較為容

5、易一些,然后再通過實踐不斷的提高,如此良性循環(huán)就能是我們的C語言編程能力更上一成樓。參考文獻(xiàn)1。譚浩強(qiáng)。C程序設(shè)計(第二版)。北京。清華大學(xué)出版社,19992。譚浩強(qiáng)。張基溫。C語言程序設(shè)計(第三版)。北京。高等教育出版社,2006.83。譚浩強(qiáng)。C程序設(shè)計(第三版)。北京。清華大學(xué)出版社,2006 四附錄#include"stdio.h"#include"stdlib.h"#include"string.h"#define N 10struct magazinechar name10;char sex6;char address10

6、;char tel11;float price;int amount;char deadline10;struct magazine mag;int n=0;/*用戶計數(shù)器*/int tag=0;/*未過期的用戶計數(shù)器*/void insert()/*增訂新用戶*/FILE *fp;char ch,*filename;filename = "E:magazine.txt"if(0 = n)if(NULL=(fp=fopen(filename,"w")printf("此文件不存在!n");exit(0);else if(NULL=(fp

7、=fopen(filename,"a")printf("此文件不存在!n");exit(0);doif(n<N)printf("請輸入姓名:");gets(); printf("請輸入性別:");gets(mag.sex); printf("請輸入地址:");gets(mag.address); printf("請輸入電話號碼:");gets(mag.tel); printf("請輸入訂閱期限:");gets(mag.deadline

8、); printf("請輸入雜志單價:");scanf("%f",&mag.price); printf("請輸入訂閱數(shù):");scanf("%d",&mag.amount); fwrite(&mag,sizeof(struct magazine),1,fp); n+;else printf("用戶已滿!n");getchar();printf("n是否還有新訂戶?n");scanf("%c",&ch);getchar();

9、system("cls");while('y'=ch | 'Y'=ch);fclose(fp);system("pause");void del()/*刪除過期用戶*/FILE *fp; struct magazine magzN;char datatime8,*filename;int m,i=0;filename = "E:magazine.txt"if(fp=fopen(filename,"r")=NULL)printf("此文件不存在");exit(0);

10、while(fread(&mag,sizeof(struct magazine),1,fp)=1) magztag=mag;tag+;fclose(fp);printf("請輸入當(dāng)天日期:");gets(datatime);fp=fopen(filename,"w");for(i=0;i<tag;i+)m=strcmp(magzi.deadline,datatime);if(m<=0)continue;fwrite(&magzi,sizeof(struct magazine),1,fp);fclose(fp);system(&

11、quot;pause");void total()/*統(tǒng)計本期雜志訂戶數(shù)*/FILE *fp;float totalprice;int totalamount=0;float price1;float sum=0.0; if(fp=fopen("E:magazine.txt","r")=NULL)printf("此文件不存在");exit(0);printf("訂戶名t訂閱數(shù)t單價t金額n");while(fread(&mag,sizeof(struct magazine),1,fp)=1)tot

12、alamount+=mag.amount;price1=mag.price;totalprice=mag.amount*mag.price;sum+=totalprice;printf("%st%dt%3.2ft%3.2fn",,mag.amount,mag.price,totalprice);printf("合計t%dt%3.2ft%3.2fn",totalamount,price1,sum);fclose(fp);system("pause");void scan()/查詢與修改模塊system("cls

13、");int i=0,j,y;char scanname10,*filename;filename = "E:magazine.txt" FILE *fp;struct magazine *magzN; fp=fopen(filename,"r");if(fp=fopen(filename,"r")=NULL)printf("此文件不存在");exit(0); for(j=0;fread(&mag,sizeof(struct magazine),1,fp);j+) magzj=(struct ma

14、gazine *)malloc(sizeof(struct magazine); * magzj=mag;fclose(fp); printf("輸入要查詢?nèi)藛T的姓名:"); scanf("%s",scanname);fp=fopen(filename,"w");for(i=0;i<j;i+) if(strcmp(magzi->name,scanname)=0) printf("姓名:%sn",magzi->name);printf("性別:%sn",magzi->sex

15、); printf("地址:%sn",magzi->address); printf("電話:%sn",magzi->tel); printf("單價:%fn",magzi->price); printf("訂閱數(shù)量:%dn",magzi->amount); printf("訂閱期限:%sn",magzi->deadline);printf("是否要修改'1'是,'0'否:n");scanf("%d&qu

16、ot;,&y);if(y)system("cls");printf("請輸入姓名:");scanf("%s",magzi->name); printf("請輸入性別:");scanf("%s",magzi->sex); printf("請輸入地址:");scanf("%s",magzi->address); printf("請輸入電話號碼:");scanf("%s",magzi->te

17、l); printf("請輸入訂閱期限:");scanf("%s",magzi->deadline); printf("請輸入雜志單價:");scanf("%f",&magzi->price); printf("請輸入訂閱數(shù):");scanf("%d",&magzi->amount);fwrite(magzi,sizeof(struct magazine),1,fp);continue;fwrite(magzi,sizeof(struct m

18、agazine),1,fp);continue;fwrite(magzi,sizeof(struct magazine),1,fp); fclose(fp); system("pause");void main()int ch;char ch1;system("color 5f");do printf(" n");printf(" n");printf(" n");printf(" |n");printf(" | C語言課程設(shè)計 |n");printf(" | |n");printf(" | 雜志訂閱管理系統(tǒng)設(shè)計 |n");printf(" |-|n");printf(" |-|n");printf(" | 制作人:阮航 制作日期:2011.11.21 |n");printf(" |* 主菜單 *|n");printf(" |-|n");printf(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論