Example #1
0
Goods *chooseOr(int select,Goods *head)
{
	if (0 != select)
	{
		switch (select)
		{
		case 1:                  //输入库存记录
			head = createList();
			break;
		case 2:					//删除一条记录
			deleteInfo(head);
			break;
		case 3:					//查找修改记录
			findAndEdit(head);
			break;
		case 4:					//浏览所有记录
			traverse(head);
			break;
		case 5:					//添加一条记录
			insertInfo(head);
			break;
		case 6:					//查看每种货物总价
			outputTp(head);
			break;
		}
	}
	else
	{
		printf("\n退出系统!\n\n");
	}
	return head;

}
int main(void)
{
	int count;
	char findStudent[20];
	STU *finded = 0;
	STU *p=NULL;
	int i,j;
	int choose;
	STU reNew;
	
	//自定义学生个数
	printf("请输入学生个数:");
	scanf("%d",&count);

	//开辟空间
	p = (STU *)malloc(sizeof(STU) * count);

	//接受用户输入
	for(i = 0; i <= count - 1; i++)
	{
		printf("请以此输入学生 %d 的姓名和成绩(以空格隔开): ",i+1);
		scanf("%s %d",p[i].name,&(p[i].score));
	}

	//提示用户选择
	printf("任务列表:\n");
	printf("任务1:排序\n");
	printf("任务2:查找\n");
	printf("任务3:查找并修改\n");
	printf("请选择(1-3):");
	scanf("%d",&choose);
	
	//开始处理
	switch(choose)
	{
	case 1:

		//调用函数
		sort(p,count);
		break;
	case 2:

		//提示用户输入
		printf("请输入要查询的学生姓名:");
		scanf("%s",&findStudent);
		
		//调用函数
		finded = find(p,count,findStudent);
		
		//打印结果
		if(finded)	printf("%s的成绩为 %d\n",findStudent,finded->score);
		else printf("未找到学生%s\n",findStudent);
		break;
	case 3:
		//接受用户输入
		printf("请输入要查找的学生姓名和新的成绩(以逗号隔开):");
		scanf("%s%d",reNew.name,&(reNew.score));

		printf("%d\n",reNew.score);
		//调用函数
		if( findAndEdit(p,count,reNew.name,reNew.score == 1) )	printf("修改成功!学生 %s 的新成绩为 %d\n",reNew.name,reNew.score);
		else printf("未找到学生 %s !\n",reNew.name);
		break;
	}

	
	//输出最新的结果
	printf("所有的学生信息为:\n");
	for(i = 0; i <= count - 1;i++)
	{
		printf("%s %d\n",p[i].name,p[i].score);
	}
	system("pause");
	return 0;

}