C语言程序设计课程设计学生成绩管理系统

上传人:沈*** 文档编号:44705222 上传时间:2021-12-05 格式:DOC 页数:27 大小:321.54KB
收藏 版权申诉 举报 下载
C语言程序设计课程设计学生成绩管理系统_第1页
第1页 / 共27页
C语言程序设计课程设计学生成绩管理系统_第2页
第2页 / 共27页
C语言程序设计课程设计学生成绩管理系统_第3页
第3页 / 共27页
资源描述:

《C语言程序设计课程设计学生成绩管理系统》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计学生成绩管理系统(27页珍藏版)》请在装配图网上搜索。

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设计任务

2、(1)编写一个班级成绩管理系统,以文件形式保存班级学生的基本信息。(2) 能运用自己编写的程序对学生信息进行一定的处理。从设计目的之后奇数页开始撰写。调试环境 :VC6.0完成人:*3设计内容与步骤31实现的功能a.学生成绩登记b.学生信息删除c.学生信息修改d.学生信息查询e.学生成绩排序f.密码功能32数据存储方式用结构数组存储数据,以可执行文件形式保存学生信息。33功能目录本系统首先设计出了主函数,然后根据去要实现的功能分别设计了密码系统,学生信息录入、显示、查询、删除、修改、添加功能的子函数。在显示的函数设计过程中首先运用拉文件的读取等必要的知识通过把文件的内容读取到内存然后打印出来。

3、删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能。3-4程序流程图开始执行printf()函数选择(a)调用void Search()函数调用Voidinput()函数执行printf()退出系统调用void Modi()函数调用void Sort()函数调用void Del()函数3-5测试与评价

4、1.运行进入程序主菜单主选单具有所有函数的功能实现的选择功能,通过主选单的操作进入各个功能。主选单主要由主函数提供,其功能由子函数实现。a 班级成绩管理主界面密码为:1234561学生信息输入,按回车学号姓名性别年龄成绩b.学生信息显示c学生信息查询d学生信息删除e学生信息排序f学生信息修改g退出系统3-6体会与收获通过这次课程设计,我对很多的函数有新的认识,也学会运用多种函数,我也明白写软件的基本过程和基本方法。写软件的过程中我又学到曾经自己不知道的函数或是自己不会的函数的用法。特别是文件的开启和关闭,读与写。这次课程设计课总的来说让我受益匪浅。4参考文献【1】谭浩强。C程序设计(第三版)。

5、北京:清华大学出版社,2005【2】谭浩强。C程序设计题解与上机指导。第三版。北京:清华大学出版社,2005【3】C语言程序设计 北京 高等教育出版社【4】其他网络资源5附录5-1用户手册执行软件首先进入主界面时输入密码:1234561当软件中总有输入人员信息时:A请输入你要选择的功能: 根据提示输入1 按回按回车输入学生学号,姓名,性别,年龄,成绩;按回车B学生信息查询根据提示输入 2 按回车输入需要查询人员学号:按回车没有信息。C 删除人员信息: 根据提示输入3 按回车 输入需要删除的人员学号,姓名,按回车 D排序人员信息 : 根据提示输入 4 按回车 显示班级成绩的名次。 E修改学生信息

6、根据提示输入5 按回车根据提示可修改学号,姓名,性别,年龄,成绩等。 F退出系统根据提示输入 6按回车,接着输入密码 按回车。5-2源代码清单/软件中使用结构体和结构体数组 #include#include#include#include /来源于网络资源#define N 30int M=0;struct student char num10;/ 对用户的信息进行保存,他们都以二进制的形式读写。其中: char name20; char sex10; int age; float score1; float score2; float score3; float score4; float

7、sum;/ 分别对姓名、学号、性别、年龄、成绩进行储存在子函数中还使用了结构体数组:stuN; void menu(); void Input(); void Search(); void Del(); void Sort(); void Modi(); void main() int n,k; char str10; printf( n );/主菜单系统 printf( *n ); printf( * 欢 迎 进 入 *n ); printf( * 学 生 成 绩 管 理 系 统 *n ); printf( *n ); printf( n); printf( 请输入密码继续!);/密码系统,

