【C语言课程设计项目】——学生综合管理系统
一.头文件部分
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
二.结构体
typedef struct student
{char id[20];//学号char name[10];//姓名char sex[10];//性别char bothdate[20];//出生年月char jor[20];//专业char like[50];//爱好int yuwen; // 语文 int shuxue;// 数学 int waiyu; // 外语 int sore;//个人总成绩float money;//消费记录
}student;
三. 函数声明
1. void SorePrintf(student p) // 查询学生信息时的输出内容2. void MoneyPrintf(student p) // 查询学生消费时的输出内容3. void read()//读文件数据4. void SaveScore()//保存数据5. void SaveMoney()//保存数据6. void AddScore() //录入学生信息函数7. void AddMoney() //录入学生消费信息8. void FindScore()//(1)查询学生成绩信息9. void FindMoney()//查询学生消费信息10. void FindMoney()//查询学生消费信息11. void FixScore() //(1)修改学生成绩信息12. void FixMoney()//(2)修改学生消费信息13. void DeleScore()//(1)删除成绩信息模块中学生信息14. void DeleMoney()//(2)删除消费信息模块中学生信息15. void SortScore() //学生成绩排名模块16. void ShowScore() //展示学生信息17. void ShowMoney() //计算总消费18. void ScoreMenu() //学生成绩模块菜单19. void MoneyMenu() //学生消费管理模块菜单20. void Menu() //主菜单
五. 主函数
int main()
{ read(); //读取部分 Menu(); //菜单部分 while(1);
}
六. 代码实现
/*一:项目名称:《学生综合管理系统》 二:项目需求 :1. 学生信息管理系统: (1)学生成绩排名模块 √ (2)修改学生信息模块 √ (3)删除学生信息模块 √ (4)查询学生信息模块 √ (5)录入学生信息模块 √ (6)显示所有学生信息 √ 2. 学生消费管理信息系统: (1) 录入学生消费信息模块 √ (2) 查询学生消费信息模块 √ (3) 删除学生消费信息模块 √ (4) 显示学生消费信息模块 √ (5) 修改学生消费信息模块 √ */ #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
//#include <dos.h>
#include <windows.h>
#define LEN sizeof(struct student)
typedef struct student
{char id[20];//学号char name[10];//姓名char sex[10];//性别char bothdate[20];//出生年月char jor[20];//专业char like[50];//爱好int yuwen; // 语文 int shuxue;// 数学 int waiyu; // 外语 int sore;//个人总成绩float money;//消费记录
}student;student soredata[200];//存蓄成绩数据
student moneydata[200];//存储消费金额数据
int snum=0;//成绩数据个数
int mnum=0;//消费数据个数void SorePrintf(student p) // 查询学生信息时的输出内容
{printf("--------------------------------------------\n");printf("学号:%s 姓名:%s 性别: %s\n",p.id,p.name,p.sex);printf("出生年月:%s 专业:%s 爱好: %s\n",p.bothdate,p.jor,p.like);printf("语文成绩:%d 数学成绩:%d 外语成绩:%d\n",p.yuwen,p.shuxue,p.waiyu);p.sore=p.yuwen+p.shuxue+p.waiyu;printf("个人总成绩: %d\n",p.sore);printf("--------------------------------------------\n");
// printf("总人数=%d",snum);
}void MoneyPrintf(student p) // 查询学生消费时的输出内容
{printf("--------------------------------------------\n");printf("学号:%s 姓名:%s 性别: %s\n",p.id,p.name,p.sex);printf("出生年月:%s 专业:%s 爱好: %s\n",p.bothdate,p.jor,p.like);printf("消费额: %.1f\n",p.money);printf("--------------------------------------------\n");
}void read()//读文件数据
{//文件FILE *fp;//以读的方式打开文件fp=fopen("score.txt","r"); if(fp==NULL){printf("打开文件失败!\n");return; }snum =0;while(!feof(fp)) { //读文件数据到数组fscanf(fp,"%s%s%s",soredata[snum].id,soredata[snum].name,soredata[snum].sex); fscanf(fp,"%s%s%s",soredata[snum].bothdate,soredata[snum].jor,soredata[snum].like); fscanf(fp,"%d%d%d%d",&soredata[snum].yuwen,&soredata[snum].shuxue,&soredata[snum].waiyu,&soredata[snum].sore);snum++;//个数加1}//关闭文件fclose(fp);//以读的方式打开文件fp=fopen("money.txt","r"); if(fp==NULL){printf("打开文件失败!\n");return; }mnum =0;while(!feof(fp)) { //读文件数据到数组fscanf(fp,"%s%s%s",moneydata[mnum].id,moneydata[mnum].name,moneydata[mnum].sex); fscanf(fp,"%s%s%s",moneydata[mnum].bothdate,moneydata[mnum].jor,moneydata[mnum].like); fscanf(fp,"%f",&moneydata[mnum].money);mnum++;//个数加1}//关闭文件fclose(fp);}void SaveScore()//保存数据
{//文件FILE *fp;int i;//以读的方式打开文件fp=fopen("score.txt","w"); if(fp==NULL){printf("打开文件失败!\n");exit(0); }for(i=0;i<snum-1;i++){fprintf(fp,"%s %s %s ",soredata[i].id,soredata[i].name,soredata[i].sex); fprintf(fp,"%s %s %s ",soredata[i].bothdate,soredata[i].jor,soredata[i].like); fprintf(fp,"%d %d %d ",soredata[i].yuwen,soredata[i].shuxue,soredata[i].waiyu);soredata[i].sore=soredata[i].yuwen+soredata[i].shuxue+soredata[i].waiyu;fprintf(fp,"%d\n",soredata[i].sore);}fprintf(fp,"%s %s %s ",soredata[i].id,soredata[i].name,soredata[i].sex); fprintf(fp,"%s %s %s ",soredata[i].bothdate,soredata[i].jor,soredata[i].like); soredata[i].sore=soredata[i].yuwen+soredata[i].shuxue+soredata[i].waiyu;fprintf(fp,"%d",soredata[i].sore);//关闭文件fclose(fp);}void SaveMoney()//保存数据
{//文件FILE *fp;int i;//以读的方式打开文件fp=fopen("money.txt","w"); if(fp==NULL){printf("打开文件失败!\n");exit(0); }for(i=0;i<mnum-1;i++){fprintf(fp,"%s %s %s ",moneydata[i].id,moneydata[i].name,moneydata[i].sex); fprintf(fp,"%s %s %s ",moneydata[i].bothdate,moneydata[i].jor,moneydata[i].like); fprintf(fp,"%.1f\n",moneydata[i].money);}fprintf(fp,"%s %s %s ",moneydata[i].id,moneydata[i].name,moneydata[i].sex); fprintf(fp,"%s %s %s ",moneydata[i].bothdate,moneydata[i].jor,moneydata[i].like); fprintf(fp,"%.1f",moneydata[i].money);//关闭文件fclose(fp);}void AddScore() //录入学生信息函数
{printf("请输入学号:");scanf("%s",soredata[snum].id);printf("请输入姓名:");scanf("%s",soredata[snum].name);printf("请输入性别:");scanf("%s",soredata[snum].sex);printf("请输入出生年月(2000-02):");scanf("%s",soredata[snum].bothdate);printf("请输入专业:");scanf("%s",soredata[snum].jor);printf("请输入爱好:");scanf("%s",soredata[snum].like);printf("请输入语文成绩:");scanf("%d",&soredata[snum].yuwen);printf("请输入数学成绩:");scanf("%d",&soredata[snum].shuxue);printf("请输入外语成绩:");scanf("%d",&soredata[snum].waiyu);snum++;//加1SaveScore();printf("添加成功\n");printf("任意键回到菜单....\n");getch();
}void AddMoney() //录入学生消费信息
{printf("请输入学号:");scanf("%s",moneydata[mnum].id);printf("请输入姓名:");scanf("%s",moneydata[mnum].name);printf("请输入性别:");scanf("%s",moneydata[mnum].sex);printf("请输入出生年月(2000-02):");scanf("%s",moneydata[mnum].bothdate);printf("请输入专业:");scanf("%s",moneydata[mnum].jor);printf("请输入爱好:");scanf("%s",moneydata[mnum].like);printf("请输入消费金额:");scanf("%f",&moneydata[mnum].money);mnum++;SaveMoney();printf("添加成功\n");printf("任意键回到菜单....\n");getch();
}void FindScore()//(1)查询学生成绩信息
{int i;char id[20];printf("请输入需要查询的学号:\n");scanf("%s",id);for(i =0;i<snum;i++){if(strcmp(soredata[i].id,id) == 0){printf("查找到的信息如下:\n");SorePrintf(soredata[i]);printf("任意键回到菜单....\n");getch();return;}}printf("信息不存在\n");printf("任意键回到菜单....\n");getch();}void FindMoney()//查询学生消费信息
{int i;char id[20];printf("请输入需要查询的学号:\n");scanf("%s",id);for(i =0;i<mnum;i++){if(strcmp(moneydata[i].id,id) == 0){printf("查找到的信息如下:\n");MoneyPrintf(moneydata[i]);printf("任意键回到菜单....\n");getch();return;}}printf("信息不存在\n");printf("任意键回到菜单....\n");getch();}void FixScore()//(1)修改学生成绩信息
{int i;char id[20];printf("请输入需要修改的学号:\n");scanf("%s",id);for(i =0;i<snum;i++){if(strcmp(soredata[i].id,id) == 0){printf("修改前信息如下:\n");SorePrintf(soredata[i]);printf("请输入修改后的成绩:\n");scanf("%d",&soredata[i].sore);SaveScore();//保存printf("修改成功");printf("任意键回到菜单....\n");getch();return;}}printf("信息不存在\n");printf("任意键回到菜单....\n");getch();}void FixMoney()//(2)修改学生消费信息
{int i;char id[20];printf("请输入需要修改的学号:\n");scanf("%s",id);for(i =0;i<mnum;i++){if(strcmp(moneydata[i].id,id) == 0){printf("查找到的信息如下:\n");MoneyPrintf(moneydata[i]);printf("请输入修改后的消费金额:\n");scanf("%f",&moneydata[i].money);SaveMoney();//保存printf("修改成功\n");printf("任意键回到菜单....\n");getch();return;}}printf("信息不存在\n");printf("任意键回到菜单....\n");getch();}void DeleScore()//(1)删除成绩信息模块中学生信息
{int i;char id[20];printf("请输入需要删除的学号:\n");scanf("%s",id);for(i =0;i<snum;i++){if(strcmp(soredata[i].id,id) == 0){printf("删除信息如下:\n");SorePrintf(soredata[i]);for(;i<snum;i++){soredata[i] = soredata[i+1];}snum--;SaveScore();printf("删除成功\n");printf("任意键回到菜单....\n");getch();return;}}printf("信息不存在\n");printf("任意键回到菜单....\n");getch();
}void DeleMoney()//(2)删除消费信息模块中学生信息
{int i;char id[20];printf("请输入需要删除的学号:\n");scanf("%s",id);for(i =0;i<mnum;i++){if(strcmp(moneydata[i].id,id) == 0){printf("删除信息如下:\n");MoneyPrintf(moneydata[i]);for(;i<mnum;i++){moneydata[i] = moneydata[i+1];}mnum--;SaveMoney();//保存printf("删除成功\n");printf("任意键回到菜单....\n");getch();return;}}printf("信息不存在\n");printf("任意键回到菜单....\n");getch();
}void SortScore() //学生成绩排名模块
{FILE *fp;student t;int i=0,j=0;fp=fopen("score.txt","r+");if(snum==0){printf("文件中没有记录!\n");return ;}for(i=0;i<snum-1;i++){for(int j=i+1;j<snum;j++){if(soredata[i].sore<soredata[j].sore){t=soredata[i];soredata[i]=soredata[j];soredata[j]=t;}}}for(i=0;i<snum;i++){
// if(fwrite(&soredata[i],LEN,1,fp)!=1)
// {printf("第%d名:\n",i+1);SorePrintf(soredata[i]);getch();
// }}fclose(fp);printf("保存成功!\n");
}void ShowScore() //展示学生成绩
{int i;int total=0;for(i =0;i<snum;i++){SorePrintf(soredata[i]);
// total = total + soredata[i].sore;//计算总成绩}
// printf("【总成绩】——【%d】\n",total);printf("任意键回到菜单....\n");getch();}void ShowMoney() //计算总消费
{int i;float total=0;for(i =0;i<mnum;i++){MoneyPrintf(moneydata[i]);total = total + moneydata[i].money;}printf("【总消费金额】——【%.1f】\n",total);printf("任意键回到菜单....\n");getch();}void ScoreMenu() //学生成绩模块菜单
{char ch;system("cls");printf("**************************************\n");printf("** **\n");printf("** 欢迎来到学生成绩模块 **\n");printf("** **\n");printf("** 1.添加信息 **\n");printf("** **\n");printf("** 2.查询信息 **\n");printf("** **\n");printf("** 3.修改信息 **\n");printf("** **\n");printf("** 4.删除信息 **\n");printf("** **\n");printf("** 5.成绩排名 **\n");printf("** **\n");printf("** 6.显示所有 **\n");printf("** **\n");printf("** 7.返回上一层 **\n");printf("** **\n");printf("** 8.退出系统 **\n");printf("** **\n");printf("**************************************\n");printf("请输入序号: ");//输入选择scanf("%c",&ch);switch(ch){case '1':AddScore();break;case '2':FindScore();break;case '3':FixScore(); break;case '4':DeleScore();break;case '5':SortScore(); //成绩排名 break;case '6':ShowScore();break;case '7':return;break;case '8':exit(0);break;default:break;}ScoreMenu();
}void MoneyMenu() //学生消费管理模块菜单
{char ch;system("cls");printf("**************************************\n");printf("** **\n");printf("** 欢迎来到学生消费管理模块 **\n");printf("** **\n");printf("** 1.添加信息 **\n");printf("** **\n");printf("** 2.查询信息 **\n");printf("** **\n");printf("** 3.修改信息 **\n");printf("** **\n");printf("** 4.删除信息 **\n");printf("** **\n");printf("** 5.显示所有 **\n");printf("** **\n");printf("** 6.返回上一层 **\n");printf("** **\n");printf("** 7.退出系统 **\n");printf("** **\n");printf("**************************************\n");printf("请输入序号: ");//输入选择scanf("%c",&ch);switch(ch){case '1':AddMoney();break;case '2':FindMoney();break;case '3':FixMoney(); break;case '4':DeleMoney();break;case '5':ShowMoney();break;case '6':return;break;case '7':exit(0);break;default:break;}MoneyMenu();
}void Menu() //主菜单
{char ch;system("cls");printf("**************************************\n");printf("** **\n");printf("** 《学生综合信息系统》 **\n");printf("** **\n");printf("** 1.成绩管理模块 **\n");printf("** **\n");printf("** 2.消费管理模块 **\n");printf("** **\n");printf("** 3.退出系统 **\n");printf("** **\n");printf("**************************************\n");system("color C");printf("请输入序号: ");//输入选择scanf("%c",&ch);switch(ch){case '1':ScoreMenu();break;case '2':MoneyMenu();break;case '3':exit(0);break;default:break;}Menu();
}int main()
{ read(); //读取部分 Menu(); //菜单部分 while(1);
}
七. 效果实现
【C语言课程设计项目】——学生综合管理系统相关推荐
- c语言课程设计查找分数与删除元素,c语言课程设计学生成绩管理系统
<c语言课程设计学生成绩管理系统>由会员分享,可在线阅读,更多相关<c语言课程设计学生成绩管理系统(31页珍藏版)>请在人人文库网上搜索. 1.河南理工大学计算机科学与技术学院 ...
- C语言成绩统计源代码,C语言课程设计学生成绩管理系统+源码
<C语言课程设计学生成绩管理系统+源码>由会员分享,可在线阅读,更多相关<C语言课程设计学生成绩管理系统+源码(25页珍藏版)>请在人人文库网上搜索. 1.简易教学管理系统的设 ...
- C语言学生成绩管理设计总结,C语言课程设计学生成绩管理系统个人总结
C语言课程设计学生成绩管理系统个人总结 C语言课程设计--学生成绩管理系统 个人心得体会 (徐州工程学院 14计嵌1班 07组 张凯) 这一周以来的课程设计,不仅让我明白了C语言的确是一门很有用的,但 ...
- C语言课程信息管理系统课程设计,c语言课程设计学生信息管理系统.doc
c语言课程设计学生信息管理系统 课程设计报告 课程名称: 高级语言程序设计课程设计 姓 名: 汤璞君 班级学号: BX1209 121003410937 指导教师: 吉顺如 完成日期: 2013.6. ...
- c语言学生档案管理课设作业,2019-2020年c语言课程设计学生档案管理系统实验报告.doc...
2019-2020年c语言课程设计学生档案管理系统实验报告.doc 还剩 10页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: *********C 语 ...
- 班级学籍管理系统c语言论文,c语言课程设计学生学籍管理系统论文.doc
c语言课程设计学生学籍管理系统论文 PAGE PAGE 2 1. 课题的主要功能 1.1 需求分析. 程序的功能: 对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入.显示.修改.删 ...
- C语言课程设计——学生考勤管理系统
C语言课程设计--学生考勤管理系统 题目要求: 学生考勤管理系统设计 (1)问题描述 考勤信息记录了学生的缺课情况,它包括:缺课日期.第几节课.课程名称.学生姓名.缺课类型(迟到.早退.请假及旷课). ...
- c语言综合设计作业学籍管理系统,C语言课程设计----学生学籍管理系统
匿名用户 1级 2014-11-13 回答 #include #include #include structstud { longnum; charname[20]; doublescore; }; ...
- 学生选课管理系统c语言程序报告,c语言课程设计学生选课管理系统实验报告.doc...
课程设计报告 课程设计题目:学生选课管理系统 学 号 姓 名:李唐松 专 业:软件工程 班 级: 091107 指导老师:谢小林 2009年1月5 *实验题目: 学分管理程序 *实验时间与地点:200 ...
- c语言学生成绩管理系统课设作业,C语言课程设计——学生成绩管理系统
摘 要 学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段.但一直以来人们使用传统人工的方式 ...
最新文章
- static和global的区别
- BFS:南土所梁玉婷组综述促进土壤植物生态系统健康的微生物共存理论
- 测序数据的处理方法及装置制造方法及图纸
- 使用com.sun.imageio.plugins.png.PNGMetadata读取图片的元数据 1
- ROS仿真-记一次错误 gazebo-2 process has died exit code 2
- 关于Bom下标准模式和混杂模式!
- java io学习 IO流的分类
- wordpress博客加载缓慢解决:去除Open Sans和Lato 字体
- 【HTTP协议】---HTTP协议详解
- 关于低版本IE浏览器无法显示图片的问题
- 传奇服务端如何添加地图
- 1526 B. I Hate 1111
- 微信自定义链接分享制作,微信自定义链接配置
- java实现七巧板问题_[Java教程]canvas,绘制七巧板
- 一个著名的任务调度系统是怎么设计的?
- CCS报错#10010 errors encountered during linking;
- 何海涛算法面试题感悟之四:二元树…
- Spring boot 配置健康检查
- 数字图像处理学习笔记 九 形态学处理
- Android自定义View来实现解析lrc歌词同步滚动、上下拖动、缩放歌词等功能