




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学 院: 专 业: 姓 名: 学 号:指导老师: 前 言 C语言作为一门最通用的语言,在过去很流行,将来依然会如此。几乎每一个理工科或者其他专业的学生毫不例外地要学习它。记得大学里,很多学校都把谭浩强教授的C程序设计作为入门教材,这是绝佳的选择。然而,要更进一步,更全面而深入地学习呢?显然有点力不从心。本书正是为了弥补这个缺憾而写的,希望能对想比较全面而深入学习C语言程序设计的人有所帮助。 从C语言产生到现在,它已经成为最重要和最流行的编程语言之一。在各种流行编程语言中,都能看到C语言的影子,如Java的语法与C语言基本相同。学习、掌握C语言是每一个计算机技术人员的基本功之一。 C语言具有高级语言的强大功能,却又有很多直接操作计算机硬件的功能(这些都是汇编语言的功能),因此,C语言通常又被称为中级语言。学习和掌握C语言,既可以增进对于计算机底层工作机制的了解,又为进一步学习其他高级语言打下了坚实的基础从入门到精通:本书分上下两篇,上篇针对初学者,从C语言的基础开始,使略有计算机基础的人都能容易地学会C语言编程。下篇则介绍了C语言的高级程序设计技巧,包括常用算法、底层控制鼠标、绘图、加密、压缩等应用。 适用多种操作系统:本书实例都通过GCC编译器调试,读者不仅可在Windows环境下使用本书学习C语言,也可在Linux环境下使用本书学习C语言。循序渐进:本书编写顺序按C语言的知识点循序渐进地介绍。例如,先介绍数据的存储,再介绍数据的输入/输出;先介绍简单的程序设计概念,再介绍指针等C语言的难点。重点突出:指针是C语言的重点和难点,本书用了大量的篇幅,从不同方面对其进行讲解,并列举了大量的实例,帮助读者理解并掌握指针 目 录一、题目要求 4 二、需求分析 4三、总体设计 4四、设计图框 5五、详细设计 5六、程序运行 6七上机操作 17八、总、结 21一电影俱乐部1题目要求)要求 允许俱乐部成员租用DVD.若想成为会员,首先应签约并且按月交纳费用。会员一次可租用三个DVD,没有时间限制。可浏览所有可租用的DVD,能实现新成员的开户、会员对其账户状况的查询以及俱乐部管理者对其所交易情况的查看功能。 )提示需求分析:DVD信息和俱乐部会员信息用文件存储,提供文件的输入输出操作;注册新会员,提供文件的添加操作;实现按月缴纳费用,提供文件的修改操作;浏览信息提供显示操作;实现查询提供文件的查找操作;另外提供键盘式选择菜单以实现功能选择。总体设计:整体设计为会员注册模块、会员交费模块、会员租用DVD模块、会员归还DVD模块、信息浏览模块和信息查询模块等。2需求分析)【输入要求】应用程序运行后,在屏幕上显示一个菜单。用户可以根据需求,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。)【输出要求】应用程序运行后,要在屏幕上显示一个菜单;要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。3总体设计根据需求分析,可以对这个系统的设计分为以下几个模块:欢迎界面主菜单注册会员缴纳会费会员DVD信息浏览信息查询退出建立新档案4详细设计1)宏定义#include #include #include #include #include int n,n1; /* 全局*/ int N3;/* 记录着上次建立的档案数,从新运行程序时,不会丢上次信息*/ int yuefei=30; menu1(); quit(); menu2(); menu3(); create();/*建立档案 */ add(); /* 增加信息*/ monfei(); dvd(); search1(); search2(); printhuiyuan(); printdvd(); moon(); struct dvdA char name20; int num; int sex; int huifei; int day; int dvd1; int dvd2; int dvd3; stu1100; struct dvdB int num; char name20; int k; dd1100;2)主函数主函数一般设计得比较简洁,只提供输入输出和功能处理的函数调用。其各功能模块用菜单方式选择。本题将main()函数体内的界面选择部分语句单独抽取出来作为一独立函数,目的在于系统执行完每部分功能模块后能够方便返回到系统界面。【程序】main() printf(*欢迎使用dvd信息管理系统*n); printf(nnnn请输入管理员密码:); if(check() menu1(); else printf( 密码输入错误n); printf( *你无权使用本系统*n); quit(); )各功能模块密码验证模块int check() char a20,str=123; int count; for(count=0;counttm_mon; d=p-tm_mday; s1=m*30+d; printf(请输入档案的个数:); scanf(%d,&n); N0=n; for(i=0;in;i+) printf(请输入会员名:); scanf(%s,&); printf(请输入会员编号; ); scanf(%d,&stu1i.num); printf(请输入会员性别:男1女2:); scanf(%d,&stu1i.sex); printf(请输入充入的会费:); scanf(%d,&stu1i.huifei); stu1i.day=s1; stu1i.dvd1=stu1i.dvd2=stu1i.dvd3=0; getchar(); if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fwrite(&stu1i,sizeof(struct dvdA),1,fp); fclose(fp); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); printf(姓名 编号 性别 会费 n); printf(%4s,%5d,%5d,%4dn, ,stu2i.num,stu2i.sex,stu2i.huifei); fclose(fp); printf(请输入dvd档案的个数:); scanf(%d,&n1); N2=n1; for(i=0;in1;i+) printf(请输入dvd编号:); scanf(%d,&dd1i.num); printf(请输入dvd名; ); scanf(%s,&); dd1i.k=1; getchar(); if(fp=fopen(dvd.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in1;i+) fwrite(&dd1i,sizeof(struct dvdB),1,fp); fclose(fp); if(fp=fopen(dvd.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;itm_mon; d=p-tm_mday; s1=m*30+d; printf(请输入增加会员档案的个数:); scanf(%d,&a); for(i=n;i(n+a);i+) printf(请输入会员名:); scanf(%s,&); printf(请输入会员编号: ); scanf(%d,&stu1i.num); printf(请输入会员性别:男1女2:); scanf(%d,&stu1i.sex); printf(请输入初始的会费:); scanf(%d,&stu1i.huifei); stu1i.day=s1; stu1i.dvd1=stu1i.dvd2=stu1i.dvd3=0; getchar(); if(fp=fopen(huiyuan.txt,a+)=NULL) printf(cannot open file); exit(0); for(i=n;i(n+a);i+) fwrite(&stu1i,sizeof(struct dvdA),1,fp); fclose(fp); n=n+a; if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); printf(姓名 编号 性别 会费 n); printf(%4s,%5d,%5d,%4dn, ,stu2i.num,stu2i.sex,stu2i.huifei); fclose(fp); N0=n; if(fp1=fopen(n.txt,w+)=NULL) printf(cannot open file); exit(0); fwrite(&N0,sizeof(int),1,fp1); fclose(fp1); 缴纳会费模块monfei() FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n请输入会员姓名:n); scanf(%s,&name); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); c=strcmp(name,); if(c=0) printf(姓名 编号 性别 会费 dvd1 dvd2 dvd3 n); printf(%4s,%5d,%5d,%4d %4d %4d %4dn, ,stu2i.num,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i.dvd3); printf(请输入你要充入会费n); scanf(%d,&stu2i.huifei); fclose(fp); if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fwrite(&stu2i,sizeof(struct dvdA),1,fp); fclose(fp); 会员DVD信息模块dvd() FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n请输入会员姓名:n); scanf(%s,&name); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); c=strcmp(name,); if(c=0) printf(姓名 编号 性别 会费 dvd1 dvd2 dvd3 n); printf(%4s,%5d,%5d,%4d %4d %4d %4dn, ,stu2i.num,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i.dvd3); printf(请输入你要修改后的dvd1编号:); scanf(%d,&stu2i.dvd1); printf(n请输入你要修改后的dvd2编号:); scanf(%d,&stu2i.dvd2); printf(n请输入你要修改后的dvd3编号:); scanf(%d,&stu2i.dvd3); fclose(fp); if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;itm_mon; d=p-tm_mday; s1=m*30+d; if(fp=fopen(huiyuan.txt,a+)=NULL) printf(cannot open file); exit(0); for(i=0;i0) stu2i.huifei=stu2i.huifei-yuefei*s2; stu2i.day=s1; fclose(fp); if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fwrite(&stu2i,sizeof(struct dvdA),1,fp); fclose(fp); printhuiyuan() FILE *fp; int i; struct dvdA stu2100; if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); printf(姓名 编号 性别 会费 n); printf(%4s,%5d,%5d,%4dn, ,stu2i.num,stu2i.sex,stu2i.huifei); fclose(fp); menu2(); printdvd() FILE *fp; int i; struct dvdB dd2100; if(fp=fopen(dvd.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in1;i+) fread(&dd2i,sizeof(struct dvdB),1,fp); printf( 编号 dvd名 数量n); printf(%4d,%5s %4dn, dd2i.num,,dd2i.k); fclose(fp); menu2(); 信息查询模块search1() FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n请输入会员姓名:n); scanf(%s,&name); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); c=strcmp(name,); if(c=0) printf(姓名 编号 性别 会费 dvd1 dvd2 dvd3 n); printf(%4s,%5d,%5d,%4d %4d %4d %4dn, ,stu2i.num,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i.dvd3); break; fclose(fp); menu3(); search2() FILE *fp,*fp1; int i,c; struct dvdB dd2100; printf(n请输入dvd编号:n); scanf(%d,&c); if(fp=fopen(dvd.txt,r+)=NULL) p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保育指南考试题及答案
- 保安条例考试题及答案
- 班级管家考试题及答案
- copd的考试题及答案
- 施工原始记录管理制度
- 中医药公司经济管理制度
- 无人值守网吧管理制度
- 厂内叉车装载机管理制度
- 安全员机械设备管理制度
- 大润发门店品类管理制度
- 夹具考试题及答案
- 青海省消防救援总队招聘消防文员笔试真题2024
- 浙江洁普斯清洁设备有限公司年产11万台清洗机技改项目环评报告
- 2025至2030军工装备行业市场发展现状及竞争形势及有效策略与实施路径评估报告
- 兵团精神试题及答案
- 村寨垃圾收费管理制度
- 江苏保安证考试题及答案
- 广东省深圳市光明区2025年八年级下学期期末数学试题及答案
- 建设工程总包合同EPC课件
- 智联银行笔试题库及答案
- 高校学生资助诚信教育主题班会
评论
0/150
提交评论