C语言 学生信息管理系统
前文是楼主的一些经历,给大家分享一下,希望能够帮到大家。文中有不足的地方还请指出,我们一同探讨,或者可以直接看正文(恩~第一次在这儿发帖确实有点小激动O(∩_∩)O~)。
|前文|
我是一名职高学生,入校选择专业时毫不犹豫选择了计算机,只因对此拥有浓厚的兴趣(哈哈,可能是很早接触计算机有关吧!)。楼主对于C语言也是情有独钟(这是真爱啊、)。自学的阶段总是迷茫的,尤其对于初学者。 对于初学者提升兴趣的方法就是成功,当你认真去写一个程序并且能够载入计算机内存成功运行,这种感觉是之前未有过的。 楼主开始学的时候也是一头雾水,不知从何开始,从刚开始到现在已经有一个学期了,记得刚开始的时候最多就是写个hello world!学了许久只是简单了解基本数据类型定义,还是停留在懵逼的状态,慢慢的通过老师的讲解可以做一些简单的数据处理了,这是一个良好的开端,不要小看这些数据处理,它就犹如是一个“零件”,“零件”运用多了,才能熟练,将这些小型的零件拼接到一起就构成了一个大型的系统。这样方能做到“知其然知其所以然”。 “百度”一个非常好的搜索引擎,里面有很多相关的资料,这是一个很高效的网络学习方法,最重要的还是自己要努力。 学习C语言本就是枯燥乏味的,我觉得计算机专业学生不应该只停留在软件应用上(那是业余人干的),应该要偏重学习程序开发。有人就说了:“恩,我觉得开发这东西不适合我,而且我基础不太好,不学!”。这不是借口,只能说明自己懒,懒得编写,懒得想,每个人的起步都是一样的,没有什么天才,只有付诸行动,才能有收获,学习C语言要经常写代码,代码写多了自然就理解了 其实呢,学习编程语言最重要的还是要掌握编程的思想,从计算机的角度去思考问题,自然迎刃而解!!!
|正文|
上图:
----------------------------------------------------------------------------------------------------------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<Windows.h>
struct students
{
int id;
int age;
char name[10];
char xin[10];
int yu,shu,yin,com,sum;
}stu[100];
int i=0,j=0; //i循环添加信息变量 j显示全部信息循环变量
int menu(void) //主界面
{
int a;
printf("\t*** ╭□════■□■□══╮ ***\n");
printf("\t* │ 学生信息管理系统 │ *\n");
printf("\t* ╰═■□■□══════■╯ *\n");
printf("\t* ┌───────────┐ *\n");
printf("\t* │1.添加信息 2.修改信息│ *\n");
printf("\t* │ │ *\n");
printf("\t* │3.查询信息 4.删除信息│ *\n");
printf("\t* │ │ *\n");
printf("\t* │5.数据排序 6.保存读取│ *\n");
printf("\t* │ │ *\n");
printf("\t* │7.退出系统 │ *\n");
printf("\t* └───────────┘ *\n");
printf("\t************************************\n");
printf("\t请输入你的选择(1~7):");
scanf("%d", &a);
while (a<1 || a>7)
{
printf("\t输入范围为1~7:");
scanf("%d", &a);
}
if (a == 1)
ID();
if (a == 2)
xiugai();
if (a == 3)
chaxun();
if (a == 4)
shanchu();
if (a == 5)
paixu();
if (a == 6)
menufile();
if (a == 7)
printf("\n\t\t\t\t退出系统中...");
Sleep(3000);
exit(0);
return 0;
}
//**********************
//**********************
//**********************
int ID(void) //添加信息
{
int a,k,j,x,one;
do
{
printf("\n----------------------------------------------------\n");
printf("\t ———添加信息———\n\n");
fflush(stdin);
printf("学号:");
scanf("%d", &x);
while ( x<1 || x>100)
{
printf("输入范围为1~100:");
scanf("%d", &x);
}
one=0;
for(j=0;j<i;j++)
{
if(x==stu[j].id)
{
one=1;
printf("\n记录中已有此人!不得重复添加...");
getch();
system("cls");
menu();
}
}
if(one==0)
{
stu[i].id=x;
}
printf("姓名:");
getchar();
gets(stu[i].name);
printf("性别:");
gets(stu[i].xin);
while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0)
{
printf("性别只限男女:");
gets(stu[i].xin);
}
printf("年龄:");
scanf("%d", &stu[i].age);
while (stu[i].age <= 0 || stu[i].age>100)
{
printf("年龄只限1~100:");
scanf("%d", &stu[i].age);
}
printf("语文:");
scanf("%d", &stu[i].yu);
while (stu[i].yu<0 || stu[i].yu>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].yu);
}
printf("数学:");
scanf("%d", &stu[i].shu);
while (stu[i].shu<0 || stu[i].shu>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].shu);
}
printf("英语:");
scanf("%d", &stu[i].yin);
while (stu[i].yin<0 || stu[i].yin>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].yin);
}
printf("专业:");
scanf("%d", &stu[i].com);
while (stu[i].com<0 || stu[i].com>100)
{
printf("输入只限1~100:");
scanf("%d", &stu[i].com);
}
stu[i].sum=0;
stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com;
i++;
printf("\n添加完毕! 目前共有%d名学生!\n按1回到主界面!按2继续添加信息!按其他键退出程序! ",i);
scanf("%d", &a);
}while(a==2);
if (a == 1)
{
system("cls");
menu();
}
if (a != 1)
{
printf("\n退出系统中...");
Sleep(3000);
exit(0);
}
return 0;
}
//*********************
//*********************
//*********************
int xiugai(void) //修改信息
{
int a;
printf("\n----------------------------------------------------\n");
printf("\t ───修改信息───\n\n");
printf("\t ┌──────┐\n");
printf("\t │1.按学号修改│\n");
printf("\t │ │\n");
printf("\t │2.按姓名修改│\n");
printf("\t │ │\n");
printf("\t │3.返回 │\n");
printf("\t └──────┘\n");
printf("\t 请选择修改方式:");
scanf("%d", &a);
while (a<1 || a>3)
{
printf("输入错误~请重新输入:");
scanf("%d", &a);
}
if (a == 1)
{
idxiugai(); //按学号方式修改
}
if (a == 2)
{
namexiugai(); //按姓名方式修改
}
if (a == 3)
{
system("cls");
menu();
}
return 0;
}
//**************************
//**************************
//**************************
int chaxun(void) //查询信息
{
int a;
printf("----------------------------------------------------\n");
printf("\t ───查询信息───\n");
printf("\t ┌─────────────┐ \n");
printf("\t │1.按学号查询 2.按姓名查询│ \n");
printf("\t │ │ \n");
printf("\t │3.全部显示 4.返回 │ \n");
printf("\t └─────────────┘ \n");
printf("\t 请输入你的选择:");
scanf("%d", &a);
while(a<1||a>3)
{
printf("\t 请输入你的选择:");
scanf("%d",&a);
}
if (a == 1)
{
idchaxun(); //按学号方式查询
}
if (a == 2)
{
namechaxun(); //按姓名方式查询
}
if (a == 3)
{
quanbuxianshi(); //全部显示
}
if (a == 4)
{
system("cls");
menu();
}
}
//******************************
//******************************
//******************************
int idchaxun(void) //按学号查询
{
int i,j,a;
printf("\t 请输入需要查询的学号:");
scanf("%d",&a);
j=0;
for(i=0;i<100;i++)
{
if(stu[i].id==a)
{
j=1; //节点
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" 学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t专业\t总分\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age,
stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum);
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
break;
}
}
if(j==0) //节点没变说明没有查询到结果
{
printf("\t 对不起,记录中没有此人!\n");
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
}
scanf("%d",&a);
if(a==1)
{
system("cls");
menu();
}
if(a!=1)
{
printf("\n\t\t\t\t退出系统中...");
Sleep(3000);
exit(0);
}
return 0;
}
//******************************
//******************************
//******************************
int namechaxun(void) //按姓名查询
{
char num[10];
int i,j,a;
printf("\t 请输入需要查询的姓名:");
scanf("%s",num);
j=0;
for(i=0;i<10;i++)
{
if(strcmp(num,stu[i].name)==0)
{
j=1;
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" 学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t专业\t总分\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[i].id, stu[i].name, stu[i].xin, stu[i].age,
stu[i].yu, stu[i].shu, stu[i].yin, stu[i].com, stu[i].sum);
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
break;
}
}
if(j==0)
{
printf("\t 对不起,记录中没有此人!");
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
}
scanf("%d",&a);
if(a!=1)
{
printf("\n\t\t\t\t退出程序中...");
Sleep(3000);
exit(0);
}
if(a==1)
{
system("cls");
menu();
}
return 0;
}
//******************************
//******************************
//******************************
int quanbuxianshi(void) //全部显示
{
int a;
printf("\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
printf(" 学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t专业\t总分\n");
printf("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
for(j=0;j<i;j++)
{
printf(" %d\t %s\t %s\t %d\t %d\t %d\t %d\t %d\t %d\n", stu[j].id, stu[j].name, stu[j].xin, stu[j].age,
stu[j].yu, stu[j].shu, stu[j].yin, stu[j].com, stu[j].sum);
}
printf("\n\n 输入1返回主界面,按其他键退出程序! ");
scanf("%d", &a);
if (a == 1)
{
system("cls");
menu();
}
if (a != 1)
{
printf("\n\t\t\t\t\t退出程序中...");
Sleep(3000);
exit(0);
}
return 0;
}
//**************************
//**************************
//**************************
int idxiugai(void) //按学号修改
{
int i,a,j;
printf("\t 请输入需要修改的学号信息:");
scanf("%d",&a);
while(a>100&&a<1)
{
printf("\t 输入范围为1~100:");
scanf("%d",&a);
}
j=0;
for(i=0;i<100;i++)
{
if(a==stu[i].id)
{
j=1;
printf("请输入修改后新的信息:\n");
printf("学号:");
scanf("%d", &stu[i].id);
while (stu[i].id<1 || stu[i].id>100)
{
printf("输入范围为1~100:");
scanf("%d", &stu[i].id);
}
printf("姓名:");
getchar();
gets(stu[i].name);
printf("性别:");
gets(stu[i].xin);
while (strcmp(stu[i].xin,"男") != 0 && strcmp(stu[i].xin, "女") != 0)
{
printf("性别只限男女:");
gets(stu[i].xin);
}
printf("年龄:");
scanf("%d", &stu[i].age);
while (stu[i].age <= 0 || stu[i].age>100)
{
printf("年龄只限1~100:");
scanf("%d", &stu[i].age);
}
printf("语文:");
scanf("%d", &stu[i].yu);
while (stu[i].yu<0 || stu[i].yu>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].yu);
}
printf("数学:");
scanf("%d", &stu[i].shu);
while (stu[i].shu<0 || stu[i].shu>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].shu);
}
printf("英语:");
scanf("%d", &stu[i].yin);
while (stu[i].yin<0 || stu[i].yin>100)
{
printf("输入只限0~100:");
scanf("%d", &stu[i].yin);
}
printf("专业:");
scanf("%d", &stu[i].com);
while (stu[i].com<0 || stu[i].com>100)
{
printf("输入只限1~100:");
scanf("%d", &stu[i].com);
}
stu[i].sum=0;
stu[i].sum = stu[i].yu + stu[i].shu + stu[i].yin + stu[i].com;
printf("\n修改完毕!\n\n按1返回主界面,按其他键退出程序! ");
}
}
if(j==0)
{
printf("\t 对不起,记录中没有此人!");
printf("\n\n按1返回主界面,按其他键退出程序! ");
}
scanf("%d",&a);
if(a==1)
{
system("cls");
menu();
}
if(a!=1)
{
printf("\n\t\t\t\t退出程序中...");
Sleep(3000);
exit(0);
}
return 0;
}
//**************************
//**************************
//**************************
int namexiugai(void) //按姓名修改
{
int a,i,j;
char num[10];
printf("\t 请输入需要修改的名称信息:");
scanf("%s",num);
j=0;
for(i=0;i<100;i++)
{
if(strcmp(num,stu[i].name)==0)
{
j=1;
printf("请输入修改后新的信息:\n");
printf("学号:");
scanf("%d", &stu[i].id);
。。。。。。。。
。。。。。。。。
。。。。。。。。
如果需要全部代码,那么请添加 qq:1294604252
如果不好用 当我啥也没说 →_→ →_→
上一篇: css实现可收缩的上下左右布局
下一篇: 谈谈css中的3种预处理器