C语言课程设计杂志阅读管理软件

上传人:沈*** 文档编号:79880813 上传时间:2022-04-24 格式:DOC 页数:20 大小:161.50KB
收藏 版权申诉 举报 下载
C语言课程设计杂志阅读管理软件_第1页
第1页 / 共20页
C语言课程设计杂志阅读管理软件_第2页
第2页 / 共20页
C语言课程设计杂志阅读管理软件_第3页
第3页 / 共20页
资源描述:

《C语言课程设计杂志阅读管理软件》由会员分享,可在线阅读,更多相关《C语言课程设计杂志阅读管理软件(20页珍藏版)》请在装配图网上搜索。

1、C语言课程设计题目名称: 姓 名: 学 号:班级序号:指导老师: 目录前言 * 2设计思路及要求 * 31.程序设计思路 * 32.程序设计要求 * 3程序总体设计流程图 * 5功能模块的调试和测试 * 51.增加订户模块 * 62.删除过期订户 * 73.输出所有信息 * 84.统计本月订户 * 95.查询用户 * 10程序设计的原代码 * 11结束语 * 18前言C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。C语言是一种结构化语言。它层次清晰,便于按模块化

2、方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。因此,它的应用范围广泛。C语言在很多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到C语言的。具体应用比如我是学硬件的,单片机以及嵌入式系统都可以用C来开发。C 语言发展如此迅速, 而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件, 如DBASE PLUS、DBASE 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 像PC- DOS 、WORD

3、STAR等就是用这种方法编写的。在信息化迅速更新的今天,计算机已经普及,而C语言为计算机的更新换代提供了很好的基础平台,作为当代的大学生学好C语言是很重要的。为此学校为我们提供了提高C语言专业知识的载体,为我们开设了C语言上机实习课程。设计思路及要求程序设计思路C语言程序设计主要是利用C语言的设计操作能力设计出一个杂志订阅管理系统,一个完整的杂志订阅管理软件至少应该具有:(1)能够提供文件的储存、输入、输出、删除等操作;(2)能够提供文件的添加操作,增加新用户等操作;(3)能够提供文件的查询,查找等操作;(4)能够通过文件的删除操作纪实删除已到期的订户记录;(5)能够提供统计和显示操作统计本期

4、杂志本期用户数并打印运算结果;(6)另外文件还要具备提供键盘式选择菜单以实现功能选择.程序设计要求C语言程序的设计需要明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识,提高学生用高级语言进行程序设计的能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平,并能够初步了解软件开发的一般方法和步骤,提高撰写技术文档的能力。而对于本次程序设计的要求则是:使用计算机对一种杂志的订阅进行管理,该杂志拥有的最多用户不能超过10人,每个订户的信息包括:姓名,性别,地址,电话号码,杂志单价,订阅数,订阅的期限(至*年*月)。要求用菜单选择并完成下述功能:(1) 增加新用户,

5、即将订户的全部信息输入的文件中;(2) 根据当天的日期对订户文件进行查询,删除已到期的订户记录:(3) 统计本期杂志订户数并打印运算结果:本期订户信息表订户名 订阅数 单价 金额李平 2 5.5 11.0黄海 1 5.5 5.5合计 3 1.0 16.5程序总体设计流程图功能模块的调试和测试1.增加订户模块 2.删除过期订户在上图中我假设当前时间为20080808对文件中订户信息进行更新。下面来看看保存有订户信息的文本文件中的数据情况。在上图中我们可以看出所有的到期时间在20080808之前的订户的信息都被一段特殊的信息所代替。3.输出所有信息在上图中我输出了在MSG.txt中的所有订户的信息

6、。4.统计本月订户上图中假设这个月是20080808。注意这个功能与删除过期订户的差异,统计功能只是输出文件中没有过期的订户,而没有在文件中将过期的订户删除,而删除过期订户在文件中将过期的订户删除。5.查询用户以上是查询姓名是xiao的订户的信息。 程序设计的原代码#include stdio.h#include string.h#include stdlib.htypedef struct msgchar name20;char sex10;char dialnumber11; int count; float price; float money; char date20;char rea

