版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学号:导师:*C 语言程序设计课程设计 班级成绩管理系统院系:* 学院专业:* 专业班级:* 级*班姓名:*目录1设计目的2设计任务3设计内容与步骤3-1实现的功能3-2数据存储方式3-3功能目录3-4程序流程图3-5测试与评价3-6体会与收获4参考文献5附录5-1用户手册5-2源代码清单1设计目的(1) 熟练掌握 C 语言的基本知识和技能(2) 基本掌握结构化程序设计的思路和方法(3) 熟练掌握指针的用法和用链表存储数据的方法(4) 能够利用所学的基本知识和技能,发挥自学能力和查找资料的能 力,解决稍微复杂的结构化程序设计问题(5) 培养创新能力和良好的思维能力。2设计任务(1)编写一个班级
2、成绩管理系统,以文件形式保存班级学生的基本 信息。( 2) 能运用自己编写的程序对学生信息进行一定的处理。 从设计目的之后奇数页开始撰写。调试环境 : VC6.0完成人: *3设计内容与步骤3 1 实现的功能a. 学生成绩登记b. 学生信息删除c. 学生信息修改d. 学生信息查询e. 学生成绩排序f. 密码功能32 数据存储方式 用结构数组存储数据,以可执行文件形式保存学生信息 。33 功能目录 本系统首先设计出了主函数, 然后根据去要实现的功能分别设计 了密码系统,学生信息录入、显示、查询、删除、修改、添加功能的 子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知 识通过把文件的内
3、容读取到内存然后打印出来。 删除函数的设计是首 先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循 环将该人从内存里删除, 然后再用写的方式打开文件, 将内存内的信 息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的 方法找出用户要查找的人,然后打印出来。修改也大体和删除相同, 添加函数在设计时通过申请一片空间, 然后通过指针将需要添加的信 息添加进去,从而实现添加功能。3-4 程序流程图开始3-5 .测试与评价1.运行进入程序主菜单主选单具有所有函数的功能实现的选择功能,通过主选单的操作进入各个功能。主选单主要由主函数提供,其功能由子函数实现。a.班级成绩管理主界面密码
4、为:123456F60由重襄数疑選直熾圾成绕岂理童统宀己*- rdTnfF 5? 密密 入入刖 -i-44r 青青 131XKJ-ISXKJrtKKl-ilMXitXIMJ-tKNJtXItStICKiHKIfKJOfXKIfKJtfXXKXIMl-eXIMJ-tXIK*茨迎进人*-学生成绩管理系统XXXIMXXHKXKIMhtlOCmOtXIOfIMlOtStXXaOCXKHXKXaKXXXIMXIOtHlOt1学生信息输入,按回车=:沢:亦花:辜吾软脊;辜宜1王抵.去纤斧璋写茫 z壬騙j入第丄个学员学号江繭入第工个学员年龄沢俞入第丄个学员成绩3泊逾第丄个学员成绩4 = 4:11- 1.08
5、000 成绩 2: 2.000000 成绩 3: 3.003000 咸绩 4: 4.000000 总分:10.000M00 是否继续输入心加学号 姓名性别年龄成绩b.学生信息显示异土-冃:*性别;n虽龄;1成绩丄:1.000000 成绩趴2 .000000 成绪3; 3.000000 成绩4: 4.000000 总分:10-000000 是否继续输入?空帕c学生信息查询d学生信息删除e学生信息排序基否返回圣菜单期nA总分14.004.00退出系统请龙:产较欢迎:号 姓名E序系统?成给丄 成绩z2.003-001 .Q&1-00MllijBIKXXXKKXXXKKKKKiKM:欢迎进入主菜单无的
6、录入哄尝生信息的査询氛学生信息的测除乩学生信息的排序5 .学生信息的修回f学生信息修改,F:360data要数熱宾面區级成绩苣理票统exeo j回,F:360data要数熱宾面區级成绩苣理票统exe欢迎进入主菜单!1学号姓名性别年龄成绩丄成绩2成绩3成绩4总分1an11.001.001.001.004.00 容号 1 入改 青主冃 、f Iwwwir6f5T 旦宵11字甘11宵;1.一旨8盹UVI0g0BiinHruu:t=:E:I事坏上J2 A饌启* UK 翌TY512W.隔WHf-逖a:处K KXIOt 貝 z:J -3rplW14P ?wE: n:9:T:ukMt-ie:舉EErr冒罪S
7、:-PZp-箪号韦8gFd 回 | T*灼第塞毎異璃骑壬航連琴毎澤淳重识】m卩09*T3-6 .体会与收获通过这次课程设计,我对很多的函数有新的认识,也学会运用多种函数,我也明白写软件的基本过程和基本方法。写软件的过程中我又学到曾经自己不知道 的函数或是自己不会的函数的用法。 特别是文件的开启和关闭,读与写。这次课 程设计课总的来说让我受益匪浅。4.参考文献【1】谭浩强。C程序设计(第三版)。北京:清华大学出版社,2005【2】谭浩强。C程序设计题解与上机指导。第三版。北京:清华大学出版社,2005【3】C语言程序设计北京高等教育出版社【4】其他网络资源5 附录5-1 用户手册执行软件首先进入
8、主界面时输入密码: 1234561 当软件中总有输入人员信息时:A. 请输入你要选择的功能: 根据提示输入 1 按回按回车 输入学生学号,姓名,性别,年龄,成绩;按回车B. 学生信息查询 根据提示输入 2 按回车 输入需要查询人员学号:按回车 没有信息。C 删除人员信息: 根据提示输入 3 按回车 输入需要删除的人员学号,姓名,按回车D.排序人员信息: 根据提示输入 4 按回车 显示班级成绩的名次。E 修改学生信息 根据提示输入 5 按回车 根据提示可修改学号,姓名,性别,年龄,成绩等。 F 退出系统根据提示输入 6 按回车,接着输入密码 按回车5-2 源代码清单 /软件中使用结构体和结构体数
9、组 #include来源于网络资源#include #include #include / #define N 30 int M=0;struct studentchar num10;/ 对用户的信息进行保存,他们都以二进制的形式读写 其中:char name20;char sex10;int age;float score1;float score2;float score3;float score4;float sum;/ 分别对姓名、学号、性别、 、年龄、成绩进行储存 在子函数中还使用了结构体数组:stuN;void menu();void Input();void Search();v
10、oid Del();void Sort();void Modi();void main()int n,k;char str10;printf( n );/ 主菜单系统printf(H*n);printf( *欢 迎 进 入 *n);printf( *学生成绩管理系*n );rintf( *n);printf( n);printf( 请输入密码继续! );/ 密码系统,密码为 123456 printf(n);for(k=0;k3;k+)printf( 请输入密码 :);for(n=0;(strn=getch()!=r;n+)putchar(*);printf(n);strn=0;if(strc
11、mp(str,123456)=0)printf( 密码正确 !);menu();elseprintf(”密码错误!n请重新输入! n你已输入蚊,k+1);printf(nnn);system(cls); menu();void menu()int as;printf( *n);printf( 欢 迎 进 入 主 菜 单 !*n );nprintf( );printf(1.学生信息的录入 );printf(2.学生信息的查询 );printf(3.学生信息的删除 );printf(4.学生信息的排序 );printf(5.学生信息的修改 );printf(6.退出系统 );printf( 请选择
12、操作 :);scanf(%d,&as);if(as6)as=0;switch(as)case 0 :printf(输入错误 !n);break;case 1 :Input();break;case 2:Search();break;case 3:Del();break;case 4:Sort();break;case 5:Modi();break;case 6:break;default: menu();void Input()int num20;static int i=0;int flag=1;char l;system(cls);printf(* 欢 迎 进 入 学 员 信 息 的 录
13、入 ! *n);while(flag)i+; printf(AA%dAA,i);printf(n输入第d个学员学号:,i);scanf(%s,stui.num);printf(n输入第d个学员姓名:,i);scanf(%s,);printf(n输入第d个学员性别:,i);scanf(%s,stui.sex);printf(n输入第d个学员年龄:,i);scanf(%d,&stui.age);prin tf(n输入第d个学员成绩1:,i);scanf(%f,&stui.score1);printf(n输入第d个学员成绩2:,i);scanf(%f,&stui.score2);p
14、rintf(n输入第d个学员成绩3:,i);scanf(%f,&stui.score3);printf(n输入第d个学员成绩4:,i);scanf(%f,&stui.score4);stui.sum+=stui.score1+stui.score2+stui.score3+stui.score4;printf(学号: %sn,stui.num);printf(姓名: %sn,);printf(性别: %sn,stui.sex);printf(年龄: %dn,stui.age);printf(成绩 1:%fn,stui.score1);printf(成绩 2:%fn,stui.
15、score2);printf(成绩 3:%fn,stui.score3);printf(成绩 4:%fn,stui.score4);printf(总分: %fn,stui.sum);printf(是否继续输入 ?(Y/N);getchar(); scanf(%c,&l);if(l=n|l=N)flag=0;else if(l=Y)Input();else break;system(cls);menu();void Search()/ 子函数 SEARCHint i=0,flag=1;char cn;char str20;system(cls);printf(* 欢 迎 进 入 学 员 信 息
16、查 !*n);printf( 请输入要查找的学号 :); scanf(%s,str); while(flag)if(strcmp(str,stui.num)=0)询系成绩 2printf( 学号 姓名 性别 年龄 成绩 1成绩 3 成绩 4n);printf(%s %s %s %d %f %f %f %fn,stui.num,,stui.sex,stui.age,stui.score1,stui.score2,s tui.score3,stui.score4);break; i+;if(i=N)printf( 无此学号 !n);if(i=N)flag=0;printf ( 是
17、否继续输入 (Y/N)?);getchar();if(getchar()=Y)Search();menu();void Del()int i,j,flag=1;char cn;char str20;system(cls);*n);while(flag)printf( 请输入要删除的学员学号 :); scanf(%s,&str);for(i=0;iN;i+) if(strcmp(str,stui.num)=0) for(j=i;jN;j+)stuj=stuj+1;printf( 删除成功 !n);printf( 是否继续输入( Y/N):); getchar();scanf(%c,&cn); i
18、f(cn=n|cn=N)flag=0;system(cls);menu();void Sort()struct student t; int i,j,k,p,x,flag=1; float sumN; float f,g; char cn;printf(H*欢迎进入学员信息排序系统!*n);while(flag)for(i=0;iN;i+).scsumi=stui.score1+stui.score2+stui.score3+stui ore4;for(k=0;kN-1;k+)x=k;for(p=k+1;psump)x=p;g=sumk;sumk=sumx;sumx=g;t=stuk;stuk
19、=stux;stux=t;printf( 学号 t 姓名 t 性别 t 年龄 t 成绩 1t 成绩 2t 成绩 3t成绩 4t 总分 n);for(i=N;i0;i-)if(stui.age!=0)printf(%st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2fn,stui.num,,stui.sex,stui.age,stui.score1,s tui.score2,stui.score3,stui.score4,stui.sum);printf( 是否返回主菜单 (y/n):);getchar();scanf(%c,&cn);if(cn=y|cn=Y
20、)flag=0;system(cls);menu();void Modi()int i=0,flag=1;char k;char str20;printf(* 欢 迎 进 入 学 员 信 息 修 改 系 统 !*n);while(flag)i+;printf( 请输入要修改的学生的学号 :n);scanf(%s,str);if(strcmp(str,stui.num)=0)printf( 学号 t 姓名 t 性别 t 年龄 t 成绩 1t 成绩 2t 成绩 3t 成绩 4t 总分 n);printf(%st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2fn,stui.num,,stui.sex,stui.age,stui.score1,stui.score2,stui.score3,stui.score4,stui.sum);printf(n 请输入修改内容 n);printf( 请修改学生学号 :);scanf(%s,stui.num);printf( 请修改学生姓名 :);scanf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流行业设备使用效率提升方案
- 信息系统建设全过程审计方案
- 数字化儿童眼健康管理方案
- 移动电源锂电池使用方案
- 10KV配电室电气系统优化方案
- 绿色建筑视角下老旧住宅电梯方案
- 小班科学活动小熊请客
- 实验室易制爆材料安全演练方案
- 健康评估与监测方案
- 课题2 碳的氧化物(第1课时)教学课件九年级化学上册人教版2024
- 《剪映专业版:短视频创作案例教程(全彩慕课版)》 课件 第6章 创作生活Vlog
- 唐诗宋词人文解读智慧树知到期末考试答案章节答案2024年上海交通大学
- 《电视摄像》电子教案
- 火龙罐综合灸疗法
- 深圳市中小学生流感疫苗接种知情同意书
- 超高层建筑电气设计要点分析
- 精神堡垒报价单
- 德国支持中小企业科技创新的政策资料
- 1到10套文章听力 (1)[教案教学]
- 全公安机关易制爆危险化学品安全监管要点暨检查记录表
- 关于集中式供水单位卫生监督管理情况汇报
评论
0/150
提交评论