7.13苏嵌学习日志(暑期培训)

7.13学习日志
今日学习任务 学习结构体以及利用结构体数组编写学生管理程序
今日任务完成情况
今日任务已完成。
今日开发中出现的问题汇总
今日未解决问题
今日开发收获
对内存空间中不同数据类型的分配有了清醒的认识,通过编写学生管理程序,对结构体数组有了清醒的认识。知道了共用体的存取规则,以及对大小端概念的理解。

自我评价

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
通过这一段时间对c的重新学习,对之前模糊的概念以及不清楚的语法规则有了进一步的认识和提高,为之后的学习奠定了基础。
学生管理程序
#include <stdio.h>
#include "student.h"


void menu()
{
	printf("************************.\n");
	printf("1.输入信息	2.显示信息\n");
	printf("3.删除信息	4.修改信息\n");
	printf("************************.\n");
}

void add(stu s[])//添加信息
{
	printf("请输入姓名,年龄,性别,学号\n");
	scanf("%s%d %c%d",&s[i].name,&s[i].age,&s[i].sex,&s[i].number);
	s[i].id=i+1;
	i++;
}

void show(stu s[])//显示信息
{
	int j;
	for(j=0; j<i; j++)
	{
		printf("学生%d信息:\n",s[j].id);
		printf("姓名%s,年龄%d,性别%c,学号%d:\n",s[j].name,s[j].age,s[j].sex,s[j].number);
	}
}

void delete(stu s[])//实现覆盖1.结构体可以整体覆盖(赋值)吗
{
	int id,j;
	printf("请输入要删除哪个学生的信息:\n");
	scanf("%d",&id);//
	for(j=0;j<i-id;j++)
	{
		s[id+j-1] = s[id+j];
		s[id+j-1].id = id+j;
	}
	i--;
}
void change(stu s[])
{
	int id;
	printf("请输入你要更改的对象编号\n");
	scanf("%d",&id);
	printf("请输入要更改的姓名,年龄,性别,学号\n");
	scanf("%s%d %c%d",&s[id-1].name,&s[id-1].age,&s[id-1].sex,&s[id-1].number);
}
void main()
{
	int choice;
	stu s[SIZE];
	while(1)
	{
		menu();
		scanf("%d",&choice);
		
		switch(choice)
		{
			case 1:
				add(s);
			//	printf("%s,%d,%c,%d\n",s[0].name,s[0].age,s[0].sex,s[0].number);
				break;
			case 2:
				show(s);
				break;
			case 3:
				delete(s);
				break;
			case 4:
				change(s);
				break;
			default:
				break;
		}
	}
}

头文件

#define SIZE 10

typedef struct
{
	int id;
	char name[20];
	int age;
	char sex;
	int number;
	
}stu;
int i;//数组下标



猜你喜欢

转载自blog.csdn.net/liuyuan50/article/details/81036608