8、密码为123456 printf(n); for(k=0;k3;k+) printf(请输入密码:); for(n=0;(strn=getch()!=r;n+) putchar(*); printf(n); strn=0; if(strcmp(str,123456)=0) printf(密码正确!); menu(); else printf(密码错误!n请重新输入!n你已输入%d次,k+1); printf(nnn); system(cls); menu(); void menu() int as; printf( *n ); printf( 欢迎进入主菜单! *n ); printf( *n

9、 ); printf(1.学生信息的录入); printf(2.学生信息的查询); printf(3.学生信息的删除); printf(4.学生信息的排序); printf(5.学生信息的修改); printf(6.退出系统); printf(请选择操作:); 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()

10、;break; case 6:break; default: menu(); void Input() int num20; static int i=0; int flag=1; char l; system(cls); printf(*欢迎进入学员信息的录入!*n); while(flag) i+; printf(AA%dAA,i); printf(n输入第%d个学员学号:,i); scanf(%s,stui.num); printf(n输入第%d个学员姓名:,i); scanf(%s,stui.name); printf(n输入第%d个学员性别:,i); scanf(%s,stui.se

11、x); printf(n输入第%d个学员年龄:,i); scanf(%d,&stui.age); printf(n输入第%d个学员成绩1:,i); scanf(%f,&stui.score1); printf(n输入第%d个学员成绩2:,i); scanf(%f,&stui.score2); printf(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.scor

12、e4; printf(学号:%sn,stui.num); printf(姓名:%sn,stui.name); printf(性别:%sn,stui.sex); printf(年龄:%dn,stui.age); printf(成绩1:%fn,stui.score1); printf(成绩2:%fn,stui.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

13、=N) flag=0; else if(l=Y) Input(); else break; system(cls); menu(); void Search()/子函数SEARCH int i=0,flag=1; char cn; char str20; system(cls); printf(*欢迎进入学员信息查询系统!*n); printf(请输入要查找的学号:); scanf(%s,str); while(flag) if(strcmp(str,stui.num)=0) printf(学号 姓名 性别 年龄 成绩1 成绩2 成绩3 成绩4n); printf(%s %s %s %d %f

14、 %f %f %fn,stui.num,stui.name,stui.sex,stui.age,stui.score1,stui.score2,stui.score3,stui.score4); break; i+; if(i=N) printf(无此学号!n); if(i=N)flag=0; printf (是否继续输入(Y/N)?); getchar(); if(getchar()=Y)Search(); menu(); void Del() int i,j,flag=1; char cn; char str20; system(cls); printf(*欢迎进入学员信息删除系统!*n)

15、; 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); if(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,

16、g; char cn; printf(*欢迎进入学员信息排序系统!*n); while(flag) for(i=0;iN;i+) sumi=stui.score1+stui.score2+stui.score3+stui.score4; for(k=0;kN-1;k+) x=k; for(p=k+1;psump) x=p; g=sumk; sumk=sumx;sumx=g; t=stuk; stuk=stux; stux=t; printf(学号t姓名t性别t年龄t成绩1t成绩2t成绩3t成绩4t总分n); for(i=N;i0;i-) if(stui.age!=0) printf(%st%s

17、t%st%dt%.2ft%.2ft%.2ft%.2ft%.2fn,stui.num,stui.name,stui.sex,stui.age,stui.score1,stui.score2,stui.score3,stui.score4,stui.sum); printf(是否返回主菜单(y/n):); getchar(); scanf(%c,&cn); if(cn=y|cn=Y)flag=0; system(cls); menu(); void Modi() int i=0,flag=1; char k; char str20; printf(*欢迎进入学员信息修改系统!*n); while(

18、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.name,stui.sex,stui.age,stui.score1,stui.score2,stui.score3,stui.score4,stui.sum); printf(n请输入修改内容n); printf(请修改学生学号:); scanf

19、(%s,stui.num); printf(请修改学生姓名:); scanf(%s,stui.name); printf(请修改学生性别:); scanf(%s,stui.sex); printf(请修改学生年龄:); scanf(%d,&stui.age); printf(请修改成绩1:); scanf(%f,&stui.score1); printf(请修改成绩2:); scanf(%f,&stui.score2); printf(请修改成绩3:); scanf(%f,&stui.score3); printf(请修改成绩4:); scanf(%f,&stui.score4); stui.

20、sum=stui.score1+stui.score2+stui.score3+stui.score4; printf(AA%fAA,stui.sum); printf(请输出修改后的学员信息:n); printf(学号t姓名t性别t年龄t成绩1t成绩2t成绩3t成绩4t总分n); printf(%st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2fn,stui.num,stui.name,stui.sex,stui.age,stui.score1,stui.score2,stui.score3,stui.score4,stui.sum); break; if(i=N) printf(无此学号!n); printf (是否继续输入(Y/N)?); getchar(); scanf(%c,&k); if(k=n|k=N)flag=0; system(cls); menu();getchar();XXVII

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!