C语言课程设计文件合并.docx

上传人:b****7 文档编号:23736059 上传时间:2023-05-20 格式:DOCX 页数:13 大小:118.02KB
下载 相关 举报
C语言课程设计文件合并.docx_第1页
第1页 / 共13页
C语言课程设计文件合并.docx_第2页
第2页 / 共13页
C语言课程设计文件合并.docx_第3页
第3页 / 共13页
C语言课程设计文件合并.docx_第4页
第4页 / 共13页
C语言课程设计文件合并.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言课程设计文件合并.docx

《C语言课程设计文件合并.docx》由会员分享,可在线阅读,更多相关《C语言课程设计文件合并.docx(13页珍藏版)》请在冰豆网上搜索。

C语言课程设计文件合并.docx

C语言课程设计文件合并

沈阳航空航天大学

 

课程设计报告

 

课程设计名称:

C语言课程设计

课程设计题目:

学生成绩文件合并

 

院(系):

理学院

专业:

信息与计算科学

班级:

14140101

学号:

2011041401017

姓名:

彭君君

指导教师:

丛丽晖

完成日期:

2012年3月16日

目录

第1章概要设计1

1.1题目的内容与要求1

1.2总体结构1

第2章详细设计2

2.1显示模块2

2.2合并模块.2

第3章调试分析4

第4章使用说明与执行结果5

参考文献7

附录(程序清单)8

第1章概要设计

1.1题目的内容与要求

内容:

将两个班学生成绩文件合并,产生一个有序文件并演示合并过程。

具体内容包括:

1.学生成绩输入两个有序文件。

2.将两个有序文件合并成一个有序文件。

3.演示归并排序后的结果。

要求:

1.独立完成系统设计﹑编码和调试。

2.系统利用C语言实现。

3.按照课程设计规范书写课程设计报告。

4.熟练掌握基本的调试方法,并将程序调试通过。

1.2总体结构

本程序主要分为三个模块:

显示模块:

输入信息到文件,显示文本文件的内容。

合并模块:

将两个文件的内容合并到一个文件。

排序模块:

对文件中的内容按照一定顺序排列信息。

 

图1.1功能模块图

第2章详细设计

2.1显示模块

输入要输入的文本文件名,能显示文件的内容,并将文件内容输出,流程如图2.2所示。

图2.1显示模块PAD图

注释:

1.定义一个文件指针变量。

2.输入文件名,打开该文件。

3.循环输入一个个结构体,判断不是结束,循环输出。

2.2合并模块.

1.输入文件A的信息。

2输入文件B的信息。

3.一个循环,根据是否到达文件信息尾部结束。

4.根据sum值进行大小比较。

5.将信息有序输入文件C。

 

 

第3章调试分析

1.在编译时,出现了不能运行程序的警告,马上发现是没有写头文件#include"stdax.h",后立马添上。

2.在输出C文件信息时,由于没有按照数组形式输出,后导致输出紊乱,后根据信息输入的写法编写了信息输出编码。

3.j的初值问题:

因为j的初值默认为0,可能造成主模块中的while语句不执行,所以要对j赋非0初值;

4.复制模块的定义指针问题:

未定义文件指针*f1,*f2,*f3.

5.关于合并后的文件中多出字符:

因为文本文件结束后还有回车键,所以会多出字符,应该用feof语句来判断文本文件的结束。

第4章使用说明与执行结果

1.输入信息到文件A。

2.输入信息到文件B。

2.文件合并后的结果。

参考文献

[1]张长海.C语言程设计[M].北京:

高等教育出版社,2006

[2]谭浩强.C程序设计[M].北京:

清华大学出版社,2005.7

[3]张长海.陈娟.C程序设计[M].北京:

高等教育出版社,2004

[4]严蔚敏.吴伟民.数据结构(C程序版)[M].北京:

清华大学出版社,

[5]湛为芳高效实用VisualC++库函数设计清华大学出版社。

 

.附录(程序清单)

#include"stdafx.h"

