菜鸟编程 一个练习
来源:互联网 发布:uu加速器mac版 编辑:程序博客网 时间:2024/06/08 06:17
最近,笔者做了一个有趣的练习,在这里分享一下。
#include <iostream>
#include <cstring>
using namespace std;
int number = -1;
class student
{
public :
student(){}
student(unsigned int id,int score,char name[20])
{
this->id = id;
strcpy(this->name,name);
this->score = score;
}
friend void printout(int number,student *p);
friend bool cmpid(unsigned int id,int number,student *p);
friend void searchid(unsigned int id,int number,student *p);
friend void searchname(char search_name[],int number,student *p);
friend void idsort(int number,student *p);
friend void scoresort(int number,student *p);
void printout();
private:
unsigned int id;
char name[20];
int score;
};
void student::printout()
{
cout << id << ' ' << name << ' ' << score << endl;
}
void printout(int number,student *p);
bool cmpid(unsigned int id,int number,student *p);
void searchid(unsigned int id,int number,student *p);
void searchname(char search_name[],int number,student *p);
void idsort(int number,student *p);
void scoresort(int number,student *p);
int main()
{
student *p = new student[10000];
student *p2 = new student[10000];
student *p1 = new student[10000];
unsigned int id = 0;
int score = 0,judge_number = 0;
char name[20];
bool flag = 0;
while(!flag)
{
cin >> judge_number;
switch(judge_number)
{
case 1:
{
bool flag2 = 0;
cin >> id >> name >> score;
flag2 = cmpid(id,number,&p[0]);
if(flag2) break;
number++;
student temp(id,score,name);
p[number] = temp;
p1[number] = temp;
p2[number] = temp;
cout << "SUCCESS" << endl;
break;
}
case 2:
{
printout(number,&p[0]);
break;
}
case 3:
{
unsigned int search_id = 0;
cin >> search_id;
searchid(search_id,number,&p[0]);
break;
}
case 4:
{
char search_name[20];
cin >> search_name;
searchname(search_name,number,&p[0]);
break;
}
case 5:
{
idsort(number,&p1[0]);
break;
}
case 6:
{
scoresort(number,&p2[0]);
break;
}
case 7:
{
cout << "END"; flag = 1;
break;
}
}
}
delete []p;
p = 0;
delete []p1;
delete []p2;
p1 = 0;
p2 = 0;
return 0;
}
void printout(int number,student *p)
{
for(int i = 0;i <= number;i++)
{
if(number == -1) return ;
else p[i].printout();
}
return ;
}
bool cmpid(unsigned int id,int number,student *p)
{
for(int i = 0;i <= number;i++)
{
if(number == -1) return 0;
if(p[i].id == id)
{
cout << "FAILED\n";
return 1;
}
}
return 0;
}
void searchid(unsigned int id,int number,student *p)
{
if(number == -1) return;
for(int i = 0;i <= number;i++)
{
if(p[i].id == id)
{
p[i].printout();
}
}
}
void searchname(char search_name[],int number,student *p)
{
if(number == -1) return;
int judge = 0;
for(int i = 0;i <= number;i++)
{
judge = strcmp(search_name,p[i].name);
if(judge == 0)
{
p[i].printout();
return ;
}
}
}
void idsort(int number,student *p){
for(int i = 1;i <= number;i++){
for(int j = 0;j <= number-i;j++){
student temp = p[j];
if(p[j].id > p[j+1].id){
p[j] = p[j+1];
p[j+1] = temp;
}
}
}
printout(number,&p[0]);
}
void scoresort(int number,student *p)
{
for(int i = 1;i <= number;i++){
for(int j = 0;j <= number-i;j++){
student temp = p[j];
if(p[j].score < p[j+1].score){
p[j] = p[j+1];
p[j+1] = temp;
}
}
}
printout(number,&p[0]);
}
阅读全文
0 0
- 菜鸟编程 一个练习
- Java菜鸟编程 一个有趣的练习
- Java菜鸟编程 String类的一些方法和一个练习
- 软件编程 我是一个菜鸟
- 一个菜鸟的编程路
- 一个菜鸟的编程学习感言
- 菜鸟菜鸟菜鸟菜鸟编程之路
- 编程练习 ==> 一个作业题
- 一个极佳的编程语言练习项目
- 《Javascript DOM编程艺术》一个练习
- 一个有意思的编程练习网站
- 发现一个编程练习的地方
- 一个不错的编程练习平台
- 一个在线练习编程的网站
- 菜鸟一个
- 一个菜鸟
- java菜鸟 练习
- JavaScript菜鸟教程练习
- 微信PC端电脑端多开 CMD打开多个微信
- 开源神经网络框架Caffe2全介绍
- OpenSSL生成公钥私钥
- unity3d ngui 笔记3
- JAVA编程典型题目
- 菜鸟编程 一个练习
- 技术网站收藏
- 函数对象
- python3之1010.一元多项式求导 (25分)
- sqlldr加载excel数据到oracle中,同时序列自增
- 《C++程序设计语言(英文第四版)》【PDF】下载
- Javascript 如何将html转成pdf并下载
- 关于在server2012添加IIS功能中出现WinRM无法启动的问题解决过程
- Python启动信息