沈 阳 航 院 设 计 用 纸
课程
学 号
班 级
姓 名
指导教师
2007年 9 月 13 日
课程设计任务书
一、课程设计时间
2007年9月10日至2007年9月14日,共计1周,20学时。
二、课程设计内容
用C语言编写软件完成以下任务:
设有两个文件(教师提供):file07_1.txt,file07_2.txt。file07_1.txt中存储着学生名单,每位学生有学号、姓名2项内容;file07_2.txt存储着学生成绩,每位学生有学号、数学成绩、英语成绩3项内容。
可见,学号是2个文件的共有的数据。请按照一定顺序在用户屏幕显示所有同学的学号、姓名、数学成绩、英语成绩4项内容。
三、课程设计要求
1. 程序质量:
· 贯彻结构化的程序设计思想。
· 用户界面友好,功能明确,操作方便。
· 用户界面中的菜单至少应包括“显示file07_1.txt”、“file07_2.txt”、“全部显示”、 “退出”4项。
· 代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2. 课程设计说明书:
课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的
。
四、指导教师和学生签字
指导教师:________ 学生签名:________
五、成绩:
六、教师评语:
目录
1一、需求分析
二、程序流程图……………………………………2
三、核心技术的实现说明及相应程序段
3
四、个人
……………………………………….6
五、运行截图………...……………………………..7
六、源程序……………...……………………..……9
七、参考文献……………….…………………….12
一、需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为三个模块,其中每一个模块对应一个函数,他们的功能分别是:显示文件file07_1.txt函数,显示文件file07_2.txt函数,全部显示函数。
其中我认为最主要的是对文件的读取,以及将文件内的数据按要求显示在界面上。文件中包括学生的姓名,学号,数学成绩,英语成绩,因此在读取文件时要建立结构体,将所要显示的内容定义为结构体,而在读取文件时要用到fopen和fscanf这两个函数,掌握了以上两点我认为写出这个程序就简单了。
除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
二、程序流程图
. SHAPE \* MERGEFORMAT
三、核心技术的实现说明及相应程序段
本程序主要由三个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当中,对文件中数据的读取是核心内容。尤其要注意文件中的数据格式为结构体,因此定义时要注意,还有就是文件的读取,要将文件先打开,再读出数据,并显示在屏幕上。
总体设计
main 函数
调用printfile1函数 printfile1函数
调用printffile2函数 printfile2函数
调用printfile3函数 printfile3函数
退出
{
模块设计
printfile1()的框图:
具体程序如下:
void printfile1()
{
struct student_type
{
char num[13];
char name[6];
}s[SIZE];
int i;
FILE *fp;
if((fp=fopen("E:\\file07_1.txt","r"))==NULL)
printf("不能打开文件file07_1.txt");
else
for(i=0;i
计划,怎么样去实现这个计划,不断地克服制作中的种种困难,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明。在本次实践中,给我印象最为深刻的是在关联两个文件中数据程序的编译过程中,先前我的各个子程序都已经编辑成功,那么这最后的程序就将是我成功的关键。
在未来的日子里我们还要继续与C语言这个我们刚刚接触到的新事物打交道,我知道未来的路还很漫长。以后我们还要接触更多的计算机语言,知识的海洋是无边无际的,我相信在老师的引导下我定会自由遨游,事物是向前发展的,不久的将来期望也希望我能成为中国IT业的精英,我也希望我能创造出一种计算机语言,因为我通过这次友谊仪的课设我发现我已经爱上了这个神秘而可爱的专业,而我所学的专业也正是与计算机息息相关的,深知他的重要性,也希望在未来的日子里老师这个引路人能带我走向更加灿烂的远方。
五、运行截图
①开始菜单界面
②显示file07_1.txt
③显示file07_2.txt
④全部显示
六、源程序
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
# define SIZE 8
void main()
{
void printfile1();
void printfile2();
void printfile3();
void mymenu();
char c;
mymenu();
while(1)
{
c=getchar();
switch(c)
{
case '1':printfile1();break;
case '2':printfile2();break;
case '3':printfile3();break;
case '4':exit(0);break;
}
}
}
void mymenu()
{ system("cls");
printf("\n1.显示file07_1.txt");
printf("\n2.显示file07_2.txt");
printf("\n3.全部显示");
printf("\n4.退出\n\n");
printf("请从1至4中选择数字:\n");
}
void printfile1()
{
struct student_type
{
char num[13];
char name[6];
}s[SIZE];
int i;
FILE *fp;
if((fp=fopen("E:\\file07_1.txt","r"))==NULL)
printf("不能打开文件file07_1.txt");
else
for(i=0;i
答案 后按1回车进行下一题直到循环结束
0
结束程序
询问界面,
用户选择操作
用FILE *fp=fopen()语句完成读取,设置If循环以完成多题读取
PAGE