《c语言程序设计》课程设计

上传人:枫** 文档编号:507923981 上传时间:2024-01-01 格式:DOCX 页数:47 大小:446.90KB
返回 下载 相关 举报
《c语言程序设计》课程设计_第1页
第1页 / 共47页
《c语言程序设计》课程设计_第2页
第2页 / 共47页
《c语言程序设计》课程设计_第3页
第3页 / 共47页
《c语言程序设计》课程设计_第4页
第4页 / 共47页
《c语言程序设计》课程设计_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《《c语言程序设计》课程设计》由会员分享,可在线阅读,更多相关《《c语言程序设计》课程设计(47页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计课程设计重庆科技学院(c语言课程设计设计报告1需求分析1.1问题描述首先理解几个定义。结构体:C语言允许用户自己建立由不同类型数据组成的组合struct student型的数据结构。结构体int num;char name20;float score1;float score2;float score3;float average;float sum;studentNUM;用函数实现模块化程序设计:在c语言中,为了简化主函数, 使阅读和维护程序变得简单,可以事先编好一批主函数中需要用到的 函数,然后再直接调用到主函数中就能得到预期的结果。对文件的输入输出:将输入的数据保存到磁盘中

2、的指定文件夹, 在需要时再利用指针将其调出使用。循环结构:(1)用dowhile语句实现循环(2)用for语句实现循环do语句;while (表达式);for(循环变量赋初值;循环条件;循环变量增值)语句;1.2基本要求和目的1、整个系统均用C语言实现;2、利用结构体数组来实现学生成绩的数据结构设计;3、系统具有输入、显示、查询、删除、排序、插入、保存、读取 等基本功能;4、系统Q各个功能模块都用函数的形式来实现;5、要求能将学生成绩信息保存在文件中;6、要求能从文件中读取学生信息并进行相关处理。#2总体设计2.1学生成绩管理系统的设计用C语言设计出一个具有能够在进入程序后进行多条记录的输 入

3、并保存(输入);完成全部学生或满足指定条件记录的显示(显示); 完成按姓名查找学生记录并显示(查找);按学生平均成绩排名(排 序);任意插入和修改学生记录(插入);将学生记录保存在自定义的 文件中(保存);将保存在文件中的学生记录读取出来(读取)的,并能 够用一个文本菜单来调用各个功能的程序。int main()主函数int a;doprintf(ntt *欢迎使用学生管理系统择需要的功能 * *nn);printf(”ttttl.输入学生信息 n);printf( tttt2.显示已输入学生信息n ”); printf(tttt3 .查询学生信息 n”); printfCtttt4 .按总成

4、绩排名 n”); printftttt5 删除学生信息 n”); printfCtttt6 .插入学生信息 n”); printf(tttt7 .修改信息 n”);printf(1 ,tttt8.iM Hlnn n);printf(H.J* (.卜 .卜.卜 .卜 .卜 (.卜 J.卜 rT*Tw 7w Tw( J.卜 * )scanf(n%dn,&a);switch(a)case l:system(nclsH); shuru();break;case 2:system(Hclsn); xianshi();break;case 3:system(nclsn);chaxun();break;ca

5、se 4:system(tfclsH); paixu();break;case 5:system(HcisH) ;shanchu();break;case 6:system(nclsM);charu();break;case 7:system(HclsM);xiugai();break;case 8:system(Hexitn);exit(0);重庆科技学院(c语言课程设计设计报告2.2结构框架图下图是算法结构框架图。重庆科技学院(C语言课程设计设计报告NN图2.1系统结构框架图3.详细设计3.1 结构体的定义利用结构体将不同数据类型的学生信息囊括到一个结构体数组中,以 便于对学生不同信息输入

6、与查询。#struct studentint num;char name20;float score1;float score2;float score3;float average;float sum;结构体学号姓名语文成绩数学成绩英语成绩平均成绩总成绩studentNUM;3.2 不同功能函数的定义单独编码不同功能的函数,在主函数需要的时候调用,不仅能简 化主函数,还能方便后面对主函数的修改和维护。void shuru();/编入函数void xianshi();void chaxun();void paixu();void shanchu();void baocun();void cha

7、ru();显示函数 查询函数 排序函数 删除函数 保存函数 插入函数 修改函数void xiugai();void average(); 求平均值函数3.3 主菜单的设计设计一个可以选着执行主函数的选着菜单,是操作者能够方便快 捷的选择执行需要的操作。主函数dowhile循环结构int main()int a;doprintf(,ftt *欢迎使用学生管理系统*n);priiitf(nn* 输入相应的数字选择需要 的功能 *Wn“);printf(”ttttl.输入学生信息 n”);printf(tttt2 .显示已输入学生信息n”);printftttt3 .查询学生信息 n);printf

8、(”tttt4.按总成绩排名 n”);printftttt5 ,删除学生信息 n”);printf(tttt6 .插入学生信息 n”);printf(”tttt7 .修改信息 n”);重庆科技学院(c语言课程设计设计报告prints tttt8.退 出 niT); _ _ f I7 酎酎.防 上2 酎 酎Wk w r T, .T #Jw Tw T T Jw 7 7w Tw 7 Tw 7w r7* #7w rv T% Tw 7w7w v Tw Tw 7w rw rT Tw r Jw Jw rv 7w7w rTw T Jw rT 7w rv222222. 1% = 1 Jw rT . =( .Jw

9、 rw rT ( .scanf(H%dn,&a);switch(a)选择菜单case l:system(tfclsH); shuru();break;case 2:system(ndsn); xianshi();break;case 3:system(t,cls,t);chaxun();break;case 4:system(nclsn); paixu();break;case 5:system(nclsn);shanchu();break;case 6:system(ndsn);charu();break;case 7:system(nclsH);xiugai();break;case 8:

10、system(ftexit,f);exit(0);while(l);表示一个无限循环c-c ( “配U”重庆科技学院(c语言课程设计设计报告#While1、输入2、日;。太X图3.QnO、1主菜单流程图FILE*fp定义一个指向文件的指针变量3.4 保存功能的实现在C语言中程序中,对文件读写之前应该利用指针“打开”指定 的文件夹,然后再在打开的文件夹中进行读写,已达到对文件的保存 和调用功能,在使用结束后应该利用指针“关闭”该文件夹。保存void baocun()intj;打开输出文件夹并使if(fp=fopen(nstu.datH,nwH)=NULL)fp指向此文件 printf(打开数据出

11、错! n);return;)for(j=0;jNUM;j+)if(fwrite(&studentj,sizeof(struct student),l,fp)!=l)存入数据printf(Hfile write error!nH);fclose(fp);关闭文件夹图3.2保存数据流程图3.5 对输入数据进行排序定义一个空的结构体数组来存放数据,实现两两之间的比较,再结合循环结构实现多个数据的比较并按照规定法则对数据进行 排序。void paixu()排序struct student temp;intfor(j=0;jnumber-l;j+)l=j;for(k=j+l;kstudentl.average)l=k;)temp=studentl;studentl=studentj;studentj=temp;)for(j=0;javerage);重庆科技学院(c语言课程设计设计报告printf(Hnn);图3.3排序流程图4.试验结果4.1 进入学生成绩管理系统建立学生数据 *C:UsersAdministratorDesktopDebugstudent.exew又MM昊M 乐迎使用学生管理系筑为*输入相应的数字选择需要的功能-*息到 目运子息名息自 信人.|信信 生输生绩芸工息 II 输

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号