7、deraddr50;msgnode;void Start()printf(*n);printf(* WRITEN BY DAVID X.H. OF CUG *n);printf(* *n);printf(* *n);printf(* DAVID X.H. ALL RIGHTS RESERVED *n);printf(*n);void TextOut()printf(ttwanna check message,press-0.nn); printf(ttwanna ADD a new reader,press-1.nn);printf(ttwanna update the message tab

8、le,press-2.nn);printf(ttwanna output all the message ,press-3.nn);printf(ttwanna display readers this month. ,press-4.nn);printf(ttwanna exit,press-5.nn);int CheckDateMon(char * date) char chdate3; chdate0=date5; chdate1=date6; chdate2=0; return atoi(chdate);int CheckDateDay(char * date)char chdate3

9、;chdate0=date8;chdate1=date9; chdate2=0; return atoi(chdate);int AddReader()FILE *fp; msgnode ad; if(fp=fopen(MSG.txt,at)=NULL)printf(Cannot open the file or Cannot find the file.please check out .n); getch(); return 0;printf(input start. _ n); printf(please input the name: _ n); scanf(%s,ad.name);p

10、rintf(please input the sexmale/female: _ n); scanf(%s,ad.sex);printf(please input the dialnumber: _ n); scanf(%s,ad.dialnumber); printf(please input the count: _ n); scanf(%d,&ad.count); printf(please input the price: _ n); scanf(%f,&ad.price); printf(please input the date: _ n); scanf(%s,ad.date);

11、while(ad.date4!=.| ad.date7!=.| strlen(ad.date)!=10 |CheckDateMon(ad.date)=13|CheckDateDay(ad.date)=32)printf(the format is not right or the date is not existed.n ); printf(You should input the date like this YYYY.MM.DDn);printf(please input the date again: _ n); scanf(%s,ad.date);printf(please inpu

12、t the address of reader: _ n); scanf(%s,ad.readeraddr); fprintf(fp,%15s %8s %13s %7d %7.2f %10.2f %13s %-50sn,ad.name,ad.sex,ad.dialnumber,ad.count,ad.price,ad.count*ad.price,ad.date,ad.readeraddr); fclose(fp); return 1;int UpdateMsg(char *currdate)msgnode currnode,movenode ; int i=0,j=0; FILE *fp;

13、if(fp=fopen(MSG.txt,rt+)=NULL)printf(%s n,Cannot open the file or Cannot find the file.please check out .); return 0;i=ftell(fp); fscanf(fp,%s%s%s%d%f%f%s%s ,currnode.name,currnode.sex,currnode.dialnumber,&currnode.count,&currnode.price,&currnode.money,currnode.date,currnode.readeraddr); j=ftell(fp)

