C

20170728

1、实现动态数组添加学生完成以下功能:添加一个学生,查看数组大小,得到某一下标的学员,查看所有成员。

首先看一下工程目录的结构

[root@localhost Kshine]# tree student
student
├── bin
│   └── main
├── include
│   ├── includes.h
│   ├── stucontrol.h
│   ├── student.h
│   ├── stuview.h
│   └── welcome.h
├── obj
└── src
    ├── main.c
    ├── stucontrol.c
    ├── student.c
    ├── stuview.c
    └── welcome.c

编译命令

gcc src/*.c -o bin/main -Wall -I include/

关键代码

  • main.c
#include \"includes.h\"
int main(void)
{
	display_welcome(gImage);
    //	Stu stuNum[200];//定义结构提数组i


	Stu *p_stu=(Stu*)malloc(1*sizeof(Stu));
	memset(p_stu,0,1*sizeof(Stu));//初始化
	main_menu_control(p_stu);


	return 0;
}
  • stucontrol.c
#include \"stucontrol.h\"
#include <stdio.h>
#include \"stuview.h\"
#include <unistd.h>
#include <stdlib.h>
void main_menu_control(Stu* stu)//主菜单控制层
{
	int choose = 0;//定义变量接受选择的选项
	while(1)
	{
		sleep(1);         //500*1ms
		system(\"clear\");    //清屏
		main_menu();        //显示主界面
		printf(\"请输入您的选择:\");
		scanf(\"%d\",&choose);//赋值
		if(getchar() != \'\\n\')
		{
			printf(\"输入错误,请重新输入!\\n\");
			continue;
		}
		switch(choose)
		{
			case 1://登录
				break;
			case 2://注册
				stu=regist_student(stu);
				break;
			case 3://查询单个学生信息
				break;
			case 4://删除学生
				break;
			case 5://更新学生成绩
				break;
			case 6://对成绩进行排序
				break;
			case 7://查看所有学生
				print_all_student_message(stu);
				break;
			case 0://退出
				return;
			default:
				printf(\"error!\\n\");
				break;
		}
	}	
}

  • student.c
#include \"includes.h\"
int length = 0;//用来接受注册的实际人数


//注册
Stu* regist_student(Stu* stu)//用户注册函数
{
	int i = 0;
					//	if(length > 200)
					//	{
					//		printf(\"服务器爆满,请换服!\\n\");
					//		return;
					//	}

	Stu data;//定义结构体变量来接受输入的账户名跟密码
	memset(&data,0,sizeof(Stu));//初始化

	char passwd[20] = \"\";

	printf(\"请输入用户名:\");
	scanf(\"%s\",data.name);

        //查重
	for(i = 0; i < length; ++i)
	{
		if(0 == strcmp(data.name,(stu+i)->name))//查看是否数组里面已经存在相同用户名
		{
			printf(\"该用户名已被注册,注册失败!\\n\");
			return stu;
		}
	}

	printf(\"请输入密码:\");
	scanf(\"%s\",data.password);//赋值 
	printf(\"请再次输入密码:\");
	scanf(\"%s\",passwd);
	if(0 == strcmp(data.password,passwd))
	{
		printf(\"注册成功!\\n\");
		data.id = length+1; //这边的id,可以复杂化
		stu[length++] = data;//将输入的data插入进数组
		
		Stu *p=(Stu*)realloc(stu,(length+1)*sizeof(Stu));
		return p;
	}
	printf(\"两次密码不一致,注册失败!\\n\");
	return stu;
}


void print_all_student_message(Stu* stu)//查看所有学生信息
{
	int i = 0;
	printf(\"id\\t姓名\\t成绩\\t密码\\n\");
	printf(\"-------------------------------------\\n\");
	for(i = 0; i < length; ++i)
	{
		printf(\"%d\\t%s\\t%.2f\\t%s\\n\",(stu+i)->id,(stu+i)->name,\\
				(stu+i)->score,(stu+i)->password);
		printf(\"-------------------------------------\\n\");
	}
}

  • stuview.c
#include \"stuview.h\"
#include <stdio.h>

void main_menu(void)
{
	printf(\"1.登录\\n\");
	printf(\"2.注册\\n\");
	printf(\"3.查询单个学生信息\\n\");
	printf(\"4.删除学生\\n\");
	printf(\"5.更新学生成绩\\n\");	
	printf(\"6.对成绩排序\\n\");
	printf(\"7.查看所有学生信息\\n\");
	printf(\"0.退出系统\\n\");
}

  • welcome.c
#include\"includes.h\"


void display_welcome(unsigned char *gImage)
{
        int i=0,j=0;
        unsigned char *p=gImage;
        int hg=32,wd=97,bs=1;
        int tem=154;

        system(\"clear\");
        for(i=0;i<hg;)
        {
                for(j=0;j<wd;j++)
                {
                        if(*p>=tem)printf(\" \");
                        else printf(\"\\033[44;37m#\\033[0m\");//printf(“\\033[40;37msomthe here\\n\\033[0m”);
                        p++;
                }
                usleep(20000);

                i+=bs;
                p=gImage+i*wd;
        printf(\"\\n\");
        }
        p=gImage;

        return;
}



/*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@
@@@@@@@@@@
@@@@@
@@
@
*/


