您的位置:

学生信息管理系统c语言关键技术,c语言的学生信息管理系统

本文目录一览:

如何用c语言制作一个学生信息管理系统,要求以文件形式保存

#includestdio.h

#includestdlib.h

#includestring.h

//链表结点结构体声明

typedef struct subjects

{

char name[20];

float score;

}sub;

typedef struct student

{

int num;

char name[20];

sub  subject[3];

struct student* next;

}stu,*pstu;

#define SIZE sizeof(stu)

//函数申明

pstu LoadInfo();

void PrintMenu();

pstu AddStu(pstu );

pstu DeleStu(pstu );

pstu RwrStu(pstu );

void FindStu(pstu , char );

void Count(pstu ,char * ,float ,float );

void Rank(pstu ,char * );

void SaveQuit(pstu );

//创建菜单,进入选择循环

while(1)

{

PrintMenu();

printf("请输入您的选择编号:");

scanf("%d",n);

getchar();                   

switch(n)

{

case 1:

{

system("cls");           

j=0;

while(4!=j)       

{

printf("欢迎进入信息管理版块!\n\n");

printf("\025 1、添加学生\n");

printf("\025 2、删除学生\n");

printf("\025 3、修改学生信息\n");

printf("\025 4、返回\n");

printf("请输入您的选择编号:\n");

scanf("%d",j);

getchar();

if     ( 1 == j) head = AddStu(head);     

else if( 2 == j) head = DeleStu(head);   

else if( 3 == j) head = RwrStu(head);     

else if( 4 == j) ;

else printf("输入有误,请重新输入!\n");

}

case 2:

{

//信息查询

system("cls");

printf("欢迎进入信息查询版块!\n");

printf("请输入要查询的学生编号:");

scanf("%d",j);

getchar();

//printf("%d\n",j);          //检测输入是否成功,调试程序用

FindStu(head,j);            //查询并输出

printf("\n请输入回车键返回主菜单!");

getchar();

system("cls");

break;

}

扩展资料:

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。

实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

参考资料来源:百度百科-c语言

学生信息管理系统C语言编程

#includestdio.h /*I/O函数*/

#includestdlib.h /*其它说明*/

#includestring.h /*字符串函数*/

#define BUFLEN 100 /* 缓冲区最大字符数 */

#define LEN 15 /* 学号和姓名最大字符数,实际请更改 */

#define N 100 /* 最大学生人数,实际请更改*/

struct record /*结构体*/

{

char code[LEN+1]; /* 学号 */

char name[LEN+1]; /* 姓名 */

int age; /* 年龄 */

char sex[3]; /* 性别 */

char time[LEN+1]; /* 出生年月 */

char add[30]; /* 家庭地址 */

char tel[LEN+1]; /* 电话号码 */

char mail[30]; /* 电子邮件地址 */

}stu[N];

int k=1,n,m; /* 定义全局变量 */

void readfile();/* 函数声明 */

void seek();

void modify();

void insert();

void del();

void display();

void save();

void menu();

int main()

{

while(k)

menu();

system("pause");

return 0;

}

void help()

{

printf("\n0.欢迎使用系统帮助!\n");

printf("\n1.进入系统后,先刷新学生信息,再查询;\n");

printf("\n2.按照菜单提示键入数字代号;\n");

printf("\n3.增加学生信息后,切记保存按7;\n");

printf("\n4.谢谢您的使用!\n");

}

void readfile()/* 建立信息 */

{

char *p="student.txt";

FILE *fp;

int i=0;

if ((fp=fopen("student.txt","r"))==NULL)

{

printf("Open file %s error! Strike any key to exit!",p);

system("pause");

exit(0);

}

while(fscanf(fp,"%s %s%d%s %s %s %s %s",stu[i].code,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail)==8)

{

i++;

i=i;

}

fclose(fp);

n=i;

printf("录入完毕!\n");

}

void seek() /*查找*/

{

int i,item,flag;

char s1[21]; /* 以姓名和学号最长长度+1为准 */

printf("------------------\n");

printf("-----1.按学号查询-----\n");

printf("-----2.按姓名查询-----\n");

printf("-----3.退出本菜单-----\n");

printf("------------------\n");

while(1)

{

printf("请选择子菜单编号:");

scanf("%d",item);

flag=0;

switch(item)

{

case 1:

printf("请输入要查询的学生的学号:\n");

scanf("%s",s1);

for(i=0;in;i++)

if(strcmp(stu[i].code,s1)==0)

{

flag=1;

printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");

printf("--------------------------------------------------------------------\n");

printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

if(flag==0)

printf("该学号不存在!\n"); break;

case 2:

printf("请输入要查询的学生的姓名:\n");

scanf("%s",s1);

for(i=0;in;i++)

if(strcmp(stu[i].name,s1)==0)

{

flag=1;

printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");

printf("--------------------------------------------------------------------\n");

printf("%6s %7s %6d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

if(flag==0)

printf("该姓名不存在!\n"); break;

case 3:return;

default:printf("请在1-3之间选择\n");

}

}

}

void modify() /*修改信息*/

{

int i,item,num;

char sex1[3],s1[LEN+1],s2[LEN+1]; /* 以姓名和学号最长长度+1为准 */

printf("请输入要要修改的学生的学号:\n");

scanf("%s",s1);

for(i=0;in;i++)

if(strcmp(stu[i].code,s1)==0) /*比较字符串是否相等*/

num=i;

printf("------------------\n");

printf("1.修改姓名\n");

printf("2.修改年龄\n");

printf("3.修改性别\n");

printf("4.修改出生年月\n");

printf("5.修改地址\n");

printf("6.修改电话号码\n");

printf("7.修改E-mail地址\n");

printf("8.退出本菜单\n");

printf("------------------\n");

while(1)

{

printf("请选择子菜单编号:");

scanf("%d",item);

switch(item)

{

case 1:

printf("请输入新的姓名:\n");

scanf("%s",s2);

strcpy(stu[num].name,s2); break;

case 2:

printf("请输入新的年龄:\n");

scanf("%d",stu[num].age);break;

case 3:

printf("请输入新的性别:\n");

scanf("%s",sex1);

strcpy(stu[num].sex,sex1); break;

case 4:

printf("请输入新的出生年月:\n");

scanf("%s",s2);

strcpy(stu[num].time,s2); break;

case 5:

printf("请输入新的地址:\n");

scanf("%s",s2);

strcpy(stu[num].add,s2); break;

case 6:

printf("请输入新的电话号码:\n");

scanf("%s",s2);

strcpy(stu[num].tel,s2); break;

case 7:

printf("请输入新的E-mail地址:\n");

scanf("%s",s2);

strcpy(stu[num].mail,s2); break;

case 8:return;

default:printf("请在1-8之间选择\n");

}

}

}

void sort()/*按学号排序*/

{

int i,j,*p,*q,s;

char temp[10];

for(i=0;in-1;i++)

{

for(j=n-1;ji;j--)

if(strcmp(stu[j-1].code,stu[j].code)0)

{

strcpy(temp,stu[j-1].code);

strcpy(stu[j-1].code,stu[j].code);

strcpy(stu[j].code,temp);

strcpy(temp,stu[j-1].name);

strcpy(stu[j-1].name,stu[j].name);

strcpy(stu[j].name,temp);

strcpy(temp,stu[j-1].sex);

strcpy(stu[j-1].sex,stu[j].sex);

strcpy(stu[j].sex,temp);

strcpy(temp,stu[j-1].time);

strcpy(stu[j-1].time,stu[j].time);

strcpy(stu[j].time,temp);

strcpy(temp,stu[j-1].add);

strcpy(stu[j-1].add,stu[j].add);

strcpy(stu[j].add,temp);

strcpy(temp,stu[j-1].tel);

strcpy(stu[j-1].tel,stu[j].tel);

strcpy(stu[j].tel,temp);

strcpy(temp,stu[j-1].mail);

strcpy(stu[j-1].mail,stu[j].mail);

strcpy(stu[j].mail,temp);

p=stu[j-1].age;

q=stu[j].age;

s=*q;

*q=*p;

*p=s;

}

}

}

void insert() /*插入函数*/

{

int i=n,j,flag;

printf("请输入待增加的学生数:\n");

scanf("%d",m);

do

{

flag=1;

while(flag)

{

flag=0;

printf("请输入第 %d 个学生的学号:\n",i+1);

scanf("%s",stu[i].code);

for(j=0;ji;j++)

if(strcmp(stu[i].code,stu[j].code)==0)

{

printf("已有该学号,请检查后重新录入!\n");

flag=1;

break; /*如有重复立即退出该层循环,提高判断速度*/

}

}

printf("请输入第 %d 个学生的姓名:\n",i+1);

scanf("%s",stu[i].name);

printf("请输入第 %d 个学生的年龄:\n",i+1);

scanf("%d",stu[i].age);

printf("请输入第 %d 个学生的性别:\n",i+1);

scanf("%s",stu[i].sex);

printf("请输入第 %d 个学生的出生年月:(格式:年.月)\n",i+1);

scanf("%s",stu[i].time);

printf("请输入第 %d 个学生的地址:\n",i+1);

scanf("%s",stu[i].add);

printf("请输入第 %d 个学生的电话:\n",i+1);

scanf("%s",stu[i].tel);

printf("请输入第 %d 个学生的E-mail:\n",i+1);

scanf("%s",stu[i].mail);

if(flag==0)

{

i=i;

i++;

}

}

while(in+m);

n+=m;

printf("录入完毕!\n\n");

sort();

}

void del()

{

int i,j,flag=0;

char s1[LEN+1];

printf("请输入要删除学生的学号:\n");

scanf("%s",s1);

for(i=0;in;i++)

if(strcmp(stu[i].code,s1)==0)

{

flag=1;

for(j=i;jn-1;j++)

stu[j]=stu[j+1];

}

if(flag==0)

printf("该学号不存在!\n");

if(flag==1)

{

printf("删除成功,显示结果请选择菜单6\n");

n--;

}

}

void display()

{

int i;

printf("所有学生的信息为:\n");

printf("学生学号 学生姓名 年龄 性别 出生年月 地址 电话 E-mail\n");

printf("--------------------------------------------------------------------\n");

for(i=0;in;i++)

{

printf("%6s %7s %5d %5s %9s %8s %10s %14s\n",stu[i].code,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

}

void save()

{

int i;

FILE *fp;

fp=fopen("student.txt","w"); /*写入*/

for(i=0;in;i++)

{

fprintf(fp,"%s %s %d %s %s %s %s %s\n",stu[i].code,stu[i].name,stu[i].age,

stu[i].sex,stu[i].time,stu[i].add,stu[i].tel,stu[i].mail);

}

fclose(fp);

}

void menu()/* 界面 */

{

int num;

printf("*********************系统功能菜单************************ \n");

printf("友情提醒:查询前请先刷新系统! \n");

printf(" ---------------------- ---------------------- \n");

printf(" ********************************************* \n");

printf(" * 0.系统帮助及说明 * * 1.刷新学生信息 * \n");

printf(" ********************************************* \n");

printf(" * 2.查询学生信息 * * 3.修改学生信息 * \n");

printf(" ********************************************* \n");

printf(" * 4.增加学生信息 * * 5.按学号删除信息 * \n");

printf(" ********************************************* \n");

printf(" * 6.显示当前信息 * * 7.保存当前学生信息* \n");

printf(" ********************** ********************** \n");

printf(" * 8.退出系统 * \n");

printf(" ********************** \n");

printf(" ---------------------- ---------------------- \n");

printf("请选择菜单编号:");

scanf("%d",num);

switch(num)

{

case 0:help();break;

case 1:readfile();break;

case 2:seek();break;

case 3:modify();break;

case 4:insert();break;

case 5:del();break;

case 6:display();break;

case 7:save();break;

case 8:k=0;break;

default:printf("请在0-8之间选择\n");

}

怎样用C语言制作学生信息管理系统

还真不想再写代码了啊。。。。。

直接跟你说下思路吧。。。。

首先创建一个结构体,如——

struct student

{

char num[10]; //学号

char name[20]; //姓名

char sex[4]; //性别

int age; //年龄

int flag; //一个标示符(下面会说用法)

};

然后就定义一个student类型的数组stu[max],在前面#define max 1000000,你也可以把max定义得小一点,这是用来表示最大能容纳多少个学生信息。。。。

说到flag的用处,我不清楚你了不了解,还是先跟你说下吧。。。。

先考一下你,知道怎样把一个数组里面的某一个元素清空吗?清空就表示能在那个位置再次赋值,没清空的位置就不能重复赋值。把那个元素设为a[x],可能你会想着把a[x]=0不就得啦,那好,如果用这种方法,那么如果你想寻找数组a中可以再次赋值的元素,然后进行赋值,你是不是要通过一个判别式来对数组a的每一个元素进行判断,看看它是否能被再赋值,对吧,那这个判别式肯定就是判断a中的数值是否为零了。但是你想一下,如果一开始a中某个元素的值就是等于0,并不表示清空状态,那你这样的判别式能成立吗,所以我们要用到一个标示符flag。。。。

当flag=1时,表示该数组的元素已存在,当flag=0时,表示该数组的元素是无效的,这样的话就不需要对数组中的每个元素进行什么清空操作了,就像上面的数组stu,这么多元素,你怎么清空。。。。

然后有一个最重要的是怎样存储数据,因为没用到数据库,所以就用txt文件来存储吧,给你一个相关的代码——

int load_student() //把已存在的储存数据的txt文件打开

{

FILE *fp;

if((fp=fopen("student.txt","rb"))==NULL) //判断文件是否存在

{

printf("不能打开此文件.\n");

exit(0);

}

for(int i=0;iSIZE;i++) //存在的话就打开它

{

fread(stu[i],sizeof(struct student),1,fp);

}

fclose(fp);

return 0;

}

int save_student() //把数据存放进txt文件中

{

FILE *fp;

if((fp=fopen("student.txt","wb"))==NULL)

{

printf("不能打开此文件.\n");

exit(0);

}

for(int i=0;iSIZE;i++)

{

fwrite(stu[i],sizeof(struct student),1,fp);

}

fclose(fp);

return 0;

}

这是一个比较基本的代码,你可以灵活的修改一下,实现读写过程的代码也就是这样了。。。。

然后是功能的实现,这方面就得看你的要求了,不过我建议你把每个界面做成一个函数,实现模块化,如——

int shouye() //首页

{

system("cls"); //清屏

int num1;

printf("**********************************\n");

printf(" 学生信息管理系统 \n");

printf("**********************************\n");

printf("\n\n");

printf("1、更改学生信息\n\n");

printf("2、查看学生信息\n\n");

printf("3、退出系统\n\n");

scanf("%d",num1); //输入操作

if(num1==1)

update(); //进入学生信息更改模块

else if(num1==2)

check(); //进入学生信息查看模块

else

exit(0); //退出系统

return 0;

}

在给多你一个界面函数的代码吧——

int update()

{

system("cls");

int num2;

printf("**********************************\n");

printf(" 更改成绩 \n");

printf("**********************************\n");

printf("\n\n");

printf("1、增加学生信息\n\n");

printf("2、修改学生信息\n\n");

printf("3、返回上一层\n\n");

scanf("%d",num2);

if(num2==1)

add();

else if(num2==2)

correct();

else

shouye();

return 0;

}

大概就是这种模式,我就不多弄了,你自己开拓一下吧,可能你会问我主函数怎么实现,大概就是这样吧——

int main()

{

load_student(); //读取txt里面的内容

shouye();

return 0;

}

这里要说明一下,我给你这代码还不怎么完善的,只是简单跟你说下思路罢了,如果你招着复制的话,要记住,在你第一次运行之前,要先在你这工程目录低下创建一个名字为student的txt文件,不然会显示错误,因为load_student()那里就会判断是否存在student.txt文件,没的话就会显示错误的。。。。

我建议你简单地画下流程图,这样可以让你的编程思路更清晰,如果还有什么不清楚的地方可以Q我,410430209。。。。

希望这些对你有所帮助。。。。

怎样用c语言编写一个学生信息管理系统

给你个我写的参考:

#

include

stdio.h

#

include

malloc.h

struct

Student

{

char

name[100];

int

age;

int

id;

char

sex;

};

int

input(struct

Student

**

pArr)

{

int

i;

int

len;

printf("请输入学生的个数:\n");

printf("len

=

");

scanf("%d",

len);

*pArr

=

(struct

Student

*)malloc(len

*

sizeof(struct

Student));

for(i

=

0;

i

len;

++i)

{

printf("请输入第%d个学生的信息:\n",

i

+

1);

printf("姓名

=

");

scanf("%s",

(*pArr)[i].name);

printf("年龄

=

");

scanf("%d",

((*pArr)[i].age));

printf("学号

=

");

scanf("%d",

((*pArr)[i].id));

printf("性别(1-男

0-女)

=

");

scanf("

%c",

((*pArr)[i].sex));

}

return

len;

}

void

output(struct

Student

*

pArr,

int

len,

int

sid)

{

int

i;

for(i

=

0;

i

len;

++i)

if(pArr[i].id

==

sid)

break;

printf("\n\n学生的信息是:\n");

printf("第%d个学生的信息是:\n",

i

+

1);

printf("姓名

=

%s\n",

pArr[i].name);

printf("年龄

=

%d\n",

pArr[i].age);

printf("学号

=

%d\n",

pArr[i].id);

if(pArr[i].sex

==

'1')

printf("性别

=

男\n");

else

printf("性别

=

女\n");

}

int

main(void)

{

int

len,

id;

struct

Student

*

pArr;

len

=

input(pArr);

printf("输入要查找的学号:\n");

scanf("%d",

id);

output(pArr,

len,

id);

return

0;

}

学生信息管理系统用C语言实现,

#include"stdio.h"

#include"conio.h"

#include"string.h"

#include"stdlib.h"

void look(); /*声明查看函数*/

void save(); /*声明保存函数*/

void search_name(); /*声明按姓名查看函数*/

void search_number(); /*声明按学号查看函数*/

void order(); /*声明排序函数*/

void del(); /*声明删除函数*/

int openl(); /*声明打开函数*/

void welcome(); /*声明我的个人信息函数*/

void type(); /*声明输入函数*/

void see(); /*声明打开并查看文件函数*/

struct student /*定义学生信息的结构体类型*/

{

char num[15]; /*学号*/

char name[20]; /*姓名*/

char sex[4]; /*性别*/

int english; /*英语成绩*/

int math; /*数学成绩*/

int chinese; /*语文成绩*/

float aver; /*平均成绩*/

float sum; /*总成绩*/

}stu[100];

int n; /*声明一个全局变量*/

void main() /*主函数即用户的操作界面*/

{

system("color 1E"); /*设计文本颜色*/

int b,flag=0; /*声明局部变量*/

while(1) /*循环输出以下信息*/

{

printf("\n\t\t\t欢迎来到学生成绩管理系统!\n");

printf("\n\t\t\t\t ###制作\n");

printf("\t\t\t-------------------------------\n");

printf("\t\t\t1.键入学生的信息\n\n"); /*键入学生的信息*/

printf("\t\t\t2.查看录入的学生信息\n\n"); /*查看录入的学生信息*/

printf("\t\t\t3.按姓名查看学生的信息\n\n"); /*按姓名查看学生的信息*/

printf("\t\t\t4.按学号查看学生的信息\n\n"); /*按学号查看学生的信息*/

printf("\t\t\t5.按平均成绩排序\n\n"); /*排序*/

printf("\t\t\t6.删除学生信息\n\n"); /*删除学生信息*/

printf("\t\t\t7.保存学生信息\n\n"); /*保存*/

printf("\t\t\t8.打开文件\n\n"); /*打开文件*/

printf("\t\t\t9.我的个人信息\n\n"); /*我的个人信息*/

printf("\t\t\t0.退出\n\n"); /*退出*/

printf("\t\t\t请输入你的选择:");

scanf("%d",b);

switch(b)

{

case 1:type();break; /*调用键入学生信息函数*/

case 2:look();break; /*调用查看函数*/

case 3:search_name();break; /*调用姓名查看函数*/

case 4:search_number();break; /*调用学号查看函数*/

case 5:order();break; /*调用排序函数*/

case 6:del();break;/*调用删除函数*/

case 7:save();break;/*调用保存函数*/

case 8:see();break;/*调用打开文件函数*/

case 9:welcome();break;/*调用我的个人信息函数*/

case 0:flag=1;break;/*退出SWITCH语句*/

default :printf("错误!");

}

if(flag) break; /*如果选择0就退出循环*/

}

}

void welcome() /*我的个人信息函数*/

{

system("CLS");

printf("\n\n\t\t------------个人信息------------"); /*在屏幕上输出一下信息*/

printf("\n\n\n\n\t\t姓名:###");

printf("\t\t\tSex:#\n");

printf("\t\t年龄:#\n");

printf("\n\t\t\t--------学习经历--------\n\n\n");

printf("\t\t小学:######\n\n");

printf("\t\t初中:#####\n\n");

printf("\t\tS高中:######\n\n");

printf("\t\t大学:######\n\n");

printf("\n\n\t\t按任意键返回欢迎屏幕!");

getch(); /*按任意键返回主函数*/

}

void type() /*定义键入学生信息函数*/

{

system("CLS");

int i; /*定义局部变量*/

printf("\t\t输出你想输入的学生信息个数:");

scanf("%d",n);

for(i=0;in;i++) /*输入每个学生的信息*/

{

printf("\n\t\t\t----------------\n");

printf("\t\t\t学号:");

scanf("%s",stu[i].num); /*输入学号*/

printf("\t\t\t姓名:");

scanf("%s",stu[i].name); /*输入姓名*/

printf("\t\t\t性别:");

scanf("%S",stu[i].sex); /*输入性别*/

printf("\t\t\t英语:");

scanf("%d",stu[i].english); /*输入英语成绩*/

printf("\t\t\t数学:");

scanf("%d",stu[i].math); /*输入数学成绩*/

printf("\t\t\t语文:");

scanf("%d",stu[i].chinese); /*输入语文成绩*/

stu[i].aver=((float)stu[i].english+(float)stu[i].math+(float)stu[i].chinese)/3;/*计算平均成绩*/

stu[i].sum=(float)stu[i].english+(float)stu[i].math+(float)stu[i].chinese;/*计算总成绩*/

printf("\t\t\t平均成绩=%4.1f\n",stu[i].aver); /*输出平均成绩*/

printf("\t\t\t总成绩=%4.1f\n",stu[i].sum); /*输出总成绩*/

}

printf("\n\n\t\t\t按任意键返回菜单!!");

getch();

save();

}

void save() /*建立保存文件函数*/

{

system("CLS");

FILE *fp; /*定义文件型指针*/

int i;

if((fp=fopen("student.txt","wb"))==NULL) /*打开输出文件*/

{

printf("不能打开文件!\n");

return; /*终止程序*/

}

for(i=0;in;i++) /*向student文件中写入信息*/

if(fwrite(stu[i],sizeof(struct student),1,fp)!=1)

printf("文件写入错误\n");

fclose(fp); /*关闭文件*/

printf("\n\n\n\n\t\t\t学生信息保存成功!\n");

printf("\n\n\n\n\t\t\t按任意键返回菜单!!");

getch();

}

void look() /*定义查看函数*/

{

system("CLS");

int i;

//n=openl(); /*调用openl函数*/

printf("\t学号\t姓名\t性别\t英语\t数学\t语文\t平均成绩\t总成绩\n");

for(i=0;in;i++) /*输出所有的学生信息*/

{

printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%3.1f\t\t%6.1f\n",stu[i].num,stu[i].name,

stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);

}

printf("\n\n\n\t\t\t按任意键返回菜单");

getch();

}

void search_name() /*按姓名查看函数*/

{

system("CLS");

int i;

char name[20]; /*声明字符数组*/

printf("\t\t\t请输入学生姓名:\n");

scanf("%s",name);

printf("\t学号\t姓名\t性别\t英语\t数学\t语文\t平均成绩\t总成绩\n");

for(i=0;in;i++)

if(strcmp(stu[i].name,name)==0) /*将输入的姓名与结构体中的姓名进行比较*/

{

printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%3.1f\t\t%6.1f\n",stu[i].num,stu[i].name,

stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);

printf("\n\n\n\t\t\t按任意键返回菜单");

}

getch();

}

void search_number() /*定义按学号查看函数*/

{

system("CLS");

int i;

char number[15]; /*声明字符数组*/

printf("\t\t\t请输入学号:\n");

scanf("%s",number);

printf("\t学号\t姓名\t性别\t英语\t数学\t语文\t平均成绩\t总成绩\n");

for(i=0;in;i++)

if(strcmp(stu[i].num,number)==0) /*将输入的学号与结构体中的学号进行比较*/

printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%3.1f\t\t%6.1f\n",stu[i].num,stu[i].name,

stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);

printf("\n\n\n\t\t\t按任意键返回菜单");

getch();

}

void order() /*定义排序函数*/

{

system("CLS");

int i,j;

char a;

struct student temp; /*声明结构体变量*/

printf("\t学号\t姓名\t性别\t英语\t数学\t语文\t平均成绩\t总成绩\n");

for(i=0;in;i++) /*对数据进行排序*/

{

for(j=i+1;jn;j++)

if(stu[i].sumstu[j].sum)

{

temp=stu[i];

stu[i]= stu[j];

stu[j]=temp;

}

printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%3.1f\t\t%6.1f\n",stu[i].num,stu[i].name,

stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);

}

getch();

printf("是否保存?(y or n)");

getchar();

scanf("%c",a);

if(a=='y') /*是否保存排序后的文件*/

save();

else

printf("退出");

getch();

}

void del() /*定义删除学生信息函数*/

{

int i;

char a;

char name[20];

system("CLS");

printf("\t\t\t输入学生名字:\n");

scanf("%s",name);

system("CLS");

printf("\t学号\t姓名\t性别\t英语\t数学\t语文\t平均成绩\t总成绩\n");

for(i=0;in;i++)

if(strcmp(stu[i].name,name)==0)

{

printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%3.1f\t\t%6.1f\n",stu[i].num,stu[i].name,

stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);

getch();

printf("真的删除?(y or n)");

getchar();

scanf("%c",a);

if(a=='y') /*是否删除该信息*/

{

for(;in;i++)

stu[i]=stu[i+1];

n=n-1;

printf("你已经删除信息");

}

else

printf("退出");

getch();

}

save();

}

int openl() /*定义打开文件函数*/

{

system("CLS");

int i;

FILE *fp;

if((fp=fopen("student.txt","rb"))==NULL)

{

printf("Cannot open file.\n");

exit(0);

}

for(i=0;!feof(fp);i++)

fread(stu[i],sizeof(struct student),1,fp);

fclose(fp);

return(i-1);

}

void see() /*打开并查看文件*/

{

system("CLS");

int i;

n=openl();

printf("文件打开成功!\n");

printf("按任意键查看!\n");

getch();

printf("\t学号\t姓名\t性别\t英语\t数学\t语文\t平均成绩\t总成绩\n");

for(i=0;in;i++) /*输出所有的学生信息*/

{

printf("%10s\t%s\t%2s\t%d\t%d\t%d\t%3.1f\t\t%6.1f\n",stu[i].num,stu[i].name,

stu[i].sex,stu[i].english,stu[i].math,stu[i].chinese,stu[i].aver,stu[i].sum);

}

printf("\n\n\n\t\t\t按任意键返回菜单");

getch();

请采纳答案,支持我一下。

学生信息管理系统c语言关键技术,c语言的学生信息管理系统

2022-11-23
学生信息管理系统c语言摘要,c语言中学生信息管理系统

2022-11-26
c语言课设学生成绩信息管理系统,学生成绩管理系统 c语言

2023-01-07
c语言校友管理系统,用c语言写学生信息管理系统

2023-01-06
c语言学生信息管理系统心得体会,基于c语言的学生信息管理系统

2022-12-01
c语言学生管理系统for结构,c语言写学生管理系统

2023-01-06
c语言学生管理系统,c语言学生管理系统流程图

2022-12-02
c语言信息系统,c语言程序管理系统

2022-11-27
学生身份管理系统c语言,学生管理系统设计c语言

2022-11-26
学生信息管理系统C语言代码详解

2023-05-21
c语言学生管理系统的删除模块,C语言编写学生管理系统

2022-11-30
c语言做的学生成绩管理系统,c语言程序学生成绩管理系统

2022-11-29
学生档案管理系统c语言代码,学生档案管理系统c语言代码查询

2023-01-04
c语言学生成绩管理系统,c语言学生成绩管理系统课程设计

2023-01-07
关于人事管理系统c语言代码的信息

2023-01-04
c语言开发管理,c语言开发系统

2022-11-29
学生社团管理系统php源码,php学生个人信息系统源码

2022-11-24
职工工资管理系统php,职工工资管理系统c语言

2022-11-29
学生管理系统java,学生管理系统Java简单

2022-11-27
学生考勤系统设计c语言源程序,C语言大学生考勤系统怎么做

2023-01-03