精华内容
下载资源
问答
  • #include#includestruct student{char name[30];int a1,a2,a3,num;float pow;}zl[100];int count=0;void jiemian1(); //主界面int jiemian2();//选择界面void luru();//录入函数void xianshi();...//排序vo...

    #include

    #include

    struct student

    {

    char name[30];

    int a1,a2,a3,num;

    float pow;

    }zl[100];

    int count=0;

    void jiemian1(); //主界面

    int jiemian2();  //选择界面

    void luru();  //录入函数

    void xianshi();  //显示

    void paixv();  //排序

    void diaoyong(int); //循环调用选择界面

    void tianjia();  //添加信息

    void chaxun1();  //按学号查询详细信息

    void chaxun2();  //按姓名查询详细信息

    void xiugai();  //修改信息

    void shanchu();  //删除信息

    void main()     //main函数

    {

    jiemian1();

    }

    void jiemian1()    //主界面

    {

    char a;

    printf("\n\n\n\n\t\t\t学  员  信  息  管  理  器\n\n\n\t\t\t  C  语 言 项 目 实 战  2\n\n\n\t\t\t   S 1 T 2 8 班:王   康\n\n");

    printf("\n\t\t\t   按 回 车 键 继 续:");

    scanf("%c",&a);

    system("cls");

    jiemian2();

    }

    int jiemian2()    //选择界面

    {

    int a,b;

    printf("*******************************主   要   功   能********************************");

    printf("\n\n\n\n\t\t\t\t1.录 入 信 息\n\n\t\t\t\t2.添 加 信 息\n\n\t\t\t\t3.查 看 信 息\n\n\t\t\t\t4.查 询 信 息\n\n\t\t\t\t5.修 改 信 息\n\n\t\t\t\t6.删 除 信 息\n\n\t\t\t\t7.退  出\n\n\t\t\t\t请 选 择:");

    scanf("%d",&a);

    switch(a)

    {

    case 1:system("cls");luru();break;

    case 2:system("cls");tianjia();break;

    case 3:system("cls");paixv();break;

    case 4:

    system("cls");

    printf("1.按学号查询详细信息\n2.按姓名查询详细信息\n请选择:");

    scanf("%d",&b);

    switch(b)

    {

    case 1:system("cls");chaxun1();break;

    case 2:system("cls");chaxun2();break;

    }break;

    case 5:system("cls");xiugai();break;

    case 6:system("cls");shanchu();break;

    case 7:system("cls");return a;break;

    }

    }

    void diaoyong(int b)  //循环调用选择界面

    {

    char a='y';

    printf("是否返回选择页(y/n):");

    fflush(stdin);

    a=getchar();

    system("cls");

    while(a=='y'||a=='Y')

    {

    b=jiemian2();

    if(b==7)

    {

    break;

    }

    }

    }

    void luru()     //录入函数

    {

    char a='y';

    do

    {

    printf("请输入学员信息:\n");

    printf("学号:");

    scanf("%d",&zl[count].num);

    printf("姓名:");

    fflush(stdin);

    gets(zl[count].name);

    printf("三门成绩:\n");

    printf("成绩1:");

    scanf("%d",&zl[count].a1);

    printf("成绩2:");

    scanf("%d",&zl[count].a2);

    printf("成绩3:");

    scanf("%d",&zl[count].a3);

    zl[count].pow=(zl[count].a1+zl[count].a2+zl[count].a3)/3;

    printf("是否继续(y/n):");

    fflush(stdin);

    a=getchar();

    count++;

    system("cls");

    }while(a=='y'&&count<100);

    paixv();

    diaoyong(count);

    }

    void tianjia()    //添加信息

    {

    char a='y';

    do

    {

    printf("请输入学员信息:\n");

    printf("学号:");

    scanf("%d",&zl[count].num);

    printf("姓名:");

    fflush(stdin);

    gets(zl[count].name);

    printf("三门成绩:\n");

    printf("成绩1:");

    scanf("%d",&zl[count].a1);

    printf("成绩2:");

    scanf("%d",&zl[count].a2);

    printf("成绩3:");

    scanf("%d",&zl[count].a3);

    zl[count].pow=(zl[count].a1+zl[count].a2+zl[count].a3)/3;

    printf("是否继续(y/n):");

    fflush(stdin);

    a=getchar();

    count++;

    system("cls");

    }while(a=='y'&&count<100);

    paixv(count);

    diaoyong(count);

    }

    void xianshi()    //显示

    {

    int i;

    printf("学号\t  \t姓名\t\t\t平均成绩\n");

    for(i=0;i

    {

    printf("%2d\t\t%-8s\t\t%-10.2f\n",zl[i].num,zl[i].name,zl[i].pow);

    }

    }

    void paixv()    //排序

    {

    int i,j;

    struct student zl1;

    printf("排序前:\n");

    xianshi(count);

    for(i=0;i

    {

    for(j=1;j

    {

    if(zl[j-1].pow

    {

    zl1=zl[j-1];

    zl[j-1]=zl[j];

    zl[j]=zl1;

    }

    }

    }

    printf("排序后:\n");

    xianshi();

    diaoyong(count);

    }

    void chaxun1()    //按学号查询详细信息

    {

    int i,num;

    printf("请输入要查询学员的学号:");

    scanf("%d",&num);

    printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");

    for(i=0;i

    {

    if(zl[i].num==num)

    {

    printf("%d\t%s\t%d\t%d\t%d\t%.2f\n",zl[i].num,zl[i].name,zl[i].a1,zl[i].a2,zl[i].a3,zl[i].pow);

    }

    }

    diaoyong(count);

    }

    void chaxun2()    //按姓名查询详细信息

    {

    int i;

    struct student zl1;

    printf("请输入要查询学员的姓名:");

    fflush(stdin);

    gets(zl1.name);

    printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");

    for(i=0;i

    {

    if((strcmp(zl[i].name,zl1.name))==0)

    {

    printf("%d\t%s\t%d\t%d\t%d\t%.2f\n",zl[i].num,zl[i].name,zl[i].a1,zl[i].a2,zl[i].a3,zl[i].pow);

    }

    }

    diaoyong(count);

    }

    void xiugai()    //修改信息

    {

    int i,num;

    printf("请输入要查询学员的学号:");

    scanf("%d",&num);

    printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");

    for(i=0;i

    {

    if(zl[i].num==num)

    {

    break;

    }

    }

    printf("%d\t%s\t%d\t%d\t%d\t%.2f\n",zl[i].num,zl[i].name,zl[i].a1,zl[i].a2,zl[i].a3,zl[i].pow);

    printf("请输入学员信息:\n");

    printf("学号:");

    scanf("%d",&zl[i].num);

    printf("姓名:");

    fflush(stdin);

    gets(zl[i].name);

    printf("三门成绩:\n");

    printf("成绩1:");

    scanf("%d",&zl[i].a1);

    printf("成绩2:");

    scanf("%d",&zl[i].a2);

    printf("成绩3:");

    scanf("%d",&zl[i].a3);

    zl[i].pow=(zl[i].a1+zl[i].a2+zl[i].a3)/3;

    printf("学号\t姓名\t成绩1\t成绩2\t成绩3\t平均成绩\n");

    printf("%d\t%s\t%d\t%d\t%d\t%.2f\n",zl[i].num,zl[i].name,zl[i].a1,zl[i].a2,zl[i].a3,zl[i].pow);

    diaoyong(count);

    }

    void shanchu()    //删除信息

    {

    int num,i,j;

    printf("请输入要删除的学员学号:");

    scanf("%d",&num);

    for(i=0;i

    {

    if(zl[i].num==num)

    {

    for(j=i;j

    {

    zl[j]=zl[j+1];

    }

    }

    }

    count--;

    xianshi();

    diaoyong(count);

    }

    展开全文
  • 实现学生信息中的成绩输入、文件输出、名次排序等,非常的强大
  • 定义一个这种类型的数组存储一个班级的学生成绩信息,从键盘输入学生的个人信息和成绩(不包括总分),通过公式“总分=数学+英语+政治”计算每个同学的总分,按照总分降序排序,最后按总分从高到低的顺序输出。...

    ##按照如下格式定义一个结构体类型,并定义一个这种类型的数组存储一个班级的学生成绩信息,从键盘输入学生的个人信息和成绩(不包括总分),通过公式“总分=数学+英语+政治”计算每个同学的总分,并按照总分降序排序,最后按总分从高到低的顺序输出。(图中的第5题)

    #include<iostream>
    using namespace std;
    const int size = 5;
    
    struct student
    {
    	long int num;
    	char name[8];
    	double math;
    	double eng;
    	double poli;
    	double total;
    }; struct student stu[5];
    
    void input(student* stu, int size);
    void sum(student* stu, int size);
    void rank_b(student* stu, int size);
    int main()
    {
    	cout << "please input student's information:" << endl;
    	input(stu, 5);
    	sum(stu, 5);
    	rank_b(stu, 5);
    	return 0;
    }
    void input(student* stu, int size)
    {
    	int i;
    	for (i = 0; i < size; i++)
    	{
    		cin >> stu[i].num >> stu[i].name >> stu[i].math >> stu[i].eng >> stu[i].poli;
    	}
    }
    void sum(student* stu, int size)
    {
    	int i;
    	for (i = 0; i < size; i++)
    	{
    		stu[i].total = stu[i].math + stu[i].eng + stu[i].poli;
    	}
    }
    void rank_b(student* stu, int size)
    {
    	int i,j;
    	student temp;
    	for (i = 0; i < size; i++)
    	{
    		for (j = i + 1; j < size; j++)
    		{
    			if (stu[j].total > stu[i].total)
    			{
    				temp = stu[i];
    				stu[i] = stu[j];
    				stu[j] = temp;
    			}
    		}
    	}
    	for (i = 0; i < size; i++)
    	{
    		cout<< stu[i].num<<'\t'<<stu[i].name <<'\t'<< stu[i].math<<'\t'<< stu[i].eng<<'\t'<< stu[i].poli<<'\t'<<stu[i].total<<endl;
    	}
    }
    
    
    展开全文
  • '''学生信息管理系统:1、采用本地txt文件存储学生信息2、包括学号、姓名、英语成绩、python成绩、java成绩3、实现增、删、改、查、排序计算总人数、显示全部、退出系统,功能'''filename="students.txt" # 定义...

    '''

    学生信息管理系统:

    1、采用本地txt文件存储学生信息

    2、包括学号、姓名、英语成绩、python成绩、java成绩

    3、实现增、删、改、查、排序、计算总人数、显示全部、退出系统,功能

    '''

    filename="students.txt" # 定义存放学生信息的文件名

    def main():

    '''

    系统主函数

    '''

    while True: # 循环,知道用户退出

    menu() # 显示主菜单

    choice = int(input("请选择:"))

    if choice == 0:

    a = input("是否确定退出系统?y/n :")

    if a == 'y':

    print("谢谢使用!")

    break

    else:

    continue

    elif choice == 1:

    insert()

    elif choice == 2:

    search()

    elif choice == 3:

    delete()

    elif choice == 4:

    modify()

    elif choice == 5:

    sortd()

    elif choice == 6:

    total()

    elif choice == 7:

    show()

    else:

    print("选择有误,请重新选择!")

    continue

    def menu():

    '''

    主菜单函数

    '''

    print("===============学生信息管理系统================")

    print("-------------------功能菜单--------------------")

    print("\t1.录入学生信息")

    print("\t2.查询学生信息")

    print("\t3.删除学生信息")

    print("\t4.修改学生信息")

    print("\t5.排序")

    print("\t6.学生总人数")

    print("\t7.显示全部学生")

    print("\t0.退出系统")

    def get_all():

    '''

    获取储存的全部学生信息,存放到students列表中,每个列表元素为一个学生信息(格式为字符串)

    '''

    file = open(filename,'r',encoding='utf-8')

    students = file.readlines()

    return students

    def insert():

    '''

    添加学生信息的函数

    '''

    students = [] # 保存输入的所有学生信息,每一条是一个学生的信息,保存在一个字典中

    while True:

    stu_id = input("录入学生ID:")

    if not stu_id:

    continue

    try:

    name = input("录入学生姓名:")

    english = int(input("录入英语成绩:"))

    python = int(input("录入python成绩:"))

    java = int(input("录入java成绩:"))

    except:

    print("录入的信息有误。")

    continue # 重新执行insert()函数

    # 将学生信息存入字典中

    stu = {'stu_id':stu_id,'name':name,'english':english,'python':python,'java':java}

    # 将单个学生信息作为一个列表元素放入列表students中

    students.append(stu)

    answer = input("是否继续添加y/n:")

    if answer == 'y':

    continue # 如果继续添加,再次执行insert()函数

    else:

    break

    save(students) # 调用保存数据的函数,将数据写入txt文件

    def search():

    '''

    查询功能

    '''

    while True:

    stu_id = input("输入要查询的学生ID:")

    if not stu_id:

    print('输入的ID有误,请重新输入。')

    continue

    else:

    try:

    file = open(filename,'r',encoding='utf-8')

    students = get_all() # 调用get_all函数,获取文件中全部学生信息

    except:

    print('无学生信息')

    break # 文件中没有学生信息,结束本函数,此处可以用return也一样

    for stu in students:

    stu = eval(stu) # 将学生信息字符串转换成字典

    mark = 0

    if stu['stu_id'] == stu_id:

    print(f'查询到ID为{stu_id}的学生信息')

    mark = 1

    show(all=0,infos=[str(stu)]) # 调用显示函数

    break

    if not mark:

    print(f'未找到ID为{stu_id}的学生信息')

    answer = input('是否继续查询y/n:')

    if answer == 'y':

    continue

    else:

    break

    def delete():

    '''

    删除学生信息函数

    '''

    while True:

    students = get_all() # 获取全部学生信息

    mark = 0

    students_new = [] # 保留删除后的其他学生信息

    show() # 显示全部学生信息

    stu_id = input("请输入要删除的学生ID:")

    if not stu_id:

    print("输入有误")

    continue # 回到delete函数头部,显示全部学生信息

    else:

    for stu in students:

    stu = eval(stu) # 遍历全部学生信息,匹配要删除的ID值

    if stu['stu_id'] == stu_id:

    mark = 1 # 如果找到要删除的学生ID,标记mark为1

    continue # 要删除的学生信息不放入students_new

    else:

    students_new.append(stu) # 如果该学生不是要删除的,则放入删除后的学生信息列表中

    if not mark:

    print(f"未找到ID为{stu_id}的学生信息") # 如果没有做出任何删除,则不保存

    else:

    print(f'已删除ID为{stu_id}的学生信息')

    save(students_new,mode='w') # 如果删除了学生信息,则重新保存剩下的学生信息

    answer = input("是否继续删除y/n:")

    if answer == 'y':

    continue

    else:

    break

    def modify():

    '''

    修改学生信息函数

    '''

    show() # 显示全部学生信息

    while True:

    students_new = [] # 用于保存修改后的全部学生信息

    mark = 0 # 修改标记

    stu_id = input("请输入要修改的学生ID:")

    if not stu_id:

    print("输入的ID有误,请重新输入。")

    continue

    students = get_all()

    for student in students:

    student = eval(student)

    if student['stu_id'] == stu_id:

    try:

    name = input("录入学生姓名:")

    english = int(input("录入英语成绩:"))

    python = int(input("录入python成绩:"))

    java = int(input("录入java成绩:"))

    except:

    print("录入的信息有误。")

    continue

    stu = {'stu_id':stu_id,'name':name,'english':english,'python':python,'java':java}

    students_new.append(stu) # 将修改的信息存入修改后的列表中

    mark = 1

    else:

    students_new.append(student)

    if mark == 0: # 标记为0,表示没有做任何修改,不做保存动作

    print(f"未找到ID为{stu_id}的学生信息")

    else:

    save(students_new,mode='w') # 如果修改了学生信息,则重新保存全部信息

    show() # 再次显示全部学生信息

    answer = input("是否继续修改y/n:")

    if answer == 'y':

    continue

    else:

    break

    def sortd():

    '''

    学生信息排序

    '''

    while True:

    students_new = [] # 用来保存排好序的学生信息

    students = get_all() # 获取全部学生信息

    show() # 显示全部学生信息

    asc_or_desc = input("请选择1.升序 2.降序:") # 选择排序方式

    if asc_or_desc=='1':

    asc_or_desc_bool = False

    elif asc_or_desc=='2':

    asc_or_desc_bool = True

    else:

    print("您的输入有误。")

    sortd() # 重新调用sortd函数,效果与continue一样

    sort_mode = int(input("按什么排序1.英语成绩 2.python成绩 3.java成绩 4.总成绩 :"))

    for student in students:

    # 遍历全部学生信息变为字典,作为单个元素,存入students_new列表中

    students_new.append(eval(student))

    if sort_mode==1:

    # students_new列表调用系统排序函数sort,key表示用来排序的元素,reverse表示排序方式 True降序 False升序

    students_new.sort(key=lambda x : int(x['english']),reverse=asc_or_desc_bool)

    elif sort_mode==2:

    students_new.sort(key=lambda x : int(x['python']),reverse=asc_or_desc_bool)

    elif sort_mode==3:

    students_new.sort(key=lambda x : int(x['java']),reverse=asc_or_desc_bool)

    elif sort_mode==4:

    students_new.sort(key=lambda x : int(x['english'])+int(x['python'])+int(x['java']),reverse=asc_or_desc_bool)

    else:

    print("输入有误,请重新输入")

    # continue

    sortd() # 此处递归,效果与continue一样

    # 利用列表推导式,将列表students_new中的字典元素转换成字符串,放入show函数进行显示

    show(0,[str(stu) for stu in students_new])

    answer = input("是否重新排序y/n:")

    if answer == 'y':

    continue

    else:

    break

    def total():

    '''

    显示当前学生总人数

    '''

    students = get_all()

    print('当前学生总人数是%s:'%len(students))

    def show(all=1,students=[]):

    '''

    格式化显示函数

    all=1显示全部学生信息,all!=1 显示students参数传入的学生信息

    students需要显示的学生信息,默认为空,则显示全部学生

    '''

    # 标题栏格式化显示

    format_title = "{:^5}\t{:^6}\t{:^8}\t{:^8}\t{:^8}\t{:^8}"

    print(format_title.format('ID','姓名','英语成绩','python成绩','java成绩','总成绩'))

    # 数据栏格式化,^5表当前列占5格

    format_data = "{:^5}\t{:^6}\t{:^8}\t{:^8}\t{:^8}\t{:^8}"

    if all==1:

    try:

    students = get_all()

    except:

    print('无学生信息')

    for stu in students:

    # 遍历需要显示的学生信息,格式化输出,单个学生信息为字符串,需要转换成字典,才能提取具体的数据

    stu = eval(stu)

    print(format_data.format(stu['stu_id'],stu['name'],stu['english'],stu['python'],stu['java'],stu['english']+stu['python']+stu['java']))

    def save(students,mode='a'):

    '''

    信息保存到本地txt文件的函数

    students需要保存的学生信息

    mode文件打开方式,默认为a追加,w为重写,r为只读,a+为读写

    '''

    try:

    stu_txt = open(filename,mode,encoding='utf-8')

    except:

    stu_txt = open(filename,mode,encoding='utf-8')

    for stu in students:

    # 逐条写入文件,每个学生信息换行写入

    stu_txt.write(str(stu)+'\n')

    stu_txt.close() # 关闭文件流

    if __name__ == '__main__':

    main()

    展开全文
  • 1、录入学生基本信息 2、直接插入排序 3、冒泡排序 4、快速排序 5、简单选择排序 6、堆排序 7、2-路归并排序 8、输出学生信息 */ #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; ...
    //排序:
    /*  
        1、录入学生基本信息
    	2、直接插入排序
    	3、冒泡排序
    	4、快速排序
    	5、简单选择排序
    	6、堆排序
    	7、2-路归并排序
    	8、输出学生信息
    */
    #include<stdio.h>
    #include<stdlib.h>
    typedef struct{
    	char name[20];
    	int num;
    	int score;
    	int degree;
    }Student,*student;
    int save(student w,int n)
    {
    	FILE *fp;
    	if((fp=fopen("stu.txt","wb"))==NULL)
    	{
    		printf("cannot creat the file!\n");
    		return 1;
    	}
    	for(int i=1;i<=n;i++)
    	{
    		fwrite(w+1,sizeof(Student),1,fp);
    		w++; 
    	}
    	fclose(fp);
    	return 0;
    }
    void Studentinfo(student stu,int n)
    {
    	int i;	
    	printf("录入学生的信息:\n");
    	printf("姓名   学号   分数:\n");
    	for(i=1;i<=n;i++)
    	{
    		scanf("%s",stu[i].name);
    		scanf("%d",&stu[i].num);
    		scanf("%d",&stu[i].score);	
    		getchar();
    	}
    	save(stu,n);
    }
    
    int openfile(student p,int n)
    {
    	FILE *fp;
    	if((fp=fopen("stu.txt","rb"))==NULL)
    	{
    		printf("cannot open the file!\n");
    		return 1;
    	}
    	for(int i=1;i<=n;i++)
    	{
    		fread(p+1,sizeof(Student),1,fp);
    		p++;
    	}
    	fclose(fp);	
    	return 0;
    }
    void showinfo(student stu,int n)
    {
    	int i;
    	printf("进行排序后学生的信息:\n");
    	printf("姓名   学号   分数   名次:\n");
    	for(i=1;i<=n;i++)
    	{
    		stu[i].degree=n-i+1;
    		printf("%s ",stu[i].name);
    		printf("%5d%5d%5d\n",stu[i].num,stu[i].score,stu[i].degree);
    	}
    }
    void InsertSort(student stu,int n)
    {
    	int i,j;
    	for(i=2;i<=n;i++)
    	{
    		if(stu[i].score<stu[i-1].score)
    		{
    			stu[0]=stu[i];
    			stu[i]=stu[i-1];
    			for(j=i-2;stu[0].score<stu[j].score;j--)
    				stu[j]=stu[j-1];
    			stu[j+1]=stu[0];
    		}
    	}
    	showinfo(stu,n);		
    }
    void BubbleSort(student stu,int n)
    {
    	int i,j;
    	int flag=1;
    	Student t;
    	for(i=1;i<=n&&flag;i++)
    	{
    		flag=0;
    		for(j=1;j<=n-i;j++)
    		{
    			if(stu[j].score>stu[j+1].score)
    			{
    				flag=1;
    				t=stu[j];
    				stu[j]=stu[j+1];
    				stu[j+1]=t;
    			}
    		}
    	}
    	showinfo(stu,n);
    }
    int Partition(student &stu,int low,int high)
    {
    	stu[0]=stu[low];
    	int   keyword=stu[low].score;
    	while(low<high){
    
    		while(low<high&&stu[high].score>=keyword)
    			high--;
    		stu[low]=stu[high];
    		while(low<high&&stu[low].score<=keyword)
    			low++;
    		stu[high]=stu[low];
    	}
    	stu[low]=stu[0];
    	return low;
    }
    void QSort(student &stu,int low,int high)
    {
    	int temp;
    	if(low<high)
    	{
    		temp=Partition(stu,low,high);
    		QSort(stu,low,temp-1);
    		QSort(stu,temp+1,high);
    	}
    }
    void SlectsSort(student stu,int n)
    {
    	int i,j,k;
    	Student temp;
    	for(i=1;i<n;i++)
    	{
    		k=i;
    		for(j=i+1;j<=n;j++)
    			if(stu[k].score>stu[j].score)
    				k=j;
    		if(k!=i)
    		{
    			temp=stu[i];
    			stu[i]=stu[k];
    			stu[k]=temp;
    		}
    	}
    	showinfo(stu,n);
    }
    void HeapAdjust(student stu,int s,int n)
    {
    	
    	Student rc;
    	rc=stu[s];
    	for(int j=2*s;j<=n;j*=2)
    	{
    		if(j<n&&stu[j].score<stu[j+1].score)
    			j++;
    		if(rc.score>stu[j].score) break;
    		stu[s]=rc;
    	}
    }
    void HSort(student stu,int n)
    {//堆排序
    	int i;
    	Student t;
    	for(i=n/2;i>0;i--)
    		HeapAdjust(stu,i,n);
    	for(i=n;i>1;i--)
    	{
    		t=stu[1];
    		stu[1]=stu[i];
    		stu[i]=t;
    		HeapAdjust(stu,1,i-1);
    	}
    		
    }
    student S;
    void merge(Student stu[],int i,int m,int n)
    {
    	int j,k;
    	j=m+1;
    	k=i;
    	while(j<=n&&i<=m)
    	{
    		if(stu[i].score<=stu[j].score)
    			S[k++]=stu[i++];
    		else 
    			S[k++]=stu[j++];
    	}
    	while(j<=n)
    		S[k++]=stu[j++];
    	while(i<=m)
    		S[k++]=stu[i++];
    	for(int t=i;t<=n;t++)
    		stu[t]=S[t];
    }
    void MergeSort(student stu,int low,int high)
    {
    	if(low==high)
    		return;
    	int m;
    	m=(low+high)/2;
    	MergeSort(stu,low,m);
    	MergeSort(stu,m+1,high);
    	merge(stu,low,m,high);
    }
    int main()
    {
    	student stu;
    	int n,low,high;
    	printf("请输入学生个数:\n");
    	scanf("%d",&n);
    	low=1;high=n;
    	stu=(student)malloc((n+1)*sizeof(Student));
    	Studentinfo(stu,n);
    	openfile(stu,n);
    	InsertSort(stu,n);
    	openfile(stu,n);
    	BubbleSort(stu,n);
    	openfile(stu,n);
    	QSort(stu,low,high);
    	showinfo(stu,n);
    	openfile(stu,n);
    	SlectsSort(stu,n);
    	HSort(stu,n);
    	showinfo(stu,n);
    	/*MergeSort(stu,low,high);
    	showinfo(stu,n);*/
    	return 0;	
    }

    展开全文
  • 1.可实现对学生成绩的录入、查询、增加、删除、输出基本操作 2.可对学生的成绩进行排序,按总分排序、按科目排序、按平均分排序等 3.录入学生的基本分数,可计算并输出学生的操行分,成绩等级等 4.采用了文件的读和...
  • 学生成绩管理系统顺序表实现

    千次阅读 多人点赞 2016-11-19 13:37:13
    #include #include #define listSize 100//学生信息结构体 typedef struct { long num;//学号 char name[10];//姓名 int score;//成绩 }STUDENT;//顺序表结构体 typedef struct { STUDENT stu[l
  • 【简答题】[说明] 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。 (1)每门课程都由3~6个单元构成... (3)在记录学生成绩之前,系统需要验证这些成绩是否有...
  • 一、特色 本作品采用EXCEL 公式+VBA制作,既可根据你平时使用EXCEL的习惯和方式操作充分发挥EXCEL的功能,...另总表中还提供了按班级排序、填入总分、平均分、计算班级排名、年级排名、分数超限检查等多种自动化功能。
  • /*声明局部变量*/ while(1) /*循环输出以下信息*/ { printf("\n\t\t\t欢迎来到学生成绩管理系统!\n"); printf("\n\t\t\t\t ###制作\n"); printf("\t\t\t-------------------------------\n"); printf("\t\t\t1.键入...
  • 本文实例为大家分享了C++学生成绩管理系统的具体代码,供大家参考,具体内容如下* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生* All rights reserved.* 文件名称: ...
  • 学生成绩管理

    2021-05-20 09:42:46
    1、西北师范大学 xxxx计算机与电子信息工程课程设计报告书课程名称 :C语言程序设计专业 :计算机科学与技术(网络应用与技术)课题名称 :学生成绩管理班级 :学号 :姓名 :指导教师 :2014-2015 学年 第二学期.学生成绩...
  • 福建工程学院计算机和信息科学试验汇报20XX – 20XX 年第 1 学期 任课老师: 章静课程名称结构化程序综合设计班级计算机1001座号姓名张扬文试验题目学生成绩管理系统试验时间试验开始日期:20XX/2/24 汇报提交日期...
  • 输入学生的姓名学号年龄以及三门考试的成绩按平均分由低到高将学生信息进行排序 代码实现如下: #include<stdio.h> struct student { int num,score[3],age; char name[20]; float aver; }stu[1000]; ...
  • C/C++——学生成绩管理系统(读写文件版)

    万次阅读 多人点赞 2018-05-28 21:47:25
    学生信息包括:学号、姓名、平时成绩、期末考试成绩 主菜单: ========================== = 欢迎使用成绩管理系统 = = 1=录入学生 2=显示信息 = = 3=排序总评 4=查找学生 = = 5=插入...
  • 宋福英摘 要: 中国高校为保证学生...设计可行、易操作的基于结构体的学生信息管理系统,可以在高校学生基本信息管理成绩管理信息统计等工作中发挥其高效、可靠、安全、低差错等优势。关键词: C语言; 结构体...
  • 基于B/S模式的成绩管理系统文献综述1.本课题研究的重要性和意义目前,在学校里...该系统能够实现对学生的基本信息进行管理,主要包括添加、修改和删除学生的基本信息及课程的基本信息,录入、修改和删除学生成绩...
  • 沈阳航空航天大学课程设计报大作业名称:C语言课程设计大作业题目:学生成绩管理系统设计院():计算机学院专业:计算机科学与技术班 级:学 号:姓 名: 指导教师:完成日期:2016年12月24日目录TOC \o "1-5" \h \...
  • 学生成绩管理系统c语言系列的课程设计,绝对真实,欢迎大家下载!
  • 宿迁学院软件测试—学生成绩管理系统姓名: *****班级:计算机(3)班学号:******部: 三 指导老师:*****成绩:目录目录21引言31.1开发系统目标31.2开发系统背景31.3用户需求31.4系统组成32功能要求42.1系统功能...
  • 学生成绩管理系统源代码》由会员分享,可在线阅读,更多相关《学生成绩管理系统源代码(25页珍藏版)》请在人人文库网上搜索。1、一、课程设计(论文)题目学生成绩管理系统二、本次课程设计(论文)应达到的目的通过...
  • MySQL学生成绩管理系统设计实验报告

    万次阅读 多人点赞 2020-12-01 21:46:15
    主要介绍学生成绩管理系统项目开发的背景、目的、对象以及研究内容。 1.1项目背景 每个学校都需要在期末进行考试成绩的统计分析工作,而这些工作都必须在考试结束后一个星期的时间内完成。大量的成绩数据的统计工作...
  • 《c语言学生成绩管理系统实训报告(含源代码)》由会员分享,可在线阅读,更多相关《c语言学生成绩管理系统实训报告(含源代码)(13页珍藏版)》请在人人文库网上搜索。1、郑州轻工业学院实 训 报 告实训名称: C语言程序...
  • 3、 计算学生成绩绩点 4、退出学籍管理系统 ********************************************************** ②功能说明输入数字 1-4 执行相应的功能,输入其他数字提示错误信息(该选项不存在),返回主界面。...
  • 数据结构课程设计报告_学生成绩管理系统西北工业大学数据结构课程设计报告: 学生成绩管理系统(院): 理学 院专 业: 信息计算科学班 级:姓 名: 。。。。。 学 号: 2010302676指导教师: 佘红伟学年学期: 2011 ~ ...
  • C语言课程设计学生信息管理系统姓 名 洪伟生院 机 学 院日 期 2015 年 7 月 5 日目 录设计要求 ………………………………………………算法分析理论依据…………………………………………………主要实现方法...
  • 第 31卷第 6期 2010年 12月 宁夏师范学院学报 (自然科学 ) Journal of ... 2010 基于 Matlab的学生成绩综合分析 任治斌 , 单 蓉 (渭南师范学院 计算机科学 , 陕西 渭南 714000) 摘 要:以教育统计与测量理论为基础...
  • 实用标准文案 部 * 班级 * 学号 * 姓名 * 指导教师 * 评语 一 设计题目学生成绩管理系统 二 设计目的 通过编写学生成绩管理系统掌握循环结构数组结构结构体 的设计和应用熟练方法的调用选择结构的具体应用排序检索...
  • [130254]C语言程序设计实训姓名:徐博院():软件学院专业班级:网页设计02学号:621413510250指导教师:成绩:时间:2015年1月5 日至2015年1 月9日第1页一设计项目:学生成绩管理系统二总体设计:1 程序设计组成...
  • 移通学院C语言程序设计报告书设计名称:学生成绩管理系统专业:指导老师: 班级:姓名: 学号: 座号:时间一、实验目的1.在编辑应用程序过程中,逐步加深对C语言编程的理解; 2.加强实践的能力,动手能力,同时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,745
精华内容 1,898
关键字:

学生信息管理系计算学生成绩并排序