#include"stdio.h"

#include"stdlib.h"

structstudent

{charname[10];//建立结构体student

intscore[3];

intsum;

}stu[20];

structfile

{charname[10];//建立结构体file

intscore[3];

intsum;

}fil1[10];

structFile

{charname[10];

intscore[3];

intsum;

}fil2[10];

voidmain()

{

FILE*f1,*f2,*f3;

inti,j,sum1;

charch;

for(i=0;i<10;i++)

{printf("\nFileAinputscoreofstudent%d:

\n",i+1);

printf("Name:

");

scanf("%s",stu[i].name);

sum1=0;

for(j=0;j<3;j++)

{printf("score%d:

",j+1);

scanf("%d",&stu[i].score[j]);

stu[i].sum=sum1;

sum1+=stu[i].score[j];}

}

for(i=10;i<20;i++)

{printf("\nFileBinputscoreofstudent%d:

\n",i-9);//输入学生信息到数组

printf("Name:

");

scanf("%s",stu[i].name);

sum1=0;

for(j=0;j<3;j++)

{printf("score%d:

",j+1);

scanf("%d",&stu[i].score[j]);

sum1+=stu[i].score[j];}

stu[i].sum=sum1;

}

printf("\n合并后C文件中学生成绩如下:

\n");

if((f1=fopen("G:

\\c语言\\FileA.dat","w"))==NULL)//打开文件A

{

printf("文件打开出错");

exit(0);

}

for(i=0;i<10;i++)

fwrite(&stu[i],sizeof(structstudent),1,f1);

//信息输入文件A

if((f2=fopen("G:

\\c语言\\FileB.dat","w"))==NULL)//打开文件B

{

printf("文件打开出错");

exit(0);

}

for(i=10;i<20;i++)

fwrite(&stu[i],sizeof(structstudent),1,f2);

//信息输入文件B

if((f3=fopen("G:

\\c语言\\FileC.dat","w"))==NULL)//打开文件C

{

printf("文件打开出错");

exit(0);

}

i=0;

j=0;

fread(&fil1[0],sizeof(structstudent),1,f1);

fread(&fil2[0],sizeof(structstudent),1,f2);//按照排序合并文件A.B

while(!

feof(f1)&&!

feof(f2))

{if(fil1[i].sum>fil2[j].sum)

{fwrite(&fil1[i],sizeof(structstudent),1,f3);fread(&fil1[i+1],sizeof(structstudent),1,f1);i++;}else{fwrite(&fil2[j],sizeof(structstudent),1,f3);fread(&fil2[j+1],sizeof(structstudent),1,f2);j++;}

}

while(!

feof(f1))

{fwrite(&fil1[i],sizeof(structstudent),1,f3);}

while(!

feof(f2))

{fwrite(&fil2[j],sizeof(structstudent),1,f3);}

fclose(f1);

fclose(f2);

for(i=0;i<20;i++)

{fread(&stu[i],sizeof(structstudent),1,f3);

printf("name:

",stu[i].name);

for(j=0;j<3;j++)

printf("score%d:

%d",j+1,stu[i].score[j]);

}

fclose(f3);

}//输出文件C中排序后的信息

课程设计总结:

通过本次课程设计,进一步熟悉和了解了文件合并设计的基本设计思想,加深了对于结构体文件的认识。

此程序为学生成绩文件合并,可以简单的解决一些实际生活中的学生成绩排序合并问题。

学会选择合适地数据结构,并定义数据结构的结构体;学会根据程序所要完成的基本要求和程序实现提示,设计出完整的算法;学会按照格式写书课程设计说明书及任务书。

遇到问题时应当端正态度,本着自己解决问题的决心。

不怕困难,提高自己的专业素养。

在程序的编写和实现当中,发现了自己对于数据结构的掌握还不是很全面,对两种查找的要求不明白。

在今后的学习当中,应当查缺补漏,努力完善自己的实践能力。

 

指导教师评语:

 

指导教师(签字):

      年月日

课程设计成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1