• 大小: 31KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2022-04-07
  • 语言: C/C++
  • 标签: c++  链表  结构体  

资源简介

这个学生成绩管理系统,由本人亲自编写,经过调试运行没有问题,总体设计(主要功能模块) ★ 学生信息载入模块 ★ 学生信息创建模块 ★ 学生信息查询模块 ★ 学生信息修改模块 ★ 学生信息统计模块 ★ 学生信息显示模块 ★ 学生信息保存模块 本程序采用链表的形式处理学生信息,所以用结构体储存学生的信息,每个函数模块都相互独立,源代码简单易懂,可以方便的删除、修改、添加模块,便于根据各种情况对程序升级,以完成任务。 感谢使用啊!

资源截图

代码片段和文件信息

#include “iostream.h“
#include “string.h“
#include “malloc.h“
#include“stdlib.h“
#include “fstream.h“
#include“stdio.h“
#include“iomanip.h“  
#include“conio.h“
 
#define NULL 0
#define LEN sizeof(struct STUDENT)


struct STUDENT
{
long number;
char name[20];
char sex[10];
int age;

int mathematicsRecord;
int englishRecord;
int chineseRecord;
int physicalRecord;
    int cRecord;
int xuanxiuRecord;
double average;

struct STUDENT *next;
};



struct STUDENT * head=NULL;





void LoadData();
void SaveData();
void Add();
void Input();
void Show();


void FindName();
void FindNumber();
void FindClass();

void Modify();
void Del();
void Sort();
void FindStudentAverage();
void FindClassAverage();
void AboutMe();


void LoadData(){
    char filename[20]; 
cout<<“请输入你要读取的文件名: “; 
cin>>filename; 
ifstream fin(filenameios::in); 
if(!fin)
cout<<“文件打不开 !“< else { 
struct STUDENT *p1*p2;
p1=p2=(struct STUDENT *)malloc(LEN);
fin>>p1->number>>p1->name>>p1->sex
   >> p1->age >> p1->chineseRecord 
   >> p1->englishRecord >> p1->mathematicsRecord
   >> p1->physicalRecord>>p1->cRecord 
   >> p1->xuanxiuRecord ;
int n=0;
while(1){
if(fin.eof())
break;
n++;
        if(n==1)
head=p1;
        else
            p2->next=p1;

            p2=p1;

            p1=(struct STUDENT *)malloc(LEN);
fin>>p1->number>>p1->name>>p1->sex
       >> p1->age >> p1->chineseRecord 
       >> p1->englishRecord >> p1->mathematicsRecord
       >> p1->physicalRecord>>p1->cRecord 
       >> p1->xuanxiuRecord ;
}
            p2->next=NULL;
cout<<“文件已读取成功!“< }
fin.close(); 
cout<<“显示如下。“<

void SaveData() //保存函数 

char filename[20];
cout<<“请输入文件名: “; 
cin>>filename; 
ofstream fout(filename); 
if(!fout)
cout<<“文件不能打开!“< else 

struct STUDENT *p;
p=head;
do{
        fout << setw(0) << p->number << setw(8) << p->name << setw(8)<sex<age
     << setw(8) << p->chineseRecord  << setw(8) << p->englishRecord << setw(8) 
     << p->mathematicsRecord << setw(8) << p->physicalRecord <cRecord 
 <xuanxiuRecord<         p=p->next;
}while(p != NULL);
}
cout<<“保存成功!“< cout<<“将返回上一级。“< fout.close(); 
getchar(); 





int n=0;
void Input(){
struct STUDENT *p1*p2;
char flag=‘y‘;
p1=p2=(struct STUDENT *)malloc(LEN);
cout << “请按照以下顺序,输入您要输入的学生信息:“<< endl;
cout << setw(0) << “学号“ << setw(8) << “姓名“ << setw(8)<<“性别“<  << setw(8) << “语文“ << setw(8) << “英语“ << setw(8) << “数学“ 
<< setw(8) << “物理“ <    cin >> p1->number >> p1->name >>p1->sex
>> p1->age >> p1->chineseRecord 
>> p1->englishRecord >> p1->mathematicsRecord
>> p1->physicalRecord>>p1->cRecord 
>> p1->xuanxiuRecord ;

while(flag==‘y‘){
n++;
        if(n==1)

评论

共有 条评论