unsigned char gImage[3104] = { /* 0X08,0X08,0X61,0X00,0X20,0X00, */
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9B,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,
0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0XFF,0XBB,0X77,0X77,0X77,0X77,0X77,0X77,
0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0XFF,0XFF,0X77,0X77,0X77,0X77,
0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0XBB,0XFF,0X77,0X77,
0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0X77,0XDB,0XFF,0XDF,0X77,
0X77,0X77,0X77,0X77,0X77,0X77,0XBB,0XFF,0XFF,0XFF,0XFF,0X77,0X77,0X77,0X97,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X97,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0X9B,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0X53,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X9B,0XFF,0X53,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0XBB,0XFF,0XBF,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0XDF,0XFF,0XFF,0XBF,0X57,0X37,0X57,0XDF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X77,0X37,0X37,0X37,0X57,0X37,0X37,
0X37,0X37,0X37,0X57,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0X9B,0X57,0X37,0X37,0X37,
0X37,0X57,0X7B,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0X53,0X37,
0X37,0X37,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X9B,0XFF,
0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X37,0X37,0X37,0X37,0X37,0XBB,0XFF,
0XBF,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0X9B,0XFF,0XDF,0X53,0X37,0X57,0X9B,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X77,0X37,0X57,0X37,0X37,0X37,
0X37,0X37,0X37,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0X9B,0X57,0X37,0X37,
0X37,0X37,0X53,0XDF,0X9B,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0X53,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X9B,
0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0XBB,
0XFF,0XBF,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X53,0XDF,0X9B,0X57,0X33,0X57,
0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X9B,0X57,0X77,0X57,0X57,
0X37,0X37,0X37,0X37,0X37,0X37,0X33,0X53,0X57,0X77,0X77,0X77,0XFF,0X9B,0X37,0X37,
0X57,0X33,0X57,0X77,0XFF,0XFF,0X9B,0X57,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,
0X77,0X57,0X57,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X77,0X57,0X77,
0XBB,0XFF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X57,0X57,0X57,0X77,
0XBB,0XFF,0XDF,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X57,0X37,0X57,
0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0X9B,0X37,
0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XDF,0X9B,0X53,0X37,0X37,0X37,0X37,0X53,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X77,0XFF,0XFF,
0XFF,0XFF,0XFF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XDF,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0X9B,
0X57,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XDF,0XBB,0X9B,0X57,0X37,0X37,0X37,0X53,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X77,0XFF,
0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XDF,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X57,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,
0X9B,0X57,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XDF,0XBB,0X9B,0X7B,0X37,0X37,0X37,
0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X77,
0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X9B,0X9B,
0X9B,0X9B,0X9B,0XDF,0XFF,0XDF,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X7B,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,
0XFF,0X9B,0X57,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XDF,0XBB,0X9B,0X9B,0X7B,0X57,
0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,
0X57,0X57,0X37,0X57,0XBB,0XFF,0XBF,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X9B,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,
0XFF,0XFF,0X9B,0X57,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XDF,0XBB,0X9B,0X77,0X77,
0X7B,0X53,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0XBB,0XFF,0XBF,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X57,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,
0XFF,0XFF,0XFF,0X9B,0X57,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XDF,0XBB,0X9B,0X77,
0X9B,0X57,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0XBB,0XFF,0XDF,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X9B,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,
0XFF,0XFF,0XFF,0XFF,0X9B,0X57,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XDF,0XBB,0X9B,
0X9B,0X77,0X57,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X57,0X53,0X53,0X53,0X53,0X53,0XBB,0XFF,0XBF,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X57,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,
0XFF,0XFF,0XFF,0XFF,0XFF,0X9B,0X57,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XDF,0XBB,
0XBB,0X77,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0X37,0X37,0X37,0X37,0X57,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X33,0X9B,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0X9B,0X57,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XDF,
0XBF,0X77,0X57,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0X37,0X37,0X37,0X37,
0X7B,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0XDF,0XDF,0XDF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X53,0XBF,0XDF,0XDF,0XDF,0XFF,0X9B,0X57,0X37,0X37,0X37,0X53,0XDF,0XFF,0XFF,
0XDF,0X77,0X57,0X37,0X37,0X37,0X57,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X57,0XDF,0XDF,0XDF,0XDF,0XDF,0XFF,0XFF,0XDF,0X37,0X37,0X37,
0X57,0XDF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X9B,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X77,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0X9B,0X57,0X37,0X37,0X37,0X37,0X53,0XDF,
0XDF,0X77,0X33,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X57,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0XBB,0XFF,0XDF,0X37,0X37,
0X37,0X57,0XFF,0XBF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0XDF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X77,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0X9B,0X53,0X37,0X37,0X37,0X37,0X53,
0XDF,0X77,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X37,0X37,0X37,0X37,0X37,0XBB,0XFF,0XDF,0X37,
0X37,0X37,0X57,0XFF,0XFF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,0X9B,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X77,0X37,0X37,0X37,0X37,0X37,0X37,0X37,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0X9B,0X53,0X37,0X37,0X37,0X37,
0X57,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X53,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0X57,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0X53,
0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0XBB,0XFF,0XDF,
0X37,0X37,0X37,0X57,0XFF,0XFF,0XDF,0X53,0X37,0X37,0X37,0X37,0X37,0X37,0X37,0X57,
0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X97,0X57,0X57,0X57,0X57,0X57,0X57,
0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X53,0XFF,0X9B,0X53,0X53,0X57,0X57,
0X57,0X57,0X57,0X53,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X53,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0X53,0X57,0X57,0X53,0X57,0X57,0X57,0X57,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,
0X53,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0X57,0XBB,0XFF,
0XDF,0X57,0X57,0X57,0X57,0XFF,0XFF,0XFF,0X77,0X53,0X53,0X57,0X57,0X57,0X53,0X57,
0X53,0X97,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X97,0XBF,0X97,0X9B,0XBF,0XBF,0XFF,0XFF,0X9B,
0X77,0X77,0X77,0X77,0X77,0XFF,0XFF,0XBF,0X9B,0X97,0XDF,0XBF,0XBB,0XFF,0XFF,0XFF,
0X77,0XFF,0XDF,0X97,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0X7B,0X57,0X7B,0X9B,0X9B,0XFF,0XFF,
0X77,0X7B,0X9B,0X7B,0X7B,0X53,0XDF,0XFF,0XBF,0X57,0XDF,0X77,0X7B,0XBB,0XFF,0XFF,
0XBB,0X53,0X97,0X77,0X57,0X97,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X97,0X9B,0X57,0X77,0X77,0X77,0XFF,
0XFF,0X77,0X9B,0X9B,0X7B,0X9B,0X53,0XDF,0XFF,0X97,0X57,0X97,0X9B,0X9B,0X9B,0XFF,
0XFF,0XBB,0X53,0X9B,0X9B,0X77,0X9B,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,0X9B,0X57,0X77,0X7B,0X77,
0XDF,0XFF,0X77,0XBF,0X77,0X77,0X77,0X73,0XDF,0XFF,0XBF,0X57,0X7B,0X77,0X9B,0X9B,
0XDF,0XFF,0XBB,0X53,0X9B,0X57,0X9B,0X77,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBB,0X9B,0X57,0X77,0X9B,
0X7B,0XFF,0XFF,0X77,0XBF,0X77,0X77,0X77,0X53,0XDF,0XFF,0X77,0X57,0X77,0X9B,0X77,
0X57,0XBB,0XFF,0XBB,0X53,0XFF,0X77,0X77,0XBB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X76,0XDF,0X77,0X77,
0X57,0X77,0XDF,0XFF,0X77,0XDF,0XFF,0XFF,0XDF,0X77,0XDF,0XFF,0XBF,0X57,0XBF,0XFF,
0XBF,0X9B,0XFF,0XFF,0XDF,0X53,0XDF,0X77,0X57,0XBB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDB,0XFF,0XFF,
0XFF,0X9B,0XDF,0XFF,0XFF,0XBB,0XFF,0XFF,0XFF,0XDF,0X9B,0XFF,0XFF,0XFF,0X9B,0XFF,
0XFF,0XBF,0XBB,0XFF,0XFF,0XDF,0XBF,0X9B,0XDF,0XDF,0XBB,0XDF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
};

  • includes.h
