栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言学生信息管理系统设计与实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言学生信息管理系统设计与实现

本文实例为大家分享了C语言学生信息管理系统的具体代码,供大家参考,具体内容如下

#include"stdio.h" //标准的输入输出函数文件头部说明 
#include"math.h"  // 数学函数头部说明 
#include"string.h" 
#include"stdlib.h" //通过该函数头部里的函数,改变控制台的背景和颜色 
#include"windows.h" //头文件声明,下文用到了改变控制台的宽度和高度 
#define M 100  //宏定义说明 
struct student{ //结构体定义并声明 
 char name[25]; //姓名 
 char num[25]; //学号 
 char credit[20]; //身份证号 
 char native[35]; //籍贯 
 char tel[25]; //手机号 
 int special; //专业 
 int banji; //班级 
 int math,yy,wl,cyy,pe; //数学、英语、物理、C语言、体育 
 double ave;}; //平均分 
//****************************************函数的声明******************************************** 
void input(struct student stu[M]); //输入函数 
void output(struct student stu[M]); //各类用户自定义函数的声明 
void lookfor(struct student stu[M]); //查询函数 
void modify(struct student stu[M]); //修改函数 
void order(struct student stu[M]); //排序函数 
void delete_student(struct student stu[M]); //删除函数 
void xuehao(struct student stu[M]); 
void xingming(struct student stu[M]); 
void fileread(struct student stu[M]); 
void filewrite(struct student stu[M]); 
void yanshi(char *p); //延时函数说明 
//********************************************************************************************** 
int count=0; 
struct student t; 
int main() 
{ 
 int choice,sum; 
 struct student stu[M];  
 system("mode con:cols=400 lines=30000"); //调节控制台的宽度和高度 
 system("color 0b"); //调节控制台的背景和字体颜色 
point1: 
 sum=0; 
 yanshi("tttttttt3333333333333欢迎你使用学生信息管理系统3333333333n"); 
 do { 
 printf("tttttttt-------------------------------------------------n"); 
 printf("tttttttt+ 学生信息管理系统  +n"); 
 printf("tttttttt-------------------------------------------------n"); 
 printf("tttttttttt ***************n"); 
 printf("tttttttttt 1、添加学生信息n"); 
 printf("tttttttttt 2、浏览学生信息n"); 
 printf("tttttttttt 3、查询学生信息n"); 
 printf("tttttttttt 4、修改学生信息n"); 
 printf("tttttttttt 5、删除学生信息n"); 
 printf("tttttttttt 6、排列学生信息n"); 
 printf("tttttttttt 7、读取文件学生n");   //从文件读取 
 printf("tttttttttt 8、保存到文件n");   //保存到文件 
 printf("tttttttttt 9、退出系统n"); 
 printf("tttttttttt ***************n"); 
 printf("请输入你的选择n"); 
 scanf("%d",&choice); 
 fflush(stdin); //清除输入缓冲区 
 if (choice>9||choice<=0) 
 { 
 sum++; 
 if (sum>=5) 
 { 
 printf("输入错误次数过多,程序将重新开始n"); 
 system("pause"); //程序暂停 
 system("cls"); //清屏语句 
 goto point1; 
 } 
 } 
 switch (choice) //根据选择,调用不同的函数来完成不同的任务 
 { 
 case 1:input(stu);break;  
 case 2:output(stu);break; 
 case 3:lookfor(stu);break; 
 case 4:modify(stu);break; 
 case 5:delete_student(stu);break; 
 case 6:order(stu);break; 
 case 7:fileread(stu);break; 
 case 8:filewrite(stu);;break; 
 case 9:printf("感谢你使用学生信息管理系统,请关掉程序!!!n");system("pause");break; 
 default:printf("无效的选择!!!请重新输入!!!n");break; 
 } 
 }while (choice!=9); 
 printf("the program is over!!!n"); 
 return 0; 
} 
void input(struct student stu[M]) //自定义输入函数 
{ 
 int len,size; 
 system("cls"); 
 printf("请添加要输入学生的信息n"); 
 do { 
 printf("请输入由11位数字组成的学生学号n"); //do-while循环应用,提示输入位数为一确定数 
 scanf("%s",&stu[count].num); 
 len=strlen(stu[count].num); 
 }while(len!=11); 
 printf("请输入同学的姓名n"); 
 scanf("%s",stu[count].name); 
 do { 
 printf("请输入由18位数字组成的学生身份证号n"); //同上 
 scanf("%s",&stu[count].credit); 
 size=strlen(stu[count].credit); 
 }while(size!=18);
 printf("请输入学生的籍贯n"); 
 scanf("%s",&stu[count].native); 
 printf("请输入学生的手机号码n"); 
 scanf("%s",&stu[count].tel); 
 printf("请输入所需要的专业代号:1、计算机科学 2、通信工程 3、网络工程n"); //采用如此方法解决了专业输入难问题 
 scanf("%d",&stu[count].special); 
 printf("请输入对应的学生班级号码:1、1301 2、1302 n"); 
 scanf("%d",&stu[count].banji); 
 do { 
 printf("请依次输入不大于100的学生各科成绩n"); 
 scanf("%d%d%d%d%d",&stu[count].math,&stu[count].yy,&stu[count].wl,&stu[count].cyy,&stu[count].pe); 
 }while(stu[count].math>100||stu[count].yy>100||stu[count].wl>100||stu[count].cyy>100||stu[count].pe>100); //同上同上 
 stu[count].ave=(stu[count].math+stu[count].yy+stu[count].wl+stu[count].cyy+stu[count].pe)/5.0; //求出平均值 
 count++; 
} 
void output(struct student stu[M]) //自定义输出函数 
{ 
 int j; 
 system("cls"); 
 if (count==0) 
 { 
 printf("当前已存学生信息为0个n"); 
 return; 
 } 
 for (j=0;jstu[index].math) 
 {t=stu[k];stu[k]=stu[index];stu[index]=t;} 
 };break; 
 case 2:for (j=0;jstu[index].yy) 
 {stu[k]=stu[index];}    //整个为排序部分,采用了所谓的选择排序的方法 
 };break; 
 case 3:for (j=0;jstu[index].wl) 
 {t=stu[k];stu[k]=stu[index];stu[index]=t;} 
 };break; 
 case 4:for (j=0;jstu[index].cyy) 
 {t=stu[k];stu[k]=stu[index];stu[index]=t;} 
 };break; 
 case 5:for (j=0;jstu[index].pe) 
 {t=stu[k];stu[k]=stu[index];stu[index]=t;} 
 };break; 
 case 6:for (j=0;jstu[index].ave) 
 {t=stu[k];stu[k]=stu[index];stu[index]=t;} //强制类型转换符号只能用于有操作数,根据赋值运算中的类型转换问题可知 
 };break; 
 default:printf("无效的选择!!!请重新输入!!!n");break; 
 } 
} 
void xuehao(struct student stu[M])  //自定义通过学号方式删除学生信息函数 
{ 
 int j,index=0,k=count; 
 char xh[25]; 
 system("cls"); 
 printf("请输入你想要删除的同学学号n"); 
 scanf("%s",xh); 
 fflush(stdin); 
 for (j=0;j

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/63039.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号