C语言不用链表完成学生管理系统(完整代码)

目录
  • 1.课程设计目的
  • 2.基本要求
  • 3.任务完成情况
  • 4.设计报告
    • 4.1需求分析
    • 4.3详细设计
    • 4.4详细代码
    • 4.5使用说明
    • 4.6测试结果与分析
    • 4.7参考文献

1.课程设计目的

1.更好的理解c语言的相关实现内容,对于c语言的理解得到更好的帮助。
2.实现更方便快捷的应用。

2.基本要求

(1)、1.每组完成1个题目的设计;每人独立完成该题目的一个功能模块的实现,并将课程设计报告打印、装订提交。
(2).使用标准C语言编制程序,源代码必须采用锯齿型书写格式,必须上机调试通过。运行界面友好,易于操作。

(3).输出要求:

1)
应用程序正常运行后,要在屏幕上显示一个文字菜单;

2)
要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式等;

3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
(4).必须实现所要求的全部功能。

(5).课程设计要求独立完成,不得抄袭。若发现抄袭行为,则成绩一律记零分。

3.任务完成情况

1.可以通过程序实现学生信息的增加删除显示查找以及修改功能。
2.通过非链表的方式运用结构体的方法编写程序。

4.设计报告

4.1需求分析

4.1.1用户需求分析

(1)、可以快速度的找出输入的学生的所有信息。 (2)、可以精确的找出某个学生的所有信息。 (3)、需要准确的修改某个学生的成绩。

4.2概要设计

1.增加信息。
2.显示信息。
3.查找信息。
4.删除信息。
5.修改信息。

4.3详细设计

4.3.1程序流程图

4.4详细代码

4.4.1结构体定义

typedef struct//定义了一个结构体变量 { char stu_name[10]; //表示姓名 int
stu_id; //表示学号 double stu_math; //高数成绩 double
stu_english; //大学英语成绩 } student;

4.4.2主函数

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>

4.4.3初始化函数

student all_stu[10]; int stu_number=0;//定义了学生的人数 int main()

4.4.4显示菜单函数