14、;j=j-i;rewind(fp);while(!feof(fp)fscanf(fp,%s%s%s%d%f%f%s%s ,currnode.name,currnode.sex,currnode.dialnumber ,&currnode.count,&currnode.price,&currnode.money,currnode.date,currnode.readeraddr);if(feof(fp)break;if(strcmp(currdate,currnode.date)0) fseek(fp,-j,1); fprintf(fp,%15s %8s %13s %7d %7.2f %10.

15、2f %13s %-50s ,NULL,NULL,NULL,0,0.0,0.0,9999.99.99,NULL); fseek(fp,2L,1); return 1;int OutputAll()FILE *fp; msgnode oa; int allcount=0; float allmoney=0; if(fp=fopen(MSG.txt,rt)=NULL)printf(Cannot open the file or Cannot find the file.please check out .n); getch();return 0; printf(%15s %8s %13s %7s

16、%7s %10s %13s %-50sn,readername ,readsex ,number ,count ,price ,moneysum ,date ,readeraddress); while(!feof(fp)fscanf(fp,%s%s%s%d%f%f%s%s,oa.name,oa.sex,oa.dialnumber,&oa.count,&oa.price,&oa.money,oa.date,oa.readeraddr);if(feof(fp)break; allcount+=oa.count; allmoney+=oa.money;if(strcmp(oa.sex,NULL)

17、printf(%15s %8s %13s %7d %7.2f %10.2f %13s %-50sn,oa.name,oa.sex,oa.dialnumber,oa.count,oa.price,oa.money, oa.date,oa.readeraddr); printf(%15s %8s %13s %7d %7.2f %10.2f %13s %-50sn,heji,-,-,allcount,-,allmoney,2007.09.04,-);return 1;int CheckReader(char *name)FILE *fp; int i,j; char ch; msgnode cr;

18、if(fp=fopen(MSG.txt,rt)=NULL)printf(Cannot open the file or Cannot find the file.please check out .);getch(); return 0;i=ftell(fp); fscanf(fp,%s%s%s%d%f%f%s%s,cr.name,cr.sex,cr.dialnumber,&cr.count,&cr.price,&cr.money,cr.date,cr.readeraddr); j=ftell(fp); rewind(fp); j=j-i;while(!feof(fp)fscanf(fp,%s

19、%s%s%d%f%f%s%s,cr.name,cr.sex,cr.dialnumber,&cr.count,&cr.price,&cr.money,cr.date,cr.readeraddr); i=ftell(fp);if(!strcmp(cr.name,name)printf(The reader you are checking is existed in the list.n);fseek(fp,-j,1); fscanf(fp,%s%s%s%d%f%f%s%s ,cr.name,cr.sex,cr.dialnumber,&cr.count ,&cr.price,&cr.money,c

20、r.date,cr.readeraddr);if(feof(fp)break; printf(%15s %8s %13s %7d %7f %10f %13s %-50sn ,cr.name,cr.sex,cr.dialnumber,cr.count ,cr.price,cr.money,cr.date,cr.readeraddr);return 1;int DisplayReader(char *date)FILE *fp; int i,j; msgnode cr; if(fp=fopen(MSG.txt,rt)=NULL)printf(Cannot open the file or Cann

21、ot find the file.please check out .);getch(); return 0;while(!feof(fp)fscanf(fp,%s%s%s%d%f%f%s%s,cr.name,cr.sex,cr.dialnumber,&cr.count,&cr.price,&cr.money,cr.date,cr.readeraddr);if(feof(fp)break;if(!strcmp(9999.99.99,cr.date)continue;if(strcmp(date,cr.date)0 ) printf(%15s %8s %13s %7d %7f %10f %13s

22、 %-50sn ,cr.name,cr.sex,cr.dialnumber,cr.count ,cr.price,cr.money,cr.date,cr.readeraddr);return 1;main() char str30;int ch;Start();TextOut();scanf(%d,&ch);while(ch!=5)if(ch=0)printf(Please input the name you wanna index: _n);scanf(%s,str);if(CheckReader(str)printf(You have successfully index the rea

23、der!n); TextOut();scanf(%d,&ch);continue ; if(ch=1)if(AddReader()printf(You have successfully add a reader!n);TextOut();scanf(%d,&ch);continue ;if(ch=2)printf(Please input the current date: _n);scanf(%s,str); if(UpdateMsg(str)printf(You have successfully update the list!n);TextOut();scanf(%d,&ch);co

24、ntinue ;if(ch=3) if(OutputAll()printf(You have successfully output the list!n);TextOut();scanf(%d,&ch);continue ;if(ch=4)printf(Please input the month you wanna display: _n);scanf(%s,str);if(DisplayReader(str)printf(You have successfully all the readers this month!n);TextOut();scanf(%d,&ch);continue

25、 ;else return;结束语通过近八天的C语言上机实习,我基本掌握了程序设计的基本方法和步骤。程序设计的基础就是基本的C语言知识,无论设计什么样的程序最重要的就是要有自己的设计思路,设计理念,设计过程中当然不能避免会出现漏洞,这需要我们利用所学到的C语言知识大胆的尝试,只有这样我们才能在错误中不断的进步。学习和练习C程序的设计是一个漫长的过程,这需要我们要有持之以恒的学习态度和不懈的努力。在当今信息社会高度发展的今天,C语言的重要性是不言而喻的,而实践设计则是巩固C语言的重要渠道之一。学好C语言无论是对自身素质的提高还是以后走向工作岗位都是很重要的。在这近八天的时间里,我学到了很多知识,这些少不了老师的辛苦指导,同学之间的帮助,相互鼓励,以及相互探讨,这些给了我极大的信心和跨越式的进步。在此感谢老师的辛苦指导和同学们的帮助,同时还要感谢为教育事业做出贡献的工作人员!20

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!