




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档C语言课程设计报告Experiment Designing reporter课程名称 : C语言课程设计英文名称 : C Program Experiment Designing 专 业 : 学 号 :姓 名 :指导教师 : 日 期: 2010年 7 月 12日至 2010年7 月 23日学院.C语言课程设计报告C Program Experiment Designing 课程编号:01200308005 学时: 40学时适用专业:软件工程专业 授课单位:软件学院一、 C语言课程设计目的及要求目的:根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。要求:1 熟悉Turbo C 的编程环境、主要菜单功能。2 通过上机验证运算符、表达式、运算规则、函数使用。3 熟练使用C语言的典型语句编写简单程序。4 调试典型例题或习题。5 提高上机编程能力二、 实验类型设计类型三、 实验学时40学时四、 实验设备微型计算机、WINDOWS XP以上版本的操作系统、Turbo C2.0 软件一套五、 C语言课程参考教材:1 黄明等. C语言程序设计辅导教材.大连理工大学出版社,20062 李瑞等.C程序设计基础,清华大学出版社,20083 谭浩强.C语言程序设计(第二版).北京:高等教育出版社,2002课程设计(报告)任务书任务及要求:1. 设计(研究)内容和要求研究内容:1、输入实型数a、b、c,要求按由大到小的顺序输出(函数参数要用指针)。 2、编写一个通用的子函数,将一个一维数组进行逆序存储(第一个元素与最后一个元素值互换,依次类推.)。 3、编写一个通用的求nn阶矩阵的对角线元素之和。 4、编写程序,输入10个员工的编号、姓名、基本工资、职务工资,求出“基本工资+职务工资”最少的职工(要求用子函数完成),并输出该职工记录。 5、有5个学生4门课,编写程序算出4门课的总成绩,并按总成绩进行排序,然后打印出成绩表。 6、用户由键盘输入一个文件名,然后输出一串字符(用#结束输入),存放到此文件并将字符的个数写到文件尾部。 7、有5个学生,每个学生有三门课的成绩。从键盘输入以上数据(包括学生号、姓名号、三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存在磁盘文件stud中。 8、学生成绩管理系统。任务和要求:(1)学习C语言基础知识,掌握C语言编程和程序调试的基本技能。(2)对指导教师下达的题目进行系统分析。(3)根据分析结果完成系统设计。(4)编程:在计算机上实现题目的代码实现。(5)完成对该系统的测试和调试。(6)提交课程设计报告。(7)指标:要求完成课程设计报告3千字以上(约二、三十页).完成若干综合性程序设计题目,每个综合设计题目的语句行数的和在300行语句以上.2.原始依据了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目,提高用C语言解决实际问题的能力。3.参考文献1 黄明等. C语言程序设计辅导教材.大连理工大学出版社,20062 马靖善等.C语言程序设计.清华大学出版社,20053 谭浩强.C语言程序设计(第二版).北京:高等教育出版社,2002 2010年7月12日.目录C语言课程设计报告11 按大小排序输出11.1 系统分析11.2 设计说明11.3程序运行截图11.4 源程序代码22 逆序存储22.1 功能说明22.2 设计说明22.3 程序运行截图32.4 源程序代码33 nn阶矩阵的对角线元素之和43.1 功能说明43.2 设计说明43.3 程序运行截图53.4 源程序代码54 职工信息管理64.1 系统分析64.2 设计说明64.3 程序运行截图74.4 源程序代码75 学生成绩处理85.1 系统分析85.2 设计说明85.3 程序运行截图95.4 源程序代码96 文件处理116.1 系统分析116.2 设计说明116.3 程序运行截图116.4 源程序代码127 成绩存储127.1 系统分析127.2 设计说明127.3 程序运行截图137.4 源程序代码138图书馆借阅管理系统148.1 系统分析148.2 设计说明141.进入系统(如图1)142.功能说明:148.3 程序运行截图168.4 源程序代码17说明:学生打印稿不能出现,字体要求等说明文字.1 按大小排序输出1.1 系统分析输入实型数a、b、c,要求按由大到小的顺序输出(函数参数要用指针)。1.2 设计说明1、子函数,交换两个地址的数值函数名:swap()返回值:无参数:float *x、float *y,含义:指针(指向数值)处理流程:Step1:定义变量z,作为交换时的暂存变量。Step2:将数值*x赋给zStep3:将数值*y赋给*xStep4:将数值z赋给*y2、主函数main():从键盘上输入a、b、c三个数,然后进行判断三个变量中数值的大小关系。调用子函数swap()交换,使最终结果为abc。最后输出a、b、c。1.3 程序运行截图1.4 源程序代码#include stdio.hvoid swap(float *x,float *y)float z;z=*x;*x=*y;*y=z;void main()float a,b,c;scanf(%f%f%f,&a,&b,&c);if(ab)swap(&a,&b);if(ac)swap(&a,&c);if(bc)swap(&b,&c);printf(After swap:a=%f,b=%f,c=%fn,a,b,c);2 逆序存储 2.1 功能说明编写一个通用的子函数,将一个一维数组进行逆序存储(第一个元素与最后一个元素值互换,依次类推.)。 2.2 设计说明1、子函数:(1)子函数1,交换xi与xn-i-1的数值 函数名:afterward()返回值:无参数:float *x,,含义:数组首地址;int n,含义:数组元素个数。处理流程:Step1:定义变量z,作为交换时的暂存变量;定义变量i,循环时使用。Step2:在for循环时交换xi与xn-i-1的数值。(2)子函数2,输出数值 函数名:printarray() 返回值:无 参数:float *x,,含义:数组首地址;int n,含义:数组元素个数 处理流程:Step1:定义变量i,循环时使用。Step2:在循环时输出数值。2、主函数main()从键盘上输入10个数,给一维数组xn赋初值。调用afterward()交换xi与xn-i-1的数值。再调用printarray(),输出交换后数值。2.3 程序运行截图2.4 源程序代码#include stdio.hvoid afterward(float *x,int n)float z;int i;for(i=0;in/2;i+)z=*(x+i);*(x+i)=*(x+n-1-i);*(x+n-1-i)=z;void printarray(float *x,int n)int i;for(i=0;in;i+)printf(%f ,xi);printf(n);main()float a10=1.,2.,3.,4.,5.,6.,7.,8.,9.,10.;afterward(a,10);printarray(a,10);3 nn阶矩阵的对角线元素之和3.1 功能说明编写一个通用的求nn阶矩阵的对角线元素之和。 3.2 设计说明1、N的定义:#define N 42、子函数,将对角线上的数值相加。 函数名:corner()返回值:sum,对角线上数值之和。参数:int *x,含义:数组首地址;int n,含义:数组行列数。处理流程:Step1:定义变量sun,存放对角线上数值之和的数值;定义变量i,循环时使用。Step2:在for循环时将行列数相等的数组数值加到变量sun中。Step3:判断另一条对角线上的数是否加重复,即是否为奇数矩阵的对角线中心。Step4:若为奇数矩阵的对角线中心数,则不加入sun,若不是奇数矩阵的对角线中心数,则加入sun中。3、主函数main()定义二维数组aN,给二维数组aN赋初值116(如下图)。定义sum,再调用corner()计算对角线上的数值,将值赋给sum,输出数值sum。3.3 程序运行截图3.4 源程序代码#define N 4#include stdio.hint corner(int *x,int n)int i,sum=0;for(i=0;in;i+)sum=sum+*(x+i);if(x+i!=x+n-1-i)sum+=*(x+n-i-1);x=x+n;return sum;void main()int aNN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;int sum;sum=corner(*a,4);printf(%dn,sum);4 职工信息管理4.1 系统分析编写程序,输入10个员工的编号、姓名、基本工资、职务工资,求出“基本工资+职务工资”最少的职工(要求用子函数完成),并输出该职工记录。4.2 设计说明1、结构体employee的定义:int num,员工编号 char name20,员工姓名 float jbgz,员工基本工资 float zwgz,员工职务工资float sum,工资总和=基本工资+职务工资2、子函数: 子函数(1):函数名:sum()返回值:无参数:struct employee *p,含义:员工信息;int n,含义:数组元素个数。处理流程:Step1:定义i,循环时使用。Step2:在for循环的同时,将jbgz与zwgz的和赋值给sum。子函数(2):函数名:find ()返回值:无参数:struct employee *p,含义:员工信息;int n,含义:数组元素个数。处理流程:Step1:定义i,循环时使用。Step2:在for循环的同时,判断选出sum最小的员工。Step3:输出员工的基本信息。3、主函数main()首先进行函数的声明,定义员工的基本信息(举例为五个员工,信息如下图),调用函数sum()和find (),输出结果。4.3 程序运行截图4.4 源程序代码#include stdio.hstruct employeeint num; char name20; float jbgz; float zwgz; float sum;void main()void sum(struct employee *,int); void find(struct employee *,int); struct employee a10=11,wang Li,660.,760.,0., 13,wang Lin,690.,740.,0., 16,Liu Hua,860.,760.,0., 14,Zhang Jun,660.,660.,0., 22,Xu Xia,650.,760.,0.; sum(a,5); find(a,5);void sum(struct employee *p,int n)int i; for(i=0;isum=p-jbgz+p-zwgz; p+;void find(struct employee *p,int n)struct employee *pmax=p; int i; for(i=1;isumpmax-sum) pmax=p+i;printf(The persons information:nnumber=%d,nname=%s,nbasic salary=%.2f,njob salary=%.2f,ntotal=%.2fn,pmax-num,pmax-name,pmax-jbgz,pmax-zwgz,pmax-sum);5 学生成绩处理5.1 系统分析有5个学生4门课,编写程序算出4门课的总成绩,并按总成绩进行排序,然后打印出成绩表。5.2 设计说明1、结构体student的定义:int num,学生学号char name20,学生姓名char sex,学生性别float s4,学生四门课的成绩float sum,学生成绩总和2、子函数: 子函数(1):函数名:sum ()返回值:无参数:struct student *p,含义:学生信息;int n,含义:结构体个数。处理流程:Step1:定义i、j,循环时使用。定义变量d。Step2:在for循环的同时,将各成绩之和的和赋值给d,在将d的数值赋给sum。子函数(2):函数名:sort ()返回值:无参数:struct student *p,含义:学生信息;int n,含义:结构体个数。处理流程:Step1:定义i、j,循环时使用。定义变量k。Step2:在for循环的同时,按sum数值由小到大排列学生信息。子函数(3):函数名:print ()返回值:无参数:struct student *p,含义:学生信息;int n,含义:结构体个数。处理流程:Step1:定义i,循环时使用。Step2:在for循环的同时,将排列好的学生信息输出。3、主函数main()首先进行函数的声明,定义学生的基本信息(举例为五个学生,信息如下图),调用函数sum ()、sort ()和print (),输出结果。5.3 程序运行截图5.4 源程序代码#include stdio.hstruct studentint num;char name20;char sex;float s4;float sum;void main()void sum(struct student *,int);void sort(struct student *,int);void print(struct student *,int);struct student a5=11,wang li,f,66.,76.,83.,61.,0.,13,wang lin,m,69.,74.,63.,91.,0.,16,liu hua,m,86.,76.,93.,61.,0.,14,zhang jun,m,66.,66.,83.,61.,0.,22,xu xia,f,65.,76.,93.,68.,0.,;sum(a,5);sort(a,5);print(a,5);void sum(struct student *p,int n)int i,j;float d;for(i=0;in;i+)d=0.0;for(j=0;jsj;p-sum=d;p+;void sort(struct student *p,int n) struct student t;int i,j,k; for(i=0;in-1;i+)k=i;for(j=i+1;jsumsum) k=j;if(k!=i)t=*(p+i);*(p+i)=*(p+k);*(p+k)=t;void print(struct student *p,int n) int i; for(i=0;inum,p-name,p-sex,p-s0,p-s1,p-s2,p-s3,p-sum); p+; 6 文件处理6.1 系统分析用户由键盘输入一个文件名,然后输出一串字符(用#结束输入),存放到此文件并将字符的个数写到文件尾部。6.2 设计说明1、主函数main()定义文件fp,字符(串)变量ch,fname32,定义整型变量count。输入文件名(若不存在,则退出程序),输入字符串(以#结束)。程序将文件中的字符数统计后写入文件尾部。6.3 程序运行截图6.4 源程序代码#includestdio.hmain( )FILE *fp; char ch,fname32; int count=0; printf(Input the filename :); scanf(%s,fname); if(fp=fopen(fname ,w+)=NULL)printf(Cant open file:%s n,fname); exit(0); printf(Enter data:n); while(ch=getchar()!=#)fputc(ch,fp); count+;fprintf( fp,n%dn, count);fclose(fp); 7 成绩存储7.1 系统分析有5个学生,每个学生有三门课的成绩。从键盘输入以上数据(包括学生号、姓名号、三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存在磁盘文件stud中。7.2 设计说明1、结构体student的定义:char name10;学生姓名 int s3;三门课的成绩 float ave;各科平均分2、主函数main()定义文件fp,结构体student st5,变量i,打开文件stud(若不存在,则退出程序),输入学生信息,并计算平均分。然后将原有数据和计算出的平均分数存在磁盘文件stud中。7.3 程序运行截图7.4 源程序代码#include stdio.hstruct student char name10; int s3; float ave;main( )FILE *fp;int i; struct student st5; if(fp=fopen(stud,w)=NULL) printf(cannot open filen); exit(0); for(i=0;i5;i+) printf(number%d input name and 3 scores:n,i+1);scanf(%s%d%d%d,&,&sti.s0,&sti.s1,&sti.s2); sti.ave=(sti.s0+sti.s1+sti.s2)/3.0; fprintf(fp, %s %d %d %dn, ,sti.s0,sti.s1,sti.s2);fclose(fp);8图书馆借阅管理系统8.1 系统分析建立图书馆借阅管理系统,采用计算机对图书馆进行图书管理、会员管理、工作人员信息查询和图书馆反馈信息的查询。8.2 设计说明1.进入系统(如图1)2.功能说明:1)图书管理功能(1)增加图书: 将新进的图书添加到图书库中,便于管理!通过bookadd函数实现;用户需按ALTB组合键,选择Book功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Add选项,按回车键进入图书添加功能,窗口中会显示Please input the book num的提示话语,用户输入书号即可;(如图2、图3)(2)删除图书:删除丢失或废弃的图书。通过bookdel函数实现;用户需按ALTB组合键,选择Book功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Del选项,按回车键进入图书删除功能,窗口中会显示Please input the book name的提示话语,输入书名,点击回车,所要删除的图书即可删除;(如图4)(3)查询图书:对已经加入到图书库中的图书进行查询(书号,书名,书的价钱等),通过bookconsult函数实现;用户需按ALT+B组合键,选择Book功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Consult选项,按回车键进入图书查询功能,窗口中会显示Please input the book name的提示话语,用户输入书名,系统会显示图书的编号,书名,价钱及借阅情况等;(如图4)(4)图书的借阅:对于借阅的图书进行记录,便于管理,通过bookborrow函数实现;用户需按ALTB组合键,选择Book功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Borrow选项,按回车键进入图书借阅功能,窗口中会显示Please input the member name的提示话语,输入会员名即可,若是非会员,窗口则显示You are not member,please register!的提示话语;(如图5)(5)图书的归还: 对于借出图书后的归还进行记录,并将图书返回书库。通过Bookreturn函数实现;用户需按ALTB组合键,选择Book功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Return选项,按回车键进入图书归还功能,窗口中会显示Please input the book name的提示话语,输入书名即可,若是非书库中的书,窗口会显示Return Fail!的提示话语。(如图6)2)会员管理功能(1)添加会员:添加已经办理好会员手续的人资料,便于管理!通过memberadd函数实现;用户需按ALTM组合键,选择Member功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Add选项,按回车键进入会员添加功能,窗口中会显示Please input new member name的提示话语,输入姓名即可,然后用户输入会员的性别和年龄,按回车键添加成功;(如图7)(2)删除会员:对退出会员的人进行删除。通过memberdel函数实现;用户需按ALTM组合键,选择Member功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Del选项,按回车键进入会员删除功能,窗口中会显示Please input the member name的提示话语,输入会员姓名即可,按回车键,即删除成功;(3)会员查询:对于会员进行查询(姓名,性别,年龄)通过consult函数实现;用户需按ALTM组合键,选择Member功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Consult选项,按回车键进入会员查询功能,先要输入系统密码方可输入,进入之后,窗口中会显示Please input the member name的提示话语,输入姓名即可,然后窗口中会显示会员的信息;若是非会员,窗口会显示No found this book!的提示话语;(如图8)(4)会员与书:记录会员曾经借阅的图书等资料,便于综合管理!通过member&book来实现;用户需按ALTM组合键,选择Member功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Member&Book选项,按回车键进入会员会员与书功能,窗口中会显示Please input he member name的提示话语,输入会员姓名,即可查询到会员借书。3)图书馆职工信息查询(1)图书馆领导信息的查询:对领导信息查询,方便读者对图书馆的 监督,可以对图书馆的管理提出一些宝贵意见,通过Leader函数实现;用户需按ALTW组合键,选择Worker功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Leader选项,按回车键进入领导信息查询功能,窗口中会弹出图书馆领导的信息;(如图9)(2)图书馆职员信息的查询:对职员信息查询,方便读者对图书馆职员服务上进行监督及提出一些宝贵意见,通过Worker函数实现;用户需按ALTW组合键,选择Worker功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Worker选项,按回车键进入职工信息查询功能,窗口中会弹出图书馆职员的信息。(如图10)4)图书馆反馈信息添加及查询(1)图书的反馈信息添加:读者可以通过这项功能来对图书馆的图书提出自己的一些看法及意见,方便其他读者了解此书;通过cbook函数实现;用户需按ALTF组合键,选择Feedback功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Comment book选项,按回车键进入图书反馈信息添加功能,窗口中会显示Please input the book name的提示话语,输入书名,点击回车,窗口中会显示suggestion的提示话语,读者可根据书的情况,来写出自己的建议;(如图11)(2)图书馆职员反馈信息添加:读者可以通过这项功能来对图书馆的职服务提出建议及批评;通过cstaff函数实现;用户需按ALTF组合键,选择Feedback功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Comment staff选项,按回车键进入职工反馈信息添加功能,窗口中会显示Please input the staff name的提示话语,输入职工名,点击回车,窗口中会显示suggestion的提示话语,读者可根据职工服务情况,来写出自己的建议。(如图12)(3)反馈信息的查询:读者可以通过查询来对图书的情况及职员情况来来查询,方便及时了解。通过commentbook及commentstaff函数实现;用户需按ALTF组合键,选择Feedback功能菜单,待下拉菜单弹出之后,用户调整方向键,选择Consult选项,按回车键进入反馈信息查询功能,窗口中会显示You want consult Book or Staff的提示话语,如果用户想要查询图书反馈信息,按B或b即可。如果用户想要查询职工反馈信息,按S或s即可。输入书名或职工名,即可查询到反馈信息。(如图13)3.退出系统(如图14)8.3 程序运行截图图18.4 源程序代码#include #include #include #include #include #include #include#define LEFT 0x4b00 /*左*/#define RIGHT 0x4d00 /*右*/#define DOWN 0x5000 /*下*/#define UP 0x4800 /*上*/#define SPACE 0x3920 /*空格*/#define ESC 0x011b /* ESC键*/#define ENTER 0x1c0d /*回车键*/#define Backspace 0xe08 /*擦除键*/#define ALT_B 12288 /*组合键ALT_B */#define ALT_M 12800/*组合键ALT_M */#define ALT_H 8960/*组合键ALT_H */#define ALT_W 4352#define ALT_F 8448#define b 98#define B 66#define s 115#define S 83int key;/*按键变量*/int textx,texty;/*光标坐标,x行,y列*/struct menustruct/*菜单用的结构体*/ char name10;/*主菜单名*/ char str1020;/*选项*/ int n;/*选项数*/ml5;/*使用了3个,可根据需要增删*/typedef struct BookList/*书的结构体*/ char num20;/*图书编号*/ char name20;/*书名*/ char price20;/*书的价格*/ int person;/*借阅人*/ int yes;/*判断书是否存在或者已经借出,1存在,0借出*/ struct BookList *next;Book;typedef struct MemberList/*会员的结构体*/ char name20;/*会员的姓名*/ char sex2;/*会员的性别*/ int age;/*会员的年龄*/ struct MemberList *next;Member;typedef struct workerlist char num50;/*职工编号*/ char name20;/*职工的名字*/ char position50;/*职工的职位*/LEADER;typedef struct Commentlist char name20; char suggestion1000; COMMENT;char save4096;/*保存文本区域空间*/char c4096;/*清屏专用空间*/int i,j,k,r=0;/*常用变量*/void Menu();/*初始化界面*/void Selectitem();/*定义菜单*/void DrawSelectitem();/*显示主菜单*/void BlackText(int x,int y,char *z);/*选中菜单*/void RedText(int x,int y,char *z);/*正常菜单*/void Run();/*具体操作过程*/void DrawMl(int n);/*显示下拉菜单*/void MoveMl(int n,int x);/*菜单选项的控制*/void Enter(int m,int n);/*菜单选项的具体功能*/void BookAdd();/*添加图书*/void BookConsult();/*图书查询*/void BookDel();/*删除图书资料*/void BookBorrow();/*借书*/void BookReturn(); /*还书*/void MemberAdd(); /*增加会员*/void MemberConsult();/*查询会员*/void MemberDel(); /*删除会员*/void MemberBook(); /*查询会员借书信息*/void leader();void worker();void CommentConsult();void cbook();void cstaff();void CommentStaff();void CommentBook();void ClrScr();/*自定义清屏函数*/void DrawFrame(int left,int up,int right,int down,int textcolor,int backgroundcolor);/*画边框*/*会员注册*/void MemberAdd()FILE *fp; Member consultmember; fp=fopen(member.txt,rb); if(fp=NULL)/*如果没会员就新建*/ fp=fopen(member.txt,wb); else/*如果有会员就添加*/ fclose(fp); fp=fopen(member.txt,ab);/*追加方式打开*/ ClrScr(); gotoxy(2,3); printf(Intput new member name: );/*逐个输入会员的资料*/ gets(); gotoxy(2,4); printf(Input member sex: ); gets(consultmember.sex); gotoxy(2,5); printf(Please input member age: ); scanf(%d%*c,&consultmember.age); fwrite(&consultmember,sizeof(Member),1,fp);/*写入记录*/ fclose(fp); ClrScr();/*查询会员*/void MemberConsult() FILE *fp; Member consultmember; char membername20; int flag=0; gotoxy(2,3); ClrScr(); gotoxy(2,3); printf(Input the member name: );/*输入要查询的会员名*/ gets(membername); fp=fopen(member.txt,rb); if(fp=NULL)/*没找到文件*/ ClrScr(); gotoxy(2,3); printf(Error!); fclose(fp); return; while(!feof(fp)/*查询会员资料*/ fread(&consultmember,sizeof(Member),1,fp); if(strcmp(,membername)=0)/*比较*/ ClrScr(); gotoxy(2,3); printf(This member %s information as follow:,); gotoxy(2,4); printf(This membersex is %s,consultmember.sex); gotoxy(2,5); printf(This member s age is %d,consultmember.age); flag=1; break; if(flag=0) ClrScr() ; gotoxy(2,3); printf(No found this member!); fclose(fp);/*删除会员资料*/void MemberDel() FILE *fp; Member *head,*p,*q; char membername20; fp=fopen(member.txt,rb); if(fp=NULL)/*没找到文件*/ gotoxy(2,3); printf(Error!); fclose(fp); return; head=p=q=(Member*)malloc(sizeof(Member);/*将文件内容放入链表*/ fread(p,sizeof(Member),1,fp); while(!feof(fp) q=p; p=(Member*)malloc(sizeof(Member); fread(p,sizeof(Member),1,fp);/*读记录*/ q-next=p;/*链入到链表的尾部*/ p-next=NULL; fclose(fp); ClrScr(); printf(Input the member name: );/*输入会员名*/ gets(membername); p=head; while(p!=NULL)/*按名字查找要删除的书*/ if(strcmp(p-name,membername)=0)/*查找会员*/ if(p=head) head=head-next;/*如果是第一条记录*/ else q-next=p-next;/*不是第一条记录*/ break; q=p; /*没找到,则指针后移继续找*/ p=p-next; fp=fopen(member.txt,wb);/*删除后重新保存*/ while(head!=NULL) fwrite(head,sizeof(Member),1,fp);/*块写*/ head=head-next; fclose(fp); ClrScr();/*查询会员所借的图书*/void MemberBook() FILE *fp; Book consultbook; Member consultmember; char bookname20,membername20; int flag=0,mflag=0,i=0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技互联网产业风险管理与合规体系建设报告
- 城市更新中历史文化街区保护与开发的社区参与路径研究报告
- 物理法则的现代应用试题及答案
- 社交电商裂变营销:从内容营销到社群运营的全面解析
- 维保考试题及答案
- 科技互联网行业人工智能算法优化与性能提升策略研究报告
- 2025年智能仓储物流系统智能化改造成果鉴定报告
- 小学教师教学反思改进试题及答案
- 新能源汽车安全技术考试试题及答案
- 数学一诊试题及答案
- 整装定制合同协议
- 产品研发项目管理制度
- 2025年全国中学生汉字听写大会比赛题库及解析(共八套)
- 防汛安全培训课件
- 关于临期商品的处理管理办法
- 新能源全面入市是构建新型电力系统的重要支撑-136号文政策解读
- 2025消防业务理论考试题库及参考答案
- 机关财务报销制度和流程
- DB12-T1196-2023公路养护工程质量检验评定标准
- 水幕电影制作合同
- 交通政策对经济增长的效应分析-深度研究
评论
0/150
提交评论