就是一个在Dos下运行的小程序,无图形界面,以链表的形式存储学生的信息,支持查找 排序 修改 删除等功能,说实话功能也不是很完善,写这个例子完全是为了练习C语言,大家不要喷我哈。
//作业一 :学生信息管理系统
//编译环境为 WIN7 64位 CodeBlocks
//源代码,可执行程序,报告,建议
#include<stdio.h>
#include<stdlib.h>
#define MAX 20
//
typedef struct student
{
long int sno; //学号
int sage; //年龄
char sname[MAX]; //姓名
char sclass[MAX]; //班级
struct student *next; //结构体指针
}student;
student *head; //链表的头指针(全局变量)
void menu(); //说明提示信息,对学生信息的各种操作
void toAdd(); //增加新的学生信息,并存储
void toDelete(); // 删除学生信息
void toSearch(); //查找任意一个学生的信息
void toModify(); //修改学生信息
void toOutput(); //按学号进行排序,然后依次进行输出
void toReadData(); //程序运行开始的时候先把硬盘上的数据读到内存上
void toSaveData(); //每进行依次对数据修改的操作,就对当前的数据进行一次保存
void about(); //输出关于系统和作者的相关信息
void main()
{
int n = -1; //line53: while(n)
head = (student *)malloc(sizeof(struct student)); //程序中链表的形式为带有头结点的形式
head->next = NULL;
toReadData(); //当程序运行初期,toReadData()函数从磁盘
//中把所有的学生信息数据以单向链表的形式读入到内存当中
menu();
while(n) //line53
{
printf("输入(0-6)进行操作:\n");
scanf("%d", &n);
while(n<0 || n>7)
{
printf("错误,输入(0-6)进行操作:\n");
scanf("%d", &n);
}
switch(n)
{
case 1:
toAdd();
break;
case 2:
toDelete();
break;
case 3:
toSearch();
break;
case 4:
toModify();
break;
case 5:
toOutput();
break;
case 6:
about();
break;
case 0:
printf(