学生信息管理系统(C语言)
下面是以前的一个作业,c语言做一个学生信息管理系统。
其实一个软件或者系统,都是各种功能组合在一起形成的,将对象的数据以及功能函数写好,就能形成一个简单的系统了。
主函数以及各个功能函数以及学生类:
#include #include #include//需要用到strcmp函数 #define LEN 15//姓名和学号的最大字符数 #define N 50//最大学生人数 int n = 0, t = 1;//n代表当前学生人数,t用来控制整个程序的执行,以及程序的退出; //函数声明 void menu();//主菜单函数 void help();//使用帮助 void increase();//增加学生信息 void seek();//查找学生信息 void de();//删除学生信息 void save();//保存文件 void present();//显示当前信息 void modify();//修改学生信息 void flush();//刷新学生成绩 void tuichu();//退出函数 struct student { char StuID[LEN];//学生学号 char Stuname[LEN]; int Stuage; char Stusex; float score[3]; //各科成绩 }stu[N]; int main() { int num;//num是菜单选项 while (t)//t是全局变量,用tuichu函数来控制循环是否继续 { menu();//输出主菜单界面 printf("您好,请输入菜单编号:"); scanf("%d", &num); switch (num) { case 1: help(); break; case 2: increase(); break; case 3: seek(); break; case 4: de(); break; case 5: save(); break; case 6: present(); break; case 7: modify(); break; case 8: flush(); break; case 9: tuichu(); break; default:printf("输入有误,请重新输入!"); } system("cls"); } system("pause"); return 0; }
主菜单函数 :
void menu() { printf("\n\n"); printf("*****************************************************\n"); printf("*----------------------duoduo------------------------\n"); printf("* 学生信息管理系统 *\n"); printf("*****************************************************\n"); printf("********************系统功能菜单*********************\n"); printf("---------------------- --------------------------\n"); printf("*****************************************************\n"); printf("** 1、使用帮助 * 2、增加学生信息 **\n"); printf("*****************************************************\n"); printf("** 3、查询学生信息 * 4、删除学生信息 **\n"); printf("*****************************************************\n"); printf("** 5、保存当前信息 * 6、显示当前信息 **\n"); printf("*****************************************************\n"); printf("** 7、修改学生信息 * 8、刷新学生信息 **\n"); printf("*****************************************************\n"); printf("** 9、退出系统 * **\n"); printf("************************* \n"); printf("---------------------- --------------------------\n"); }
运行结果:
使用帮助:
void help() { printf("\n这是一个学生信息管理系统,为了帮助您更快的了解使用它,请先仔细阅读以下注意事项:\n"); printf("\n 注意事项: \n "); printf("\n 1、请根据提示进行操作!\n"); printf("\n 2、初次使用请先选择增加学生信息!\n"); printf("\n 3、修改或者增加学生信息后切记保存!\n"); printf("\n 4、如果数据有错误,请先修改再保存!\n"); printf("\n 5、若您之前使用过,下次进入系统请先刷新学生信息!\n"); printf("\n 6、在添加学生时,用两个字符代表不同的性别,比如男用‘M’代替,女用‘W’代替!\n"); printf("\n 7、保存或者刷新时,输入的文件名后缀请使用.txt,比如: stu.txt,系统会在源程序\n"); printf("\n “学生管理系统.exe”的相同目录建立一个.txt文件来保存学生信息,您可以查看\n"); printf("\n 该文件,但非专业人员不要轻易改动,否则会造成刷新数据异常或刷新失败!\n"); printf("\n 8、学生信息包括:姓名、学号、性别、年龄、C语言成绩、高数成绩、英语成绩等!\n"); printf("\n 9、使用遇到任何问题请与我们联系,邮箱:ouyang_na_na@163.com\n"); printf("\n 10、最后感谢您的使用!\n"); system("pause"); }
增加学生信息函数:
void increase() { int i = n, j, flag, m = 0;//i代表增加学生信息过程中任意时刻的学生人数 printf("\n请输入待增加的学生人数:\n"); scanf("%d", &m); if (m > 0) { do { flag = 1; while (flag) { flag = 0; printf("请输入第%d位学生的学号:\n", i + 1);//第几位学生从1开始计数,而stu[]从零开始,需要加1 scanf("%s", stu[i].StuID); //判断学号是否重复 for (j = 0; j查找学生信息函数:
void seek() { int i, num, flag; char s1[LEN + 1]; printf("*****************************\n"); printf("**-------1.按学号查询------**\n"); printf("**-------2.按姓名查询------**\n"); printf("**-------3.退出本菜单------**\n"); printf("*****************************\n"); while (1) { flag = 0; printf("请输入子菜单:"); scanf("%d", &num); switch (num) { case 1: printf("请输入需要查找学生的学号:\n"); scanf("%s", s1); for (i = 0; i删除学生信息函数:
void de() { int i, j, flag; char s1[LEN]; printf("请输入需要删除的学生学号:\n"); scanf("%s", s1); flag = 0; for (i = 0; i保存文件函数:
void save()//把学生信息保存到文件 { int i; FILE* fp; char filename[LEN + 1]; printf("请输入要保存的文件名:\n"); scanf("%s", filename); if ((fp = fopen(filename, "w")) == NULL) { printf("打开文件失败!\n"); exit(0); } for (i = 0; i显示当前信息函数:
void present() { int i; if (n == 0) { printf("您好,现在没有学生信息,请先增加学生信息或者刷新再来试试!\n"); } else { printf("现在共有%d名学生:\n", n); printf("学号\t\t姓名\t\t性别\t\t年龄\t\tC语言\t\t高数\t\t英语\n"); for (i = 0; i修改学生信息函数:
void modify() { int i, flag; char ID[LEN], name[LEN], sex; int age; float score; printf("请输入需要修改的学生姓名:\n"); getchar(); gets(name); while (1) { flag = 0; for (i = 0; i 0 && num刷新学生成绩函数:
void flush() { int i, k = 0;//k代表刷新过程中学生人数 FILE* fp; char filename[LEN + 1]; printf("请输入需要刷新的文件名:\n"); getchar(); gets(filename); if ((fp = fopen(filename, "r")) == NULL)//打开文件 { printf("打开文件失败!\n"); exit(0); } for (i = 0; i退出函数:
void tuichu() { int h;//控制是否确认退出 printf("即将退出,确认请按1,取消请按0\n"); scanf("%d", &h); if (h == 1) { t = 0;//t是main函数中while函数是否继续执行的控制条件,是一个全局变量,程序开头已经定义并且赋值位 1 printf("成功退出,感谢使用!\n"); } if (h == 0) { printf("退出已取消!\n"); system("pause"); } }做个记录吧,记录以前第一次写出这比较完整的代码,记录一下以前心情。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。