----------学生信息管理系统-------

原创 2015年07月06日 21:43:59
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
using namespace std;
struct student_message
{
    int student_num;
    char student_name[15];
    char student_sex[15];
    double sub_a,sub_b,sub_c,sub_d,sub_e;
    double sub_ave;
    double sub_sum;
    int mingci;
} data[100];
int ji=0,n,x,tmp=1;
void del(int m)
{
    for(int i=1; i<=n+ji-1; i++)
    {
        if(data[i].student_num==m)
        {
            for(int j=i; j<=n+ji-1; j++)
            {
                data[j]=data[j+1];
            }
            ji--;
            break;
        }
    }
    if(data[n+ji].student_num==m)
        ji--;
}
void xiugai(int m)
{
    for(int i=1; i<=n+ji; i++)
    {
        if(data[i].student_num==m)
        {
            char name[15],sex[15];
            double a,b,c,d,e;
            cout<<"名字"<<endl;
            cin>>name;
            strcpy(data[i].student_name,name);
            cout<<"性别"<<endl;
            cin>>sex;
            strcpy(data[i].student_sex,sex);
            cout<<"成绩"<<endl;
            cin>>a>>b>>c>>d>>e;
            data[i].sub_a=a;
            data[i].sub_b=b;
            data[i].sub_c=c;
            data[i].sub_d=d;
            data[i].sub_e=e;
            data[i].sub_sum=data[i].sub_a+data[i].sub_b+data[i].sub_c+data[i].sub_d+data[i].sub_e;
            data[i].sub_ave=data[i].sub_sum/5;
            break;
        }
    }
}
void showall()
{
    for(int i=1; i<=ji+n; i++)
    {
        cout<<data[i].student_num<<" "<<data[i].student_name<<" "<<data[i].student_sex<<" ";
        cout<<data[i].sub_a<<" "<<data[i].sub_b<<" "<<data[i].sub_c<<" "<<data[i].sub_d<<" "<<data[i].sub_e<<" ";
        cout<<data[i].sub_ave<<" "<<data[i].sub_sum<<" "<<data[i].mingci<<endl;
    }
}
void show(int m)
{
    for(int i=1; i<=n+ji; i++)
    {
        if(data[i].student_num==m)
        {
            cout<<data[i].student_num<<" "<<data[i].student_name<<" "<<data[i].student_sex<<" ";
            cout<<data[i].sub_a<<" "<<data[i].sub_b<<" "<<data[i].sub_c<<" "<<data[i].sub_d<<" "<<data[i].sub_e<<" ";
            cout<<data[i].sub_ave<<" "<<data[i].sub_sum<<" "<<data[i].mingci<<endl;
            break;
        }
    }
}
int cmp(const student_message &a,const student_message &b)
{
    return a.sub_ave>b.sub_ave;
}
void paimingci()
{
    for(int i=1; i<=n+ji; i++)
    {
        //cout<<"Aaaaaaaaaaaaaa"<<endl;
        data[i].mingci=i;
    }
}
void save(char *filename)
{
    FILE *fp=fopen(filename,"at");
    for(int i=tmp; i<=ji+n; i++)
    {
        fprintf(fp,"%d %s %s %.2lf %.2lf %.2lf %.2lf %.2lf %.2lf %.2lf %d\n",data[i].student_num,data[i].student_name,data[i].student_sex,data[i].sub_a,data[i].sub_b,data[i].sub_c,data[i].sub_d,data[i].sub_e,data[i].sub_ave,data[i].sub_sum,data[i].mingci);
    }
    fclose(fp);
    tmp=ji+n;
    return ;
}
void read(char *filename)
{
    char temp;
    FILE *fp;
    fp=fopen(filename,"r");
    while((temp=fgetc(fp))!=EOF)
    {
        cout<<temp;
    }
    fclose(fp);
    return;
}
void build()
{
    cout<<"请输入新建文件名称: ";
}
int main()
{
    cout<<"1、增加学生信息 "<<"  "<<"6、对学生信息进行排序 "<<endl;
    cout<<"2、修改学生信息 "<<"  "<<"7、保存学生信息至记录文件 "<<endl;
    cout<<"3、显示学生信息 "<<"  "<<"8、从记录文件读取学生信息 "<<endl;
    cout<<"4、查询学生信息 "<<"  "<<"9、新建学生信息文件 "<<endl;
    cout<<"5、删除学生信息 "<<"  "<<"0、运行结束 "<<endl;
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        cin>>data[i].student_num>>data[i].student_name>>data[i].student_sex;
        cin>>data[i].sub_a>>data[i].sub_b>>data[i].sub_c>>data[i].sub_d>>data[i].sub_e;
        data[i].sub_sum=data[i].sub_a+data[i].sub_b+data[i].sub_c+data[i].sub_d+data[i].sub_e;
        data[i].sub_ave=data[i].sub_sum/5;
        paimingci();
    }
    int chs;
    cin>>chs;
    while(1)
    {
        switch(chs)
        {
        case 1:
            cout<<"输入学生信息"<<endl;
            ji++;
            cin>>data[n+ji].student_num>>data[ji+n].student_name>>data[ji+n].student_sex;
            cin>>data[ji+n].sub_a>>data[ji+n].sub_b>>data[ji+n].sub_c>>data[ji+n].sub_d>>data[ji+n].sub_e;
            data[ji+n].sub_sum=data[ji+n].sub_a+data[ji+n].sub_b+data[ji+n].sub_c+data[ji+n].sub_d+data[ji+n].sub_e;
            data[ji+n].sub_ave=data[ji+n].sub_sum/5;
            paimingci();
            break;
        case 2:
            cout<<"输入所要修改的学生学号"<<endl;
            cin>>x;
            xiugai(x);
            cout<<"修改完成"<<endl;
            break;
        case 3:
            showall();
            break;
        case 4:
            cout<<"输入所要显示的学生学号"<<endl;
            cin>>x;
            show(x);
            break;
        case 5:
            cout<<"输入所要删除的学生学号"<<endl;
            cin>>x;
            del(x);
            paimingci();
            break;
        case 6:
            sort(data+1,data+ji+n+1,cmp);
            paimingci();
            showall();
            break;
        case 7:
            save("学生信息管理系统.txt");
            break;
        case 8:
            read("学生信息管理系统.txt");
            break;
        case 9:
            build();
            break;
        case 0:
            return 0;
        default:
            cout<<"您输入的编号不在操作步骤里面,请重新选择谢谢"<<endl;
            break;
        }
        cin>>chs;
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

数据结构实训之学生信息管理系统

[cpp] view plain copy  /*   Copyright (c)2016,烟台大学计算机与控制工程学院   * All rights reserved.   * 文件名称:项目1.c...

学生信息管理系统(C实现)

头文件 1 #ifndef __SIMS__ 2 #define __SIMS__ 3 #include 4 #include 5 #includestring.h> 6 ...

【学生信息管理系统 3】:数据库连接不上

实现学生信息管理系统,可是,单单就一登录,就把我给卡住了。  总是出这样的问题,然后有同学跟我讲这是数据库没有连接上造成的。于是,就上网查了资料(主要是师哥师姐的博客),下面是查到的部分信息。(这...

学生信息管理系统总结-宏观把控(一)

先从宏观上看,我们在完成学生信息管理系统用后,回顾一下我们究竟在做什么? (1)      编译工具:我们用得到了面向对象的开发工具vb (2)      关系数据库:sql server 数据库 (...

C++项目(1):学生信息管理系统(简单教学版)

我的第一个C++项目。粗糙的学生信息管理系统。用TXT文件来做数据持久化。
  • qcyfred
  • qcyfred
  • 2017年01月14日 18:45
  • 1789

C语言学生信息管理系统(单链表)

#include #include #include #include #include # define LEN sizeof(struct Student) struct Student...

java 学生信息管理系统

只设计了一部分 全部的太多了。会慢慢更新增加。 学生信息管理包括添加,删除,修改,查询,显示全部等 具体结构如图 在SQL Server 2005数据库上实现数据操作。使用纯面向对象的java语言作...

【C语言】简易学生信息管理系统

//作业一 :学生信息管理系统 //编译环境为 WIN7 64位 CodeBlocks //源代码,可执行程序,报告,建议 #include #include #define MAX 2...
  • lchad
  • lchad
  • 2014年12月24日 22:43
  • 2853

java学生信息管理系统(附源码)

一:   介绍   1:实现登录界面     2:实现主界面            有两种操作 一种是按钮操作  另外一种是SQL语句。     3:连接SQL server 2008 数据库    ...

java(swing)+mysql实现学生信息管理系统

package mxl;import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.a...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:----------学生信息管理系统-------
举报原因:
原因补充:

(最多只允许输入30个字)