C++学生管理系统
1、每一条记录包括一个学生的学号、姓名、3门成绩、平均成绩。
2、输入功能:可以一次完成无数条记录的输入。
3、显示功能:完成全部学生记录的显示。
4、查找功能:完成按姓名查找学生记录,并显示。
5、排序功能:按学生平均成绩进行排序。
6、插入功能:按平均成绩高低插入一条学生记录。
7、保存功能:将学生记录保存在任何自定义的文件中,如保存在:c:\score。
8、读取功能:将保存在文件中的学生记录读取出来。
9、有一个清晰美观界面来调用各个功能,图形或文本界面都可以。
急用!!!!!!!谢谢拉!!!
答案://///////////////////////////////////////////////////////////////////
///////////// List.h: 类的所有成员都在头文件里声明 //////////////////
/////////////////////////////////////////////////////////////////////
#include <iostream.h>
// cin 及 cout
#include <malloc.h>
// 用到申请内存函数 malloc() 和释放内存函数 free()
#include <string.h>
// 字符串处理
#include <stdio.h>
// 文件操作(读文件)
#include <stdlib.h>
// system("cls")
struct address
/*家庭地址*/
{
char city[10];
/*城市*/
char town[10];
/*县城*/
char village[10];
/*乡镇*/
};
struct telephone
/*联系方式*/
{
char SJ[50];
/*手机*/
char JD[30];
/*家庭电话*/
char XD[30];
/*学校电话*/
};
struct person
/*个人信息*/
{
char name[20];
/*名字*/
char 易做图[10] ;
/*性别*/
char MZ[16];
/*民族*/
char GJ[17];
/*国籍*/
char XL[19];
/*学历*/
};
struct score
//成绩
{
char num[20];
//学号
char english[20];
char chinese[20];
char math[20];
char physics[20];
};
typedef struct linknode
//定义节点的类型
{
char address[100]; //地址
char birthday[100]; //出生日期
struct score sc; //成绩
struct person pe; //个人信息
struct telephone te; //联系方式
bool flag;
struct linknode* next;
}nodetype;
class List
{
nodetype* head;
public:
List();
List::~List();
linknode* creatlist(int);
//创建链表
int listlen();
//返回链表长度
nodetype* findnode(int);
//通过查找序号返回节点的指针
nodetype* find(char c[]);
//通过查找姓名返回节点的指针
int find2(char c[]);
//通过查找姓名返回节点的序号
nodetype* insnode(int);
//插入节点
void delnode(int);
//删除节点
nodetype* load();
//初始化:从外部读入数据
void readstr(FILE *f,char *string); //读行函数
bool check(char *a, char *b);
//对比两个字符串是否相等
void help();
//显示帮助菜单
void editperson(nodetype*);
//编辑个人说明
void editscore(nodetype*);
//编辑学科成绩
void edittelephone(nodetype*);
//编辑联系方式
void dispname();
//显示所有学生姓名
void dispnode(nodetype* p);
//显示一个学生的所有信息
void dispperson(nodetype*);
//显示一个学生的个人说明
void dispscore(nodetype*);
//显示一个学生的学科成绩
void disptelephone(nodetype*);
//显示一个学生的联系方式
};
#include <iostream.h> // cin 及 cout
#include <string.h>
// strcpy(): 字符串复制
#include <stdlib.h>
// system("cls")
#include <stdio.h>
// 文件操作(写文件)
#include "list.h"
// 我们要创建类 List 的对象和节点指针,所以要把类的头文件包含进来
class Operater
{
List L1;
public:
void Loop();
//主循环
void display();
//显示菜单
};
/////////////////////////////////////////////////////////////////////////////////////
//////////////////////// List.cpp : The body of the class List //////////////////////
/////////////////////////////////////////////////////////////////////////////////////
#include "list.h"
List::List()
{
head = NULL;
}
bool List::check(char *a, char *b) //对比两个字符串是否相等
{
int i;
int j=strlen(b);
for(i=0; i<j; i++)
{
if(*a==*b)
{
a++;
b++;
}
else
return 0;
}
return 1;
}
nodetype* List::creatlist (int n)
//创建链表
{
nodetype *h=NULL, *s, *t;
int i=1;
for(int j=0; j<n; j++)
{
上一个:c++怎么操纵文件。
下一个:用C++写程序