#ifndef _INC_H_
#define _INC_H_
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include\"student.h\"
#include\"stucontrol.h\"
#include\"stuview.h\"
#include\"welcome.h\"
#endif
  • stucontrol.h
#ifndef _STUCONTROL_H_
#define _STUCONTROL_H_
#include \"student.h\"
void main_menu_control(Stu* stu);//主菜单控制层
#endif
  • student.h
//防止头文件重复定义
#ifndef _STUDENT_H_
#define _STUDENT_H_
typedef struct student{
	int id;
	char name[20];
	float score;
	char password[20];
}Stu;
Stu* regist_student(Stu* stu);//用户注册函数
void print_all_student_message(Stu* stu);//查看所有学生信息
#endif
  • stuview.h
#ifndef _STUVIEW_H_
#define _STUVIEW_H_
void main_menu(void);//菜单函数声明
#endif
  • welcome.h
#ifndef WEL_H_
#define WEL_H_
void display_welcome(unsigned char *gImage);
unsigned char gImage[3104];
#endif

运行结果

                                                                                                 
                                                                                                 
                                                                                                 
     ################  ################  ################  ##############   #######     ####     
    #################  ################  ################  ##############   ########    ###      
    #################  ################  ################  ##############   ########   ###       
    #################  ######  ########  ################  ##############   #########  ###       
     ################  ######   #######  ################  ##############   #############        
        #########      #####     ######      #########     #########        #############        
        #########      #####      #####      #########     #########        ############         
        #########      #####      #####      #########     #########        ############         
        #########      #####       ####      #########     ##############   ###########          
        #########      #####      #####      #########     ##############   ############         
        #########      #####      # ###      #########     ##############   ############         
        #########      #####       ####      #########     ##############   #############        
        #########      #####      #####      #########     #########        #############        
        #########      #####     ######      #########     #########        ##############       
        #########      #####    #######      #########     #########        #### #########       
    #################  ######  ########      #########     ##############   ####  #########      
    #################  ###### #########      #########     ##############   ####  #########      
    #################  ################      #########     ##############   ####   #########     
    #################  ################      #########     ##############   ####   ##########    
                                                                                                 
                                                                                                 
                                                               # #      #####    #      #  #     
                                                                ###    ## ###   # ##    #####    
                                                               # ####  #  # #  ###      #  #     
                                                                 ####  # ####   ###     # # #    
                                                                 ## #  # ####  ### ##   # ##     
                                                               # ####  #    #   #       # ##     
                                                                                                 
                                                                                                 
