C语言程序的设计说明.docx
《C语言程序的设计说明.docx》由会员分享,可在线阅读,更多相关《C语言程序的设计说明.docx(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.C 语言程序设计课程设计报告专业:统计学班级:088131姓名:罗钰莹指导教师:薛思清2023 年 01 月 26 日. .目录1. 课程设计目的2. 问题需求分析3. 系统设计数据构造,总体软件框架,程序模块设计 4.编程实现描述主要实现过程,主要模块设计必需用流程图或伪代码等 4.1.流程图4.2.伪代码4.3程序容5.系统测试设计测试样例,验证程序,用截图的形式表达出来 6.可选附:局部关键源程序7.实习总结评价对你所开发的软件,实习过程中的难题,解决过程,你的收获与阅历等一,课程设计的目的随着计算机的普及,计算机在生活中得到越来越多的应用其中在计算机上的运行的各种软件在解决生活中的实
2、际问题中起着重大作用,而目前在编写程序时 C 语言是各种语言最根底的,对于一般用户能够使用 C 语言设计出小型软件对于解决生活中的繁琐问题格外必要,在学校和班级中常常会对某次考试全部学生的成绩进展统计和治理,由于学生数目常常繁多,所以在处理学生总成绩和平均成绩时工作会相对繁重,所以争对这种状况,同时对分析成绩治理所需要的功能,在利用 C 语言及 VC+6.程序运行平台之下,设计了一种小型的成绩治理系统所需要的功能,该系统具有学生成绩相关信息的录入,显示,查询,排序,修改删除和统计功能。学生成绩治理系统为供给高校信息的治理【要求】设计“学生成绩治理系统”,实现学生信息的输入,显示,查找,保存,删
3、除以及成绩排序等功能模块。要求功能选择用菜单实现,数据输入和结果输出要求用文件存放。原始数据文件格式具体数据自行编写;学号年龄英语高等数学C 语言平均成绩1珊19858075802四2095859090.功能要求极其说明:(1) 数据录入功能:录入每个学生的学号、年龄、课程名称、英语成绩、数学成绩,C 语言成绩、平均成绩、共 7 个数据。(2) 查询功能:分为学生根本状况查询和成绩查询两种学生根本状况查询:输入一个学号或及年龄可实现选择查出此学生的根本信息并显示输出。称号查询:输入一个学号时,查出此学生全部课程状况,格式如下:学号:XX :XX 年龄:XX 英语成绩:XX 数学成绩:XX C
4、语言成绩 XX 平均成绩 XX(3) 添加功能:要求可以添加学生的成绩信息4)删除功能:当在 A.TXT 中删除一个学生时,自动地在 B.TXT 中删除此学生全部信息。5排序功能:能够实现按英语成绩排序,按数学成绩排序,按 C 语言成绩排序,按平均成绩排序以及按学号排序数据构造承受构造体数组,供给学生根本信息和学生成绩根本信息构造体数组。二问题需求分析依据题目要求,该程序具备的功能有程序总体设计程序总体设计1 依据题目要求,该程序应具备的功能有:(1) 数据录入功能:录入每个学生的学号、年龄、课程名称、英语成绩,数学成绩,平均成绩共 7 个数据。因而实现文章的输入输出功能。(2) 查询功能:分
5、为学号状况查询和查询两种,要求用户可以查询各个学生的成绩,通过不同方式实现查询功能。(3) 添加功能:可以添加学生的信息,因而要供给查找和添加功能(4) 删除功能:当在 A.TXT 中删除一个学生时,自动地在 B.TXT 中删除此学生全部信息。(5) 排序功能:能实现选择按学号,英语成绩,数学成绩,C 语言成绩或平均成绩升序或降序排序并显示数据。(6) 菜单功能:应当供给键盘式的选择菜单以实现其功能选择。三总程序设计四 程序具体设计主函数主函数一般设计得比较简洁,只供给输入,处理和输出局部的函数调用。其中各功能模块用菜单方式选择。流程图::int main/主函数void Add(FILE *
6、fp,STUDENT one);/函数声明void Show(FILE *fp);/函数声明int Find(FILE *fp,char *no,int K);/函数声明int Del(FILE *fp,char *no);/函数声明void Mod(FILE *fp,char *p);/函数声明void Zap(FILE *fp);/函数声明struct student Input(void); long num=0,iItem;int res,K; STUDENT temp; char strNo10;FILE *fp=fopen(“student.dat“,“r+“);/*推断该文件是否
7、存在*/ if(fp=NULL)elsefp=fopen(“student.dat“,“w+“);fseek(fp,0L,SEEK_END);num=ftell(fp)/sizeof(STUDENT);/*统计多少个字节,除以一个学生需要的字节得到学生的数*/rewind(fp);while(iItem=menu(num)!=5)switch(iItem)case 1:temp=Input;Add(fp,temp); num+;printf(“学生信息已添加,按任意键返回.“); break;case 2:Show(fp);printf(“按任意键返回.“); break;case 3:if(
8、num0)printf(“输入要删除的学号:“); scanf(“%s“,strNo); res=Del(fp,strNo);if(res)printf(“ 学 号 %s 记 录 已 删 除 , 按 任 意 键 返回.“,strNo);Zap(fp);num-;elseelseprintf(“没有学号%s记录,按任意键返回.“,strNo);printf(“目前没有记录,无法删除!按任意键返回.“);break; case 4:if(num0)printf(“选择查询方式n“); printf(“1-根本状况查询n“);printf(“2-成绩查询n“);scanf(“%d“,&K); swi
9、tch(K)case 1:t 平均分n“);break;printf(“输入要查找的学号或:“); scanf(“%s“,strNo);printf(“tt 学号t 性别t 年龄n“);break; case 2:printf(“输入要查找的学号或:“); scanf(“%s“,strNo);printf(“tt 学号t 性别t 年龄t 英语t 高数tc 语言default :printf(“输入有误!“);res=Find(fp,strNo,K); if(!res)printf(“没有此学生记录,按任意键返回.“);elseelseprintf(“按任意键返回.“);printf(“目前没有
10、记录,无法删除!按任意键返回.“); break;default: printf(“命令错误,按任意键返回.“);break;getch;if(fp) fclose(fp); return 0;2 菜单:先定义空函数#include “stdio.h“ #include “conio.h“ #include “stdlib.h“/函数声明/下面这些函数可以分别对应不同的功能模块,但一个功能模块可以有多个函数来实现/这些函数临时不做具体设计,包括函数参数,返回值等。/在后续逐步添加功能模块具体设计与实现这些函数int function1;/。函数void function2;/。函数void f
11、unction3;/。函数int function4;/。函数void function5;/。函数void function6;/。函数int menu;/菜单程序,也可以把后面的菜单的具体实现函数放在 main 函数之前,则不需要做此声明/主函数 void main/调用菜单程序int choice; dochoice =menu;if (choice= 0)break; switch (choice) /*switch 构造*/case 1:/*case 大事*/printf(“输入入一个的学生的记录“); function1;break; case 2:printf(“查询一个学生记录
12、“); function2;break; case 3:printf(“插入一个学生记录“); function3;break; case 4:printf(“修改一个学生记录“); function4;break; case 5:printf(“登记学生成绩“); function5;break; case 6:printf(“删除学生成绩“); function6;break;getch; while(0);/菜单程序int menuint num;do /*do-while 循环,也可以考虑用 while 循环加上 break*/system(“cls“);/清屏printf(“*n“)
13、; printf(“菜单:n“);/*输出 MENU 并换行*/ printf(“1: 输入一个生的记录【1】n“); printf(“2: 查询一个学生的记录【2】n“); printf(“3: 插入一个学生记录【3】n“); printf(“4: 修改一个学生记录【4】n“); printf(“5: 登记学生成绩【5】n“); printf(“6: 删除学生成绩【6】n“); printf(“0:退出【0】n“); printf(“*n“); printf(“请选择选项:“);scanf(“%d“, &num); while(num5);/*while 循环执行条件 num1 或 num
14、大于 4*/ return num;/功能模块的具体实现局部/函数。:描述函数功能以及设计思路 int function1/暂不写具体语句return 0;/函数:描述函数功能以及设计思路 void function2/空函数体void function3/暂不写具体语句return;/函数:描述函数功能以及设计思路int function4/空函数体return 0;void function5/暂不写具体语句/函数:描述函数功能以及设计思路 void function6/暂不写具体语句/函数:描述函数功能以及设计思路 void function7/空函数体2 功能模块设计数据录入。流程图:
15、数据构造我们需要录入的信息数据有两类:一类是学生根本信息,包括学号, ,年龄存放在文件 S_INFO.TXT 中。另一类信息是学生成绩根本信息,包括 :英语成绩, 数学成绩,C 语言成绩,平均成绩 4 个数据, 这些信息存放在文件 S_SCORE.TXT 中。学生根本信息的存放格式为:#include #include #include #define SIZE 50 struct studentRecordint studentNumbers; char name20;int age; float math;float English; float c language;float aver
16、age score;studentRecordsSIZE; int StudentNumbers; void save/学生的人数FILE*fp; int i;if (fp = fopen(“studentRecord.dat“, “w“) = NULL)printf(“cannot open filen“); return;while (fwrite(&studentRecordsi, sizeof(struct studentRecord), 1, fp) != EOF)printf(“file write errorn“); StudentNumbers+;fclose(fp);查询功能
17、模块流程图:需求分析该模块的功能是查询学生是否在中int search(char *name)/查找这名学生是否在中int i, flag = 0;for (i = 0; i StudentNumbers; i+)if (strcmp(name, studentRecordsi.name) = 0)flag = 1; break;if (flag = 1)return i;elsereturn 0;三添加功能 该模块是添加学生的成绩插入学生成绩流程图:void insert(studentRecord SR)/插入学生的成绩int i, j;int flag = 0;for (i = 0; i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 程序 设计 说明
限制150内