完成杂志续订c语言程序,C语言程序设计报告杂志订阅管理软件.doc
C語言程序設(shè)計(jì)報(bào)告雜志訂閱管理軟件
C
語
言
程
序
設(shè)
計(jì)
學(xué)院: 工程學(xué)院
班級(jí)序號(hào): 學(xué)號(hào): 20071003303
姓名: 華進(jìn)
指導(dǎo)老師: 劉文中
前言
我們學(xué)習(xí)C語言課程設(shè)計(jì)的主要目的是為了了解和熟悉C語言的編程。學(xué)習(xí)C語言要經(jīng)過一個(gè)“理論→實(shí)踐→在理論→在實(shí)踐”的過程。而學(xué)習(xí)C語言課程設(shè)計(jì)就是要我們進(jìn)行實(shí)踐,從中發(fā)現(xiàn)問題,解決問題,提高我們運(yùn)用C語言的能力。是我們能夠運(yùn)用C語言解決一些問題。通過不斷的編程,熟能生巧,是我們的理論學(xué)習(xí)也有了實(shí)踐基礎(chǔ),學(xué)習(xí)理論知識(shí)就較為容易一些,然后再通過實(shí)踐不斷的提高,如此良性循環(huán)就能是我們的C語言編程能力更上一成樓。
正文
一.題目原文
雜志訂閱管理軟件
[要求]
使用計(jì)算機(jī)對(duì)一種雜志的訂閱進(jìn)行管理,該雜志擁有的最多用戶不超過10人,每個(gè)訂戶信息包括:姓名,性別,地址,電話號(hào)碼,雜志單價(jià),訂閱數(shù),訂閱期限(××年××月)。
現(xiàn)要求用菜單選擇并完成下述功能。
(1)增加新訂戶,即將訂戶的全部信息輸進(jìn)到文件中。
(2)根據(jù)當(dāng)天的日期對(duì)訂戶文件進(jìn)行查詢,刪除以到期的訂戶記錄。
(3)統(tǒng)計(jì)本期雜志訂戶數(shù)并打印運(yùn)算結(jié)果。
二.題目的分析
本題主要是要求我編一個(gè)程序來管理訂閱,包括增加和刪除用戶記錄,統(tǒng)計(jì)運(yùn)算結(jié)果。增加用戶就是在原有的文件中寫入一個(gè)新的用戶信息,但有一個(gè)前提就是用戶數(shù)不能超過10人。刪除以到期的用戶,就是從原有的文件中去掉一個(gè)用戶信息,這里需要把日期與當(dāng)天的日期進(jìn)行比較,而統(tǒng)計(jì)結(jié)果就是把文件中的用戶進(jìn)行統(tǒng)計(jì),并輸出。
三.整體設(shè)計(jì)和板塊劃分
本程序總思路
本程序有一個(gè)主函數(shù)和三個(gè)被調(diào)函數(shù),三個(gè)被調(diào)函數(shù)分別解決增加新訂戶,刪除訂戶記錄,統(tǒng)計(jì)訂戶信息打印運(yùn)算結(jié)果三個(gè)問題。
板塊劃分:
主函數(shù)
主函數(shù)
被調(diào)函數(shù)1
增加新訂戶模塊
被調(diào)函數(shù)2
刪除訂戶記錄模塊
被調(diào)函數(shù)3
統(tǒng)計(jì)訂戶信息并打印結(jié)果模塊
主要的結(jié)構(gòu)體為magzine,他包括用戶的基本信息:姓名,性別,地址,電話號(hào)碼,單價(jià),訂閱數(shù)和期限。全局變量為結(jié)構(gòu)體變量mag。主函數(shù)用的是switch語句,3個(gè)結(jié)果分別對(duì)應(yīng)3個(gè)函數(shù),便于操作。
被調(diào)函數(shù)1,解決增加新用戶的問題。先打開文件,要判斷用戶數(shù)是否超過10,然后將新的用戶信息寫入文件中,這里用的是do……while語句對(duì)文價(jià)進(jìn)行讀和寫,讀文件需要計(jì)算出訂戶數(shù),并判斷。寫即是寫入新訂戶。
被調(diào)函數(shù)2,解決刪除訂戶記錄的問題。進(jìn)行文件的讀出操作,并輸入當(dāng)天的日期,用strcmp語句與定戶信息中的期限進(jìn)行比較,如果訂戶信息中的期限與當(dāng)日的期限相同,那么在寫文件時(shí),該訂戶的記錄就不用寫入了,反之,就應(yīng)當(dāng)寫入。這樣變完成了刪除操作了。
被調(diào)函數(shù)3,統(tǒng)計(jì)用戶信息并打印運(yùn)算結(jié)果。這里主要是進(jìn)行文件的讀和寫,運(yùn)用if語句完成,統(tǒng)計(jì)結(jié)果即是根據(jù)單價(jià)和數(shù)量算出總價(jià)格并把所有的價(jià)格求和即可。然后只需輸出用戶的姓名,訂閱數(shù),單價(jià)和金額
流程圖
開始
開始
顯示一系列功能選擇
輸入n,判斷m
是否是0到3?
根據(jù)n值調(diào)用各
功能模塊函數(shù)
結(jié)束
N
開始1.增訂新用戶模塊
開始
struct magazine mag;
int n=0;
定義結(jié)構(gòu)體全局變量,打開文件
定義結(jié)構(gòu)體全局變量,打開文件
void insert(struct magazine mag)
閱讀資料,判斷是否是超過10人{(lán)
閱讀資料,判斷是否是超過10人
FILE *fp;
char ch;
if((fp=fopen("E:\\magazine","w"))==NULL)
N{
N
Y輸入新用戶信息printf("此文件不存在");
Y
輸入新用戶信息
exit(0);
}
結(jié)束do
結(jié)束
{
if(n<10)
{
printf("請(qǐng)輸入姓名:");gets(mag.name);
printf("請(qǐng)輸入性別:");gets(mag.sex);
printf("請(qǐng)輸入地址:");gets(mag.address);
printf("請(qǐng)輸入電話號(hào)碼:");gets(mag.tel);
printf("請(qǐng)輸入訂閱期限:");gets(mag.dataline);
printf("請(qǐng)輸入雜志單價(jià):");scanf("%f",&mag.price);
printf("請(qǐng)輸入訂閱數(shù):");scanf("%d",&mag.mount);
fwrite(&mag,sizeof(struct magazine),1,fp);
n++;
}
else printf(
總結(jié)
以上是生活随笔為你收集整理的完成杂志续订c语言程序,C语言程序设计报告杂志订阅管理软件.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】字符转换为 ASCII
- 下一篇: 图像处理------图像细化