c语言程序设计__学生成绩管理系统
时间:2025-04-21
时间:2025-04-21
河南理工大学
计算机科学与技术学院
课程设计报告
2010 — 2011 学年第 二 学期
课程名称 c语言程序设计
设计题目 学生成绩管理系统 学生姓名 陈梁
学 号 311009030213 专业班级 信管1002班 指导教师
2011 年 09 月 22 日
C
一.设计题目 可视化程序设计报告
学生成绩管理系统
二、课题的任务:
1、所有记录保存在一个数据文件中;
2、具备记录添加功能;
3、查询功能(如按学号查询成绩等);
4、计算统计功能(如统计某门课程的平均程序);
5、排序功能(如按成绩排序);
6、统计并显示信息功能;
三.课程设计目的
了解软件工程中的一些系统分析,模块分析,代码设计的概念,利用visual c++实现学生成绩管理系统的录入、查询、删除、统计等基本操作,掌握C语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等知识。通过对系统的分析和设计,进一步巩固C语言的学习,以提高对开发环境。
四.系统源代码
#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
class Student
{
private:
char name[20];
int number,chinese,maths,english;
Student *link;
Student(char n[20],int m,int a,int b,int c)
//名字,学号,日语,高数,C语言
{
strcpy(name,n);
number=m;
chinese=a;
maths=b;
english=c;
}
friend class List;
};
class List
{
private:
Student *pHead;
Student *pPre;
Student *pCur;
public:
List();
~List();
bool searchList(int key);
void addToList();
void deleteFromList(int key);
void modify(int key);
void findByNumber(int key);
void printAll();
};
List::List()
{
pHead=NULL;
pPre=NULL;
pCur=NULL;
}
List::~List()
{
Student*pTemp;
Student*pDelete;
pDelete=pHead;
while(pDelete)
{
pTemp=pDelete->link;
delete(pDelete);
pDelete=pTemp;
}
}
bool List::searchList(int key)
{
pPre=NULL;
pCur=pHead;
while(pCur&&key>pCur->number)
{
pPre=pCur;
pCur=pCur->link;
}
return(pCur&&key==pCur->number);
}
void List::addToList()
{
char n[20];int m,a,b,c;
cout<<"请输入姓名"<<endl;
cin>>n;
cout<<"请输入学号:"<<endl;
cin>>m;
cout<<"请输入日语成绩:"<<endl;
cin>>a;
cout<<"请输入高数成绩:"<<endl;
cin>>b;
cout<<"请输入C语言成绩:"<<endl;
cin>>c;
Student *pNew;
pNew=new Student(n,m,a,b,c);
pPre=NULL;
pCur=pHead;
while(pCur&&m>pCur->number)
{
pPre=pCur;
pCur=pCur->link;
}
if(pPre==NULL)
{
pNew->link=pHead;
pHead=pNew;
}
else
{
pNew->link=pPre->link;
pPre->link=pNew;
}
return;
}
void List::deleteFromList(int key)
{
if(searchList(key))
{
if(pPre==NULL)
pHead=pCur->link;
else
pPre->link=pCur->link;
delete(pCur);
}
else
cout<<"您要删除的学生不存在!";
return;
}
void List::modify(int key)
{
int a,b,c;
if(searchList(key))
{
cout<<"请输入新的日语成绩:"<<endl;
cin>>a;
cout<<"请输入新的高数成绩:"<<endl;
cin>>b;
cout<<"请输入新的C语言成绩:"<<endl;
cin>>c;
pCur->chinese=a;
pCur->maths=b;
pCur->english=c;
cout<<"数据修改成功!";
}
else
cout<<"您要修改的学生不存在!";
return;
}
void List::findByNumber(int key)
{
if(searchList(key))
{
cout<<"您要查询的学生是:"<<pCur->name<<endl;
cout<<" 日语成绩: "<<pCur->chinese<<endl
<<" 高数成绩: "<<pCur->maths<<endl
<<" C语言成绩: "<<pCur->english<<endl;
}
else
cout<<"您要查询的学生不存在!"<<endl;
return;
}
void List::printAll()
{
if(pHead==NULL)
cout<<"管理系统中没有输入数据!"<<endl;
else
{
pPre=NULL;
pCur=pHead;
}
while(pCur!=NULL)
{
cout<<pCur->number<<" "<<"姓名:"<<" "<<pCur->name
<<" 日语:"<<" "<<pCur->chinese
<<" 高数:"<<" "<<pCur->maths
<<" C语言:"<<" "<<pCur->english<<endl;
pPre=pCur;
pCur=pCur->link;
}
return;
}
void main()
{
cout<<"\t\t\t**************************"<<endl;
cout<<"\t\t\t** 学生成绩管理系统 **"<<endl;
cout<<"\t\t\t**************************"<<endl;
cout<<"\ …… 此处隐藏:3454字,全部文档内容请下载后查看。喜欢就下载吧 ……