C语言课程设计之招生管理系统
2015-08-27 11:06
295 查看
大一下学期刚开学要做C语言课程设计,结果我被坑了,选了招生管理系统,百度一下,相关资料基本没有,还是自己写了一份
在招生管理系统中,对应增删查改都是网上一搜一大堆的,这些就不讲了,主要是是对录取学生的专业排序问题,代码及其分析如下
这时候有人可能就有疑惑了,第一次调用该函数录取没问题,可是第二次调用了?第二次调用学生的专业已存在了,这时候就需要在再次录取前调用一个可以把所学生的专业清空的函数,这样再次调用录取操作就没问题了,当然这样做事不好的,要是数据庞大就出问题了。。。。。。。。。。~~~但是应付课程设计还是可以的。。。如果有更好的想法可以提出来~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
源码下载 访问密码 9cfb
在招生管理系统中,对应增删查改都是网上一搜一大堆的,这些就不讲了,主要是是对录取学生的专业排序问题,代码及其分析如下
void Admission() //学生录取处理 { int i,j,n; int Num[4]; char temp[30]={""}; Empty(); read_file(FileName,STU); for(i=0;i<4;i++) {Num[i]=0;} //这里共设置了四个班级,Num中的数组就分别对应这四个班级的数目 for(i=0;i<4;i++) //先对第一志愿进行排序 <strong><span style="color:#33ccff;">在进行该函数前学生的信息已经按高考分数从高到低排好</span></strong> { for(j=0;j<N;j++) { if(strcmp(voluteer[i],STU[j].NO_1)==0 && strcmp(STU[j].professional,temp)==0)//如何第一志愿是这个以及尚未被录取 { strcpy(STU[j].professional,voluteer[i]);//<span style="font-family: Arial, Helvetica, sans-serif;">则将该志愿写入该生专业中</span>
Num[i]++; //并且该专业已有人数自增1 } if(Num[i]>11) break;//表示录满12人之后终止第一专业的录取 } } for(i=0;i<4;i++) //<span style="font-family: Arial, Helvetica, sans-serif;">第二志愿的录取,同上</span> { n=0; for(j=0;j<N;j++) { if(strcmp(voluteer[i],STU[j].NO_2)==0 && strcmp(STU[j].professional,temp)==0 && Num[i]<=11) { strcpy(STU[j].professional,voluteer[i]); Num[i]++; } if(Num[i]>11) break; } } for(i=0;i<4;i++) //<span style="font-family: Arial, Helvetica, sans-serif;">第三志愿的录取,同上</span> { n=0; for(j=0;j<N;j++) { if(strcmp(voluteer[i],STU[j].NO_3)==0 && strcmp(STU[j].professional,temp)==0 && Num[i]<=11) { strcpy(STU[j].professional,voluteer[i]); Num[i]++; } if(Num[i]>11) break; } } write_file(FileName,STU,N); }
这时候有人可能就有疑惑了,第一次调用该函数录取没问题,可是第二次调用了?第二次调用学生的专业已存在了,这时候就需要在再次录取前调用一个可以把所学生的专业清空的函数,这样再次调用录取操作就没问题了,当然这样做事不好的,要是数据庞大就出问题了。。。。。。。。。。~~~但是应付课程设计还是可以的。。。如果有更好的想法可以提出来~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
源码下载 访问密码 9cfb
相关文章推荐
- Google C++测试框架系列:入门
- C++ 11智能指针之shared_ptr
- Item 15:资源管理类需要提供对原始资源的访问 Effective C++笔记
- C语言程序的编译以及库的构建与使用---查漏补缺笔记
- C++ 实现观察者(Observer)模式详解
- 在C语言中转换时间的基本方法介绍
- C++ vector,list,dequeue,stack 存储结构浅析
- 基于kubuntu的C/C++开发环境搭建
- 使用GDB命令行调试器调试C/C++程序
- 使用GDB命令行调试器调试C/C++程序
- 【深入理解C++】从初始化列表和构造函数谈C++的初始化机制
- C语言中读取时间日期的基本方法
- 字符串类的实现:构造函数、析构函数、复制构造函数和赋值操作符
- C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- 转载C++和java多态的区别
- C语言中settimeofday函数和gettimeofday函数的使用
- VC++ 将IP字符串转为 DWORD值
- C++ sort函数
- Visual C++ 64 位迁移的常见问题
- C++ Builder XE8 安卓开发之菜单键的触发代码