題目:雜志訂閱管理系統使用計算機對一種雜志的訂閱進行管理,該雜志最多訂戶不超過10人,每個訂戶的信息包括:姓名 性別 地址 電話號碼 雜志單價 訂閱數 訂閱期限(至**年**月)。現要求用菜單選擇并完成下述的功能:(1)增加新訂戶,既將訂戶的全部信息輸入到文件中。(2)根據當天
題目:雜志訂閱管理系統使用計算機對一種雜志的訂閱進行管理,該雜志最多訂戶不超過10人,每個訂戶的信息包括:姓名 性別 地址 電話號碼 雜志單價 訂閱數 訂閱期限(至**年**月)。現要求用菜單選擇并完成下述的功能:(1)增加新訂戶,既將訂戶的全部信息輸入到文件中。(2)根據當天的日期對訂戶文件進行查詢,刪除已到期的訂戶記錄。(3)統計本期雜志訂戶數并打印運算結果:本期訂戶信息表訂戶名?????????????? 訂閱數????????????? 單價??????????????金額李平???????????????????? 2???????????????????? 5.5???????????????11.0黃海???????????????????? 1???????????????????? 5.5??????????????? 5.5合計???????????????????? 3?????????????????????1.0???????????????16.5?程序已給出,只是有錯誤,請懂編程的人幫忙看看,萬分感謝!?#include#define max 20struct magazine{char? name[11];char? sex[6];char? addr[11];char? phone_number[12];char? unit_price[5];char? amount[4];char? time_limit[11];}order[max];void save(int n);int load_record();void search();void printf_n(int n);void printf_one(int i);void input(int i);statitic();void add();void menu();main(){FILE *fp;fp=fopen("record.txt","w");/*在C:Documents and SettingsAdministrator里建立一個"record.txt"記事本*/fclose(fp);menu();}void menu(){?void clrscr();int w,n;do{clrscr();printf("
");printf(" * * * * * * * * * * * * * * * * * * * * * *? * * *
");printf("
");printf("
");printf(" ????????????? 歡迎來到雜志訂閱系統!
");printf("
");printf("
");printf(" * * * * * * * * * * * * * * * * * * * * * *? * * *
");printf("
*********************************************
");printf(" ????????????? 1:add_new_subscriber
");printf(" ????????????? 2:browse
");printf(" ????????????? 3:statistic
");printf(" ????????????? 4:exit
");printf(" ? *********************************************
");printf("? Choice your number(1-4):[ ]");scanf("%d",&n);if(n4) w=1;else w=0;}while (w==1);/***************選擇功能****************/switch(n)?? {??? case 1:add();break;????????? /*增加新訂戶記錄*/??? case 2:search();break;?????? /*查找過期的訂戶記錄并刪除*/??? case 3:statistic();break;??? /*統計*/??? case 4:exit();break;???????? /*退出*/?? }}/*********************添加模塊************************/void add(){int t,i,m;clrscr();t=load_record();printf("您需要添加多少用戶的信息?
");printf("輸入號碼:[? ]");scanf("%d",&m);for(i=0;i
輸入 %dth subscriber record.
",i 1);input(t i);????????????????? /*調用輸入函數*/}save(t m);?????????????????? /*調用保存函數 保存t m組數據*/clrscr();??????????????????? /*******清屏*********/menu();????????????????????? /*返回登陸界面*/}void input(int i){printf("請輸入:
姓名 性別 地址 電話 雜志單價 數量 訂閱期限
");scanf("%s%s%s%s%s%s%s",&order[i].name,&order[i].sex,&order[i].addr,&order[i].phone_number,&order[i].unit_price,&order[i].amount,&order[i].time_limit);}/**************************統計模塊****************************/?statistic(){int t;t=load_record();printf("訂閱者的數量[%d]",t);printf_n(t);printf("
按任意鍵返回...
");getch();menu();}void printf_one(int i)??? /*顯示一個儀器記錄的函數*/{printf("%-10s? %-5s? %-10s? %-11s??? %-4s?? %-3s????? %-10s
",order[i].name,order[i].sex,order[i].addr,order[i].phone_number,order[i].unit_price,order[i].amount,&order[i].time_limit);}void printf_n(int n)????? /*顯示n個儀器記錄的函數*/{int j;clrscr();???????????????? /**********清屏************/printf("姓名? 性別? 地址? 電話號碼?? 價格? 數量? 時間期限
");for(j=0;j
按任意鍵繼續 ...");?? getch();?? puts("
");?? }printf_one(j);??????????? /*調用顯示一個儀器記錄的函數*/?}}/***************查詢模塊****************/void search(){FILE *fp;char date[11],str[2];int t,i,sum=0;t=load_record();clrscr();printf("請輸入日期:[????????? ]");scanf("%s",date);printf("
");if((fp=fopen("record.txt","w"))==NULL)/*以只寫方式打開*/????? {?????? printf("
無法打開文件
");?????? exit(0);????? }?clrscr();printf("
");?? for(i=0;i
");????????? printf_one(i);????????? /**********把符合條件的記錄顯示出來*********/????????? printf("
記錄已過期!");????????? printf("
你想要刪除此條信息嗎?('Y'or'N'):
展開
全部