void first();//一号条件 void secend();//二号条件 void third();//三号条件
void fourth();//四号条件 void fifth(); int q; do printf("\n\n\n\n
printf("\t\t=学生成绩管理系统\n");
printf("\t\t*
\n"); printf("\t\t 1. 输入学生成绩 \n"); printf("\t\t 2. 查找学生成绩 \n"); printf("\t\t 3. 显示所有成绩 \n"); printf("\t\t 4. 删除学生成绩 \n"); printf("\t\t 5. 修改学生成绩 \n"); printf("\t\t 0. 退出管理系统 \n"); printf("\t\t printf("\t\t=========================================\n);
printf("\t\t输入你的选项:"); scanf("%d",&q); switch(q) { case 1:
first();
printf(“按任意键回菜单”);
getchar();
system(“cls”);//表示转移号
break; case 2:
secend();
getchar();
printf(“按任意键回菜单”);
getchar();
system(“cls”);
break; case 3: third(); getchar(); printf("\n请按任意键返回主菜单\n"); getchar(); system(“cls”); break;
case 4: fourth(); getchar(); printf("\n按任意键返回主菜单\n");
getchar(); system(“cls”); break; case 5:
fifth();
getchar();
printf("\n按任意键回主菜单\n");
getchar();
system(“cls”);
break; } }while(q); return 0;

4.4.5显示各个功能函数

4.4.5.1增加信息

void first()
{
thefirst:
	system("cls");
	printf("************输入学生信息**********);
	printf("\n\n");
	int cw,temp,hh;
	char op;
	stu_number++;
	printf("\n>>>>>>>>请输入姓名: ");
	scanf("%s",all_stu[stu_number].stu_name);
	printf("\n>>>>>>>>请输入学号: ");
	scanf("%d",&temp);
	all_stu[stu_number].stu_id=temp;
	getchar();//接收一个空格
	printf("\n>>>>>>请输入高等数学成绩(小于等于100):");
	scanf("%lf",&all_stu[stu_number].stu_math);
	if (all_stu[stu_number].stu_math> 100)
	{
printf("输入有误,请输入正确的成绩信息,请按(Y)重新输入: ");
		getchar();
		cw = getchar();
		if (cw =='y'|| cw =='Y')
			goto thefirst;
	}
	printf("\n>>>>>>>>请输入大学英语成绩(小于等于100):");
	scanf("%lf", &all_stu[stu_number].stu_english);
	if (all_stu[stu_number].stu_english> 100)
	{
printf("输入有误,请输入正确的成绩信息,请按(Y)重新输入: ");
		getchar();//接收Y
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefirst;
	}
	thefirstone:
	printf("\n是否继续输入,如是请按(Y),否请按(N): ");
	getchar();
	scanf("%c", &op);
	if (op == 'y' || op == 'Y')
		goto thefirst;
	if (op == 'n' || op == 'N')
		goto thefirstend;
	else
		goto thefirstone;
	getchar();
thefirstend:;
	getchar();//输入任意数结束
}

4.4.5.2查找信息

void fourth()
{
thefourth:
	system("cls");
printf("\n\n\n\n********************删除学生成绩**********************");
	int num,cw,cx,ai,i=0;
	char op;
	printf("\n>>>>>>>>请输入要查找学生的学号: ");
	scanf("%d",&num);
	for (ai=1;ai<=stu_number;ai++)
	{
		if (num==all_stu[ai].stu_id)
		{
			i=1;
			break;
		}
	}
	if (i==0)
	{
printf("未查找到要删除的学生信息,是否要重新输入,如需要重新输入请按(Y),如不需要请按(N)将返回主菜单: ");
		getchar();
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefourth;//回到开始
		if (cw == 'n' || cw == 'N')
			goto thefourthend;//回到结尾
	}
	else
	{
		stu_number--;//人数减一
		for (;ai<stu_number;ai--)
		{
			all_stu[ai] = all_stu[ai+1];//后面的数据往前推
		}
	}
	printf("\n\n此学号的学生成绩信息已删除");
	getchar();
thefourthone:
	getchar();
	printf("\n删除的成绩信息以删除,是否继续?\n需要请(Y),如不需要请(N),将返回主界面: ");
	scanf("%c", &op);
	if (op == 'y' || op == 'Y')
		goto thefourth;
	if (op == 'n' || op == 'N')
		goto thefourthend;
	else
		goto thefourthone;
thefourthend:;
}

4.4.5.3显示信息

> void third() { thethird: 	system("cls");
> printf("\n\n**************************显示学生信息***********************");
> 	int n=1; 	printf("\n\n>>>姓名"); 	printf("\t学号"); 	printf("\t高等数学");
> 	printf("\t大学英语"); 	//for (n=0;n<stu_number;n++); 	do 	{
> 		printf("\n>>%s", all_stu[n].stu_name); 		printf("\t%d",
> all_stu[n].stu_id); 		printf("\t%.2lf", all_stu[n].stu_math);
> 		printf("\t%.2lf", all_stu[n].stu_english); 		n++; 	} while
> (n<=stu_number); }

4.4.5.4删除信息

void fourth()
{
thefourth:
	system("cls");
printf("\n\n\n\n********************删除学生成绩**********************");
	int num,cw,cx,ai,i=0;
	char op;
	printf("\n>>>>>>>>请输入要查找学生的学号: ");
	scanf("%d",&num);
	for (ai=1;ai<=stu_number;ai++)
	{
		if (num==all_stu[ai].stu_id)
		{
			i=1;
			break;
		}
	}
	if (i==0)
	{
printf("未查找到要删除的学生信息,是否要重新输入,如需要重新输入请按(Y),如不需要请按(N)将返回主菜单: ");
		getchar();
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefourth;//回到开始
		if (cw == 'n' || cw == 'N')
			goto thefourthend;//回到结尾
	}
	else
	{
		stu_number--;//人数减一
		for (;ai<stu_number;ai--)
		{
			all_stu[ai] = all_stu[ai+1];//后面的数据往前推
		}
	}
	printf("\n\n此学号的学生成绩信息已删除");
	getchar();
thefourthone:
	getchar();
	printf("\n删除的成绩信息以删除,是否继续?\n需要请(Y),如不需要请(N),将返回主界面: ");
	scanf("%c", &op);
	if (op == 'y' || op == 'Y')
		goto thefourth;
	if (op == 'n' || op == 'N')
		goto thefourthend;
	else
		goto thefourthone;
thefourthend:;
}

4.4.5.5修改信息

void fifth()//修改成绩
{
thefifth:
	system("cls");
printf("**************************修改学生成绩*************************");
	printf("\n\n");
	int num,cw,cx,ai,i = 0, cy, temp;
	char op;
	printf("\n>>>>>>>>请输入要查找学生的学号: ");
	scanf("%d", &num);
	for (ai=1; ai<=stu_number; ai++)
	{
		if (num ==all_stu[ai].stu_id)
		{
			i = 1;
			break;
		}
	}
	if (i == 0)
	{
	printf("未查找到要修改的学生信息,重新输入按Y,返回主菜单按N ");
		getchar();
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefifth;
		if (cw == 'n' || cw == 'N')
			goto thefifthend;
	}
	else
	{

printf("***********************************************************************");
		printf("\n*姓名___: ");
		printf("%s", all_stu[ai].stu_name);
		printf("\n*学号___: ");
		printf("%d", all_stu[ai].stu_id);
		printf("\n*高数成绩: ");
		printf("%.2lf", all_stu[ai].stu_math);
		printf("\n*大学英语成绩: ");
		printf("%.2lf",all_stu[ai].stu_english);
printf("\n*********************************************************************");
	}
	getchar();
	printf("\n\n是否确认修改此学生成绩信息?(注:修改后将不可还原)如需修改请按Y,如不需修改学生信息请安N返回主菜单: ");
thefifthone:
	cw = getchar();
	if (cw == 'y' || cw == 'Y')
		goto thefifthtwo;
	if (cw == 'n' || cw == 'N')
		goto thefifthend;
	else
		goto thefifthone;
thefifthtwo:
	system("cls");
	printf("\n>>>>>>>>请输入姓名: ");
	scanf("%s", all_stu[ai].stu_name);
	printf("\n>>>>>>>>请输入学号: ");
	scanf("%d",&temp);
	all_stu[ai].stu_id = temp;
	getchar();
	for (cy = 0; cy < ai; cy++)
	{
		if (all_stu[ai].stu_id == all_stu[cy].stu_id)
		{
			printf("学号输入错误,如需重新输入请按(Y)退出请按(N)");
			cw = getchar();
			if (cw == 'y' || cw == 'Y')
				goto thefifthtwo;
			else
				goto thefifthend;
		}
	}
	printf("\n>>>>>>>>请输入第一门成绩(小于100): ");
	scanf("%lf", &all_stu[ai].stu_math);
	if (all_stu[ai].stu_math > 100)
	{
		printf("输入有误,请按(Y)重新输入: ");
		getchar();
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefifthtwo;
	}
	printf("\n>>>>>>>>请输入第二门成绩(小于100): ");
	scanf("%lf", &all_stu[ai].stu_english);
	if (all_stu[ai].stu_english > 100)
	{
		printf("输入有误,请按(Y)重新输入: ");
		getchar();
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefifthtwo;
	}
	printf("\n\n");
	printf("\n OK 此学生成绩信息已修改完成,感谢您的使用。");
thefifthfanhui:
	getchar();
printf("\n成绩信息已修改,是否继续?\n需要请按Y,如不需要请按Y,将返回主菜单: ");
	scanf("%c", &op);
	if (op == 'y' || op == 'Y')
		goto thefifth;
	if (op == 'n' || op == 'N')
		goto thefifthend;
	else
		goto thefifthfanhui;
thefifthend:;
}

4.5使用说明

本代码比较简单易懂,蒟蒻也能看懂。

4.6测试结果与分析

主界面如图:

输入信息图示:

查找信息如图:

显示所有信息如图:

删除学生信息:

修改学生信息如图:

4.7参考文献

【1】c语言从入门到精通2020版。

5体会与感想

学习的过程很漫长,只有依靠自己的慢慢摸索,在过程中总结出经验才是学习中最重要的事情。

6附录

附录
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int sum;
typedef struct//定义了一个结构体变量
{
	char stu_name[10];	//表示姓名
	int stu_id;			//表示学号
	double stu_math;		//高数成绩
	double stu_english;		//大学英语成绩
} student;
student all_stu[10];
int stu_number=0;//定义了学生的人数
int main()
{
	void first();//一号条件
	void secend();//二号条件
	void third();//三号条件
	void fourth();//四号条件
	void fifth();
	int q;
	do
	{
		printf("\n\n\n\n");
		printf("\t\t=====================学生成绩管理系统=================\n");
		printf("\t\t*                                                    *\n");
		printf("\t\t*          1. 输入学生成绩                           *\n");
		printf("\t\t*          2. 查找学生成绩                           *\n");
		printf("\t\t*          3. 显示所有成绩                           *\n");
		printf("\t\t*          4. 删除学生成绩                           *\n");
		printf("\t\t*          5. 修改学生成绩                           *\n");
		printf("\t\t*          0. 退出管理系统                           *\n");
		printf("\t\t*                                         欢迎使用! *\n");
		printf("\t\t=======================================================\n");
		printf("\t\t输入你的选项:");
		scanf("%d",&q);
		switch(q)
		{
			case 1:
				first();
				printf("按任意键回菜单");
				getchar();
				system("cls");//表示转移号
				break;
			case 2:
			    secend();
			    getchar();
			    printf("按任意键回菜单");
			    getchar();
			    system("cls");
			    break;
			case 3:
			third();
			getchar();
			printf("\n请按任意键返回主菜单\n");
			getchar();
			system("cls");
			break;
			case 4:
			fourth();
			getchar();
			printf("\n按任意键返回主菜单\n");
			getchar();
			system("cls");
			break;
			case 5:
				fifth();
				getchar();
				printf("\n按任意键回主菜单\n");
				getchar();
				system("cls");
				break;
		}
	}while(q);
	return 0;
 }
 void first()
{
thefirst:
	system("cls");
	printf("********************************输入学生信息*********************************");
	printf("\n\n");
	int cw,temp,hh;
	char op;
	stu_number++;
	printf("\n>>>>>>>>请输入姓名: ");
	scanf("%s",all_stu[stu_number].stu_name);
	printf("\n>>>>>>>>请输入学号: ");
	scanf("%d",&temp);
	all_stu[stu_number].stu_id=temp;
	getchar();//接收一个空格
	printf("\n>>>>>>>>请输入高等数学成绩(小于等于100):");
	scanf("%lf",&all_stu[stu_number].stu_math);
	if (all_stu[stu_number].stu_math> 100)
	{
		printf("输入有误,请输入正确的成绩信息,请按(Y)重新输入: ");
		getchar();
		cw = getchar();
		if (cw =='y'|| cw =='Y')
			goto thefirst;
	}
	printf("\n>>>>>>>>请输入大学英语成绩(小于等于100):");
	scanf("%lf", &all_stu[stu_number].stu_english);
	if (all_stu[stu_number].stu_english> 100)
	{
		printf("输入有误,请输入正确的成绩信息,请按(Y)重新输入: ");
		getchar();//接收Y
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefirst;
	}
	thefirstone:
	printf("\n是否继续输入,如是请按(Y),否请按(N): ");
	getchar();
	scanf("%c", &op);
	if (op == 'y' || op == 'Y')
		goto thefirst;
	if (op == 'n' || op == 'N')
		goto thefirstend;
	else
		goto thefirstone;
	getchar();
thefirstend:;
	getchar();//输入任意数结束
}
 void secend()
{
thesecend:
	system("cls");
	printf("\n\n**************************查找学生成绩*************************");
	int data,cw,j,flag=0;
	char op;
	printf("\n>>>>>>>>请输入要查找学生的学号:");
	scanf("%d",&data);
	for (j=1;j<=stu_number;j++)
	{
		if(data==all_stu[j].stu_id)
		{
			flag=1;
			break;
		}
	}
	if (flag==0)
	{
		printf("未查找到此学号,重新输入请按(Y),如不需要请按(N)将返回主菜单: ");
		getchar();
		cw=getchar();
		if (cw=='y'||cw=='Y')
			goto thesecend;
		if (cw == 'n' || cw == 'N')
			goto thesecendend;
	}
	else
	{
		for(j=1;j<=stu_number;j++){
		printf("\n***********************************************");
		printf("\n*姓名___: ");
		printf("%s",all_stu[j].stu_name);
		printf("\n*学号___: ");
		printf("%d",all_stu[j].stu_id);
		printf("\n*高数_: ");
		printf("%.2lf", all_stu[j].stu_math);
		printf("\n*大学英语_: ");
		printf("%.2lf", all_stu[j].stu_english);
		printf("\n************************************************");
	}
	}
thesecendone:
	getchar();
	printf("\n输入错误,是否继续查阅?\n需要按(Y),如不需要按(N),将返回主界面:");
	scanf("%c",&op);
	if (op =='y' || op =='Y')
		goto thesecend;
	if (op =='n' || op =='N')
		goto thesecendend;
	else
		goto thesecendone;
thesecendend:;
}
void third()
{
thethird:
	system("cls");
	printf("\n\n*********************显示学生信息******************************");
	int n=1;
	printf("\n\n>>>姓名");
	printf("\t学号");
	printf("\t高等数学");
	printf("\t大学英语");
	//for (n=0;n<stu_number;n++);
	do
	{
		printf("\n>>%s", all_stu[n].stu_name);
		printf("\t%d", all_stu[n].stu_id);
		printf("\t%.2lf", all_stu[n].stu_math);
		printf("\t%.2lf", all_stu[n].stu_english);
		n++;
	} while (n<=stu_number);
}
void fourth()
{
thefourth:
	system("cls");
	printf("\n\n\n\n********************删除学生成绩**********************");
	int num,cw,cx,ai,i=0;
	char op;
	printf("\n>>>>>>>>请输入要查找学生的学号: ");
	scanf("%d",&num);
	for (ai=1;ai<=stu_number;ai++)
	{
		if (num==all_stu[ai].stu_id)
		{
			i=1;
			break;
		}
	}
	if (i==0)
	{
		printf("未查找到要删除的学生信息,是否要重新输入,如需要重新输入请按(Y),如不需要请按(N)将返回主菜单: ");
		getchar();
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefourth;//回到开始
		if (cw == 'n' || cw == 'N')
			goto thefourthend;//回到结尾
	}
	else
	{
		stu_number--;//人数减一
		for (;ai<stu_number;ai--)
		{
			all_stu[ai] = all_stu[ai+1];//后面的数据往前推
		}
	}
	printf("\n\n此学号的学生成绩信息已删除");
	getchar();
thefourthone:
	getchar();
	printf("\n删除的成绩信息以删除,是否继续?\n需要请(Y),如不需要请(N),将返回主界面: ");
	scanf("%c", &op);
	if (op == 'y' || op == 'Y')
		goto thefourth;
	if (op == 'n' || op == 'N')
		goto thefourthend;
	else
		goto thefourthone;
thefourthend:;
}
void fifth()//修改成绩
{
thefifth:
	system("cls");
	printf("**************************修改学生成绩*************************");
	printf("\n\n");
	int num,cw,cx,ai,i = 0, cy, temp;
	char op;
	printf("\n>>>>>>>>请输入要查找学生的学号: ");
	scanf("%d", &num);
	for (ai=1; ai<=stu_number; ai++)
	{
		if (num ==all_stu[ai].stu_id)
		{
			i = 1;
			break;
		}
	}
	if (i == 0)
	{
		printf("未查找到要修改的学生信息,重新输入按Y,返回主菜单按N ");
		getchar();
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefifth;
		if (cw == 'n' || cw == 'N')
			goto thefifthend;
	}
	else
	{

		printf("***************************************************************************");
		printf("\n*姓名___: ");
		printf("%s", all_stu[ai].stu_name);
		printf("\n*学号___: ");
		printf("%d", all_stu[ai].stu_id);
		printf("\n*高数成绩: ");
		printf("%.2lf", all_stu[ai].stu_math);
		printf("\n*大学英语成绩: ");
		printf("%.2lf",all_stu[ai].stu_english);
		printf("\n***************************************************************************");
	}
	getchar();
	printf("\n\n是否确认修改此学生成绩信息?(注:修改后将不可还原)如需修改请按Y,如不需修改学生信息请安N返回主菜单: ");
thefifthone:
	cw = getchar();
	if (cw == 'y' || cw == 'Y')
		goto thefifthtwo;
	if (cw == 'n' || cw == 'N')
		goto thefifthend;
	else
		goto thefifthone;
thefifthtwo:
	system("cls");
	printf("\n>>>>>>>>请输入姓名: ");
	scanf("%s", all_stu[ai].stu_name);
	printf("\n>>>>>>>>请输入学号: ");
	scanf("%d",&temp);
	all_stu[ai].stu_id = temp;
	getchar();
	for (cy = 0; cy < ai; cy++)
	{
		if (all_stu[ai].stu_id == all_stu[cy].stu_id)
		{
			printf("学号输入错误,如需重新输入请按(Y)退出请按(N)");
			cw = getchar();
			if (cw == 'y' || cw == 'Y')
				goto thefifthtwo;
			else
				goto thefifthend;
		}
	}
	printf("\n>>>>>>>>请输入第一门成绩(小于100): ");
	scanf("%lf", &all_stu[ai].stu_math);
	if (all_stu[ai].stu_math > 100)
	{
		printf("输入有误,请按(Y)重新输入: ");
		getchar();
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefifthtwo;
	}
	printf("\n>>>>>>>>请输入第二门成绩(小于100): ");
	scanf("%lf", &all_stu[ai].stu_english);
	if (all_stu[ai].stu_english > 100)
	{
		printf("输入有误,请按(Y)重新输入: ");
		getchar();
		cw = getchar();
		if (cw == 'y' || cw == 'Y')
			goto thefifthtwo;
	}
	printf("\n\n");
	printf("\n OK 此学生成绩信息已修改完成,感谢您的使用。");
thefifthfanhui:
	getchar();
	printf("\n成绩信息已修改,是否继续?\n需要请按Y,如不需要请按Y,将返回主菜单: ");
	scanf("%c", &op);
	if (op == 'y' || op == 'Y')
		goto thefifth;
	if (op == 'n' || op == 'N')
		goto thefifthend;
	else
		goto thefifthfanhui;
thefifthend:;
}

by:一个刚刚学习c语言的大学生~~

到此这篇关于C语言不用链表完成学生管理系统(完整代码)的文章就介绍到这了,更多相关c语言学生管理系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C语言链表实现学生管理系统

    本文实例为大家分享了C语言链表实现学生管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<ctype.h> #include<fstream> #include<stdlib.h> #include<string.h> #include<iostream> using namespace std; typedef struct ndoe{ char id[10]; char name[1

  • C语言学生管理系统源码分享

    本文实例为大家分享了C语言学生管理系统源码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h> //结构体可以存放的学生信息最大个数,不可变变量 int const MAX_LENGTH=100; //学生信息结构体数组,最多可以存放100个学生信息 struct student{ int id; //学号 char *name; //姓名 int age; //年龄 float c_score; //C语言成绩 float engl

  • C语言实现学生管理系统

    本文实例为大家分享了C语言实现学生管理系统的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct student{ long number;//学号 char name[10];//姓名 char sex[3];//性别 int age;//年龄 float Chinese;//语文 float Math;//数学 float English;//

  • C语言单链表实现学生管理系统

    本文实例为大家分享了C语言单链表实现学生管理系统的具体代码,供大家参考,具体内容如下 代码: #include<stdio.h> #include<stdlib.h> #include <string.h> #include <malloc.h> struct Student { int num;//学号 char name[20];//名字 char sex[2]; int age; struct Student *next; }; void insert

  • C语言实现简单学生管理系统

    花了一个月的时间,学习了链表,文件,多文件编程,然后就开始写学生管理系统,比较简单的那种,实现了增,添,改,查,多种排序,输入的时候的限定,成绩分析的功能.遇到的问题很多,也尝试解决了,下面写点写学生管理系统的要注意的地方,希望对别人有帮助. 1.一定要先写好主函数的框架,然后再往上面加东西,这样说有点笼统,我把我的主函数在下面,可以借鉴下哈.我的主函数是一个while(1)的无限循环,里面一个switch选择,利用一个菜单函数,让其返回值当成switch选择的值,然后进入不同的功能主函数,其他

  • C语言不用链表完成学生管理系统(完整代码)

    目录 1.课程设计目的 2.基本要求 3.任务完成情况 4.设计报告 4.1需求分析 4.3详细设计 4.4详细代码 4.5使用说明 4.6测试结果与分析 4.7参考文献 1.课程设计目的 1.更好的理解c语言的相关实现内容,对于c语言的理解得到更好的帮助. 2.实现更方便快捷的应用. 2.基本要求 (1).1.每组完成1个题目的设计:每人独立完成该题目的一个功能模块的实现,并将课程设计报告打印.装订提交. (2).使用标准C语言编制程序,源代码必须采用锯齿型书写格式,必须上机调试通过.运行界面

  • C语言使用链表实现学生籍贯管理系统

    本文实例为大家分享了C语言用链表实现学生籍贯管理系统的具体代码,供大家参考,具体内容如下 源码 #include<stdio.h> #include<stdlib.h> #include<string.h> //定义一个学生结构体 typedef struct student {     char no[12];            //学号     char name[40];          //姓名     char tele[20];          //

  • C语言嵌套链表实现学生成绩管理系统

    C语言嵌套链表实现学生成绩管理系统,供大家参考,具体内容如下 链表A,每个节点存放一个新的链表B1,B2,B3,B4,B5的头结点. 场景: 一个年级,相当链表A 该年级5个班,每个班5个人,相当于链表B1--B5 做一个学生成绩管理系统 学生成绩有语文 数学 英语 功能: 录入成绩 找三科总分的最高分 最低分 算出平均分 前言 链表是一种常见的基础数据结构,结构体指针在这里得到了充分的利用. 链表可以动态的进行存储分配,也就是说,链表是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还

  • C语言利用链表实现学生成绩管理系统

    链表是一种常见的基础数据结构,结构体指针在这里得到了充分的利用. 链表可以动态的进行存储分配,也就是说,链表是一个功能极为强大的数组,他可以在节点中定义多种数据类型,还可以根据需要随意增添,删除,插入节点. 链表都有一个头指针,一般以head来表示,存放的是一个地址.链表中的节点分为两类,头结点和一般节点,头结点是没有数据域的.链表中每个节点都分为两部分,一个数据域,一个是指针域. 说到这里你应该就明白了,链表就如同车链子一样,head指向第一个元素:第一个元素又指向第二个元素:……,直到最后一

  • C语言单链表实现通讯录管理系统

    本文实例为大家分享了C语言单链表实现通讯录管理系统的具体代码,供大家参考,具体内容如下 本人前几天刚刚自学了单链表,趁热打铁,赶紧写一个小小的项目练练手. 单链表的实现在本人之前的博客中有:C语言编写一个链表 通讯录管理系统 保存人的信息有:  名字   name 电话   telephone 性别   sex 年龄   age 用一个结构体来装这些信息: struct infor{ char name[20]; int age; char sex[8]; char telephone[16];

  • C语言单链表实现图书管理系统

    本文实例为大家分享了C语言单链表实现图书管理系统的具体代码,供大家参考,具体内容如下 单链表实现的图书管理系统相比于结构体实现的管理系统,可以随时开辟新的空间,可以增加书的信息 单链表的实现 首先肯定还是打印单链表的常规操作,创建表头,创建节点,表头法插入,特定位置删除,打印链表 struct book {     char name[20];     float price;     int num;          //书的数量 }; //3 数据容器--链表 struct Node {

  • C语言实现ATM系统程序的完整代码

    实现效果如图: 代码如下: #include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> //开户信息 typedef struct _Person { char name[20]; char account[20]; char password[7]; float money; }Person; //结点 typedef struct _Node { Person P;

  • C语言实现链表与文件存取的示例代码

    目录 此处为main函数的内容 一.输入数据到链表中 二.把链表数据存入文件 三.输出文件 完整代码 本程序主要功能是建立链表,然后把链表数据存储到文件中,然后把文件数据存储到数组中并输出. 不多说了,放代码. 此处为main函数的内容 int main(void) { char filename[50]; printf("How many ?: "); scanf("%d", &n); /*输入学生数*/ printf("please input

随机推荐