/*--------------------------------------------------*/
1.登录
2.注册
3.查询单个学生信息
4.删除学生
5.更新学生成绩
6.对成绩排序
7.查看所有学生信息
0.退出系统
请输入您的选择:

2、函数功能模块化+冒泡排序

/*---------------------------------------------
使用堆内存分配一个5个元素的一维数组(malloc),
从键盘输入5个元素进行初始化,实现冒泡排序
并输出,数组的初始化、排序、输出都要求分函数写
----------------------------------------------*/
#include<stdio.h>
//#include<malloc.h>
#include<stdlib.h>   
/*------@函数原型声明------------------------*/
void in(int *p,int n);       //输入
void sort(int *p,int n);     //排序
void out(int *p,int n);      //输出

/*------@主函数-----------------------------*/
int main()
{
	int *p=(int*)malloc(5*sizeof(int));
	printf(\"请输入5个整数\\n\");
	in(p,5);
	printf(\"原数组是  :\");
	out(p,5);

	sort(p,5);
	printf(\"冒泡排序后:\");
	out(p,5);
	return 0;
}

/*-------@输出函数定义-----------------------*/
void out(int *p,int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		printf(\"%d  \",*(p+i));
	}
	printf(\"\\n---------------------\\n\");
}
/*------@输入函数定义------------------------*/
void in(int *p,int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		printf(\"请输入第%d个数:\",i+1);
		scanf(\"%d\",(p+i));
	}
}
/*------@冒泡排序---------------------------*/
void sort(int *p,int n)
{
	int i,j;
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(*(p+j)>*(p+j+1))
			{
				int tem=*(p+j);
				*(p+j)=*(p+j+1);
				*(p+j+1)=tem;
			}
		}
	}

}

运行结果

[root@localhost Kshine]# gcc test32.c 
[root@localhost Kshine]# ./a.out 
请输入5个整数
请输入第1个数:23
请输入第2个数:13
请输入第3个数:45
请输入第4个数:3
请输入第5个数:57
原数组是  :23  13  45  3  57  
---------------------
冒泡排序后:3  13  23  45  57  
---------------------

3、先排序,后去除最大的两个数和最小的两个数,再求和和均值

#include<stdio.h>
//#include<malloc.h>
#include<stdlib.h>   

void out(int *p,int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		printf(\"%d  \",*(p+i));
	}
	printf(\"\\n---------------------\\n\");

}
void in(int *p,int n)
{
	int i;
	for(i=0;i<n;i++)
		scanf(\"%d\",(p+i));
}
void sort(int *p,int n)
{
	int i,j;
	for(i=0;i<n-1;i++)
	{
		for(j=0;j<n-1-i;j++)
		{
			if(*(p+j)>*(p+j+1))
			{
				int tem=*(p+j);
				*(p+j)=*(p+j+1);
				*(p+j+1)=tem;
			}
		}
	}

}
int main()
{

	/*向系统申请 10*4个字节的内存块  */
	int *p=(int*)malloc(10*sizeof(int));
	if(p==NULL)
	{
		printf(\"malloc error\\n\");
		exit(1);		
        }       
	
	//输入10个数字(相当于进行赋值初始化)
	printf(\" 请输入10个整数:----------\\n\");
	int i=0;
	for(i=0;i<10;i++)
	{
		printf(\"请输入第%d个数\",i+1);
		scanf(\"%d\",(p+i));
	}

	//原数组
	printf(\"原数组是:----------------\\n\");
	out(p,10);

	printf(\"排序后是:----------------\\n\");
	sort(p,10);
	out(p,10);
	
	printf(\"去掉最大和最小的两个数后--\\n\");
	//缩小内存块
//	free(p);
//	p=p+2;   
//      p=(int*)realloc(p,6*sizeof(int));	
	out(p+2,6);
	
	float sum=0;
	float ave=0;
	for(i=0;i<6;i++)
	{
		sum+=*(p+2+i);
	}
	ave=sum/6;
	printf(\"和是 %f , 均值是 %f \\n\",sum,ave);

        /*释放资源*/
	free(p);
	//p是野指针
	p=NULL;

	return 0;
}

运行结果

[root@localhost Kshine]# gcc test31.c 
[root@localhost Kshine]# ./a.out 
 请输入10个整数:----------
请输入第1个数13
请输入第2个数34
请输入第3个数54
请输入第4个数2
请输入第5个数34
请输入第6个数65
请输入第7个数13
请输入第8个数24
请输入第9个数74
请输入第10个数23
原数组是:----------------
13  34  54  2  34  65  13  24  74  23  
---------------------
排序后是:----------------
2  13  13  23  24  34  34  54  65  74  
---------------------
去掉最大和最小的两个数后--
13  23  24  34  34  54  
---------------------
和是 182.000000 , 均值是 30.333334 
收藏 打印