C语言实现学生管理系统
c语言学生管理系统代码
C语言学生管理系统代码
简介
学生管理系统是一个用于管理学生信息的简单程序,它可以实现添加学生信息、显示学生信息、修改学生信息和删除学生信息等功能。
通过这个系统,学校或机构可以更方便地管理和维护学生的相关数据。
功能
1.添加学生信息:通过输入学生的姓名、学号、年龄和性别等信息,将
学生信息存储在系统中。
每个学生信息包括学号、姓名、年龄和性别等关键信息。
2.显示学生信息:可以显示系统中所有学生的信息,包括学号、姓名、
年龄和性别。
3.修改学生信息:通过输入学生的学号,可以修改该学生的姓名、年龄
和性别等信息。
4.删除学生信息:通过输入学生的学号,可以删除该学生的信息。
实现
下面是一个简单的C语言学生管理系统代码示例:
```c #include <stdio.h> #include <string.h>
#define MAX_STUDENTS 100
// 定义学生结构体 struct Student { int id; char name[100]; int age; char
gender[10]; };
// 定义全局变量,用于存储学生信息和统计学生数量 struct Student
students[MAX_STUDENTS]; int num_students = 0;
// 添加学生 void addStudent() { if (num_students >= MAX_STUDENTS) { printf(。
学生管理系统c语言源代码
int main()
{
initLinkTable(&head);//初始化表头
readStu();//读入源文件
while (1)
{
menu();
system("cls");
}
}
void initLinkTable(studentLinkPoint *p)
int sum(studentLinkPoint);//求和
void avg(studentLinkPoint);//求平均分
void disAvgSum(studentLinkPoint);//显示总分和平均分
char *inputNumber();//专门用来输入一个学生的学号,返回该字符串的指针
char name[20];
char number[18];
int i;
if(temp==0)
{
error("input");
return 0;
}
else
{
temp->student=(studentPint)malloc(sizeof(studentNod));
break;
case 0:
del(head,end);
break;
}
if(c==0)
exit(1);
}
void del(studentLinkPoint p,studentLinkPoint End)
{
studentLinkPoint q;
if(end==head)
printf(" %3.1f %3.1f\n",p->student->sum,p->student->avg);
C 语言 学生教务管理系统代码
C 语言学生教务管理系统代码C++语言学生教务管理系统代码 #include <stdio.h> #include <string.h> struct teacher{char name[30];char teachernumber[30];char birthplace[30];char teacherID[30];char telephone[30];char course[30]; }teacher[100];struct student{char name[30];char studentnumber[30];char birthplace[30];char studentID[30];char telephone[30]; }student[1000];struct manager{char name[30];char managernumber[30];char birthplace[30];char managerID[30];char telephone[30]; }manager[100]; struct grade{char number[30];float math;float ph;float english;float c_language;float practise;float sum;float aver;}grade[30];struct grade_count {float amax;float amin;float mathmax;float cmax;float phmax;float emax;float pmax;float mathmin;float cmin;float phmin;float emin;float pmin;char str1[10];char str2[10];char str3[10];char str4[10];char str5[10];char str6[10];char str7[10];char str8[10];char str9[10];char str10[10];char str11[10];char str12[10];}grade_count;void addteacher(){FILE *fp1;int ch=1;int i=0;while(ch==1){fp1=fopen("teacher.txt","a+");printf("请输入您要添加的教师的名字:\n"); scanf ("%s",teacher[i].name);printf("请输入您要添加的教师的教师号:\n");scanf ("%s",teacher[i].teachernumber);printf("请输入您要添加的教师的出生地:\n");scanf ("%s",teacher[i].birthplace);printf("请输入您要添加的教师的身份证号:\n");scanf ("%s",teacher[i].teacherID);printf("请输入您要添加的教师的联系方式:\n");scanf ("%s",teacher[i].telephone);printf("请输入您要添加的教师的课程:\n");scanf ("%s",teacher[i].course);fwrite(&teacher[i],sizeof(struct teacher),1,fp1);printf("%5s,%5s,%5s,%5s,%5s,%5s\n",teacher[i].name,teacher[i].teachernumber,teacher[i].birthplace,teacher[i].teache rID,teacher[i].telephone,teacher[i].course);printf("是否继续添加,继续添加请输入1,否则输入0\n");scanf ("%d",&ch);fclose(fp1);i++;}}void changeteacher(){FILE *fp,*fp2;char teachername[30];int i;int choice;fp=fopen("teacher.txt","r");fp2=fopen("teacherl.txt","w");printf("------欢迎进入教师修改系统------\n\n");printf("请输入要修改的教师的名字\n");scanf("%s",teachername);for(i=0;fread(&teacher[i],sizeof(struct teacher),1,fp)!=0;i++) {if(strcmp(teacher[i].name,teachername)==0){printf("你所要修改的教师的资料如下:\n\n");printf("姓名:〈%s〉教师号:<%s> 出生地:〈%s〉身份证号: <%s> 联系方式: <%s> 课程:<%s>\n",teacher[i].name,teacher[i].teachernumber,teacher[i].birthplace,teacher[i].teacherID,teacher[i].telephone,teacher[i].course);printf(",请选择你要更新的内容:1:修改教师的姓名\n");printf(" 2:修改教师的教师号\n");printf(" 3:修改教师的出生地\n");printf(" 4:修改教师的身份证号\n");printf(" 5:修改教师的联系方式\n");printf(" 6:修改教师的课程\n");printf("请按照提示选择1-6:");scanf("%d",&choice);switch(choice){case 1:{printf("请输入新的姓名\n");scanf("%s",teacher[i].name);fwrite(&teacher[i],sizeof(struct teacher),1,fp2); }break;case 2:{printf("请输入新的教师号\n");scanf("%s",teacher[i].teachernumber);fwrite(&teacher[i],sizeof(struct teacher),1,fp2); }break;case 3:{printf("请输入新的出生地 \n");scanf("%s",teacher[i].birthplace);fwrite(&teacher[i],sizeof(struct teacher),1,fp2); }break;case 4:{printf("请输入新的身份证号 \n");scanf("%s",teacher[i].teacherID);fwrite(&teacher[i],sizeof(struct teacher),1,fp2); }break;case 5:{printf("请输入新的联系方式 \n");scanf("%d",&teacher[i].telephone);fwrite(&teacher[i],sizeof(struct teacher),1,fp2); }break;case 6:{printf("请输入新的课程 \n");scanf("%d",&teacher[i].course);fwrite(&teacher[i],sizeof(struct teacher),1,fp2); }break;default:printf("Error");break;}continue;}fwrite(&teacher[i],sizeof(struct teacher),1,fp2);}fclose(fp);fclose(fp2);fp=fopen("teacher.txt","w");fp2=fopen("teacherl.txt","r");for(i=0;fread(&teacher[i],sizeof(struct teacher),1,fp2)!=0;i++) {fwrite(&teacher[i],sizeof(struct teacher),1,fp);}fclose(fp);fclose(fp2);fp2=fopen("teacherl.txt","w");fclose(fp2);printf("Enter\n");getchar();return;}void tnamedele(){FILE *fp,*fp1;int i;char teachername[30];char ch1;printf("请输入教师的名字:\n");scanf("%s",teachername);fp=fopen("teacher.txt","r");fp1=fopen("teacher1.txt","w");for(i=0;fread(&teacher[i],sizeof(struct teacher),1,fp)!=0;i++) if(strcmp(teachername,teacher[i].name)!=0){fwrite(&teacher[i],sizeof(struct teacher),1,fp1);fclose(fp);fclose(fp1);}printf("确定删除该教师,\n");printf(" 1.是,请输入Y;\n");printf(" 2.否,请输入N.\n");scanf ("%s",&ch1);if(ch1=='y'||ch1=='Y'){fp=fopen("teacher.txt","w");fp1=fopen("teacher1.txt","r");for(i=0;fread(&teacher[i],sizeof(structteacher),1,fp1)!=0;i++){fwrite(&teacher[i],sizeof(struct teacher),1,fp);}fclose(fp);fclose(fp1);printf("您已经成功删除\n");}}void tnumberdele(){FILE *fp,*fp2;int i;char teachernumber[30];char ch2;printf("请输入教师的教师号:\n");scanf("%s",teachernumber);fp=fopen("teacher.txt","r");fp2=fopen("teacher1.txt","w");for(i=0;fread(&teacher[i],sizeof(structteacher),1,fp)!=0;i++)if(strcmp(teachernumber,teacher[i].teachernumber)!=0) fwrite(&teacher[i],sizeof(struct teacher),1,fp2); fclose(fp);fclose(fp2);printf("确定删除该教师,\n");printf(" 1.是,请输入Y;\n");printf(" 2.否,请输入N.\n");scanf ("%s",&ch2);if(ch2=='y'||ch2=='Y'){fp=fopen("teacher.txt","w");fp2=fopen("teacher1.txt","r");for(i=0;fread(&teacher[i],sizeof(struct teacher),1,fp2)!=0;i++) {fwrite(&teacher[i],sizeof(struct teacher),1,fp);}fclose(fp);fclose(fp2);printf("您已经成功删除\n");}}void deleteteacher(){int i;do{printf("------欢迎进入教师删除系统------\n\n");printf(">>>按照教师的姓名删除按1\n");printf(">>>按照教师的教师号删除按2\n");printf(">>>返回按0\n");scanf("%d",&i);switch(i){case 0:printf("退出\n");break;case 1:tnamedele();break;case 2:tnumberdele();break;default:break;}}while(i!=0);}void countteacher(){FILE *fp;int i,j;int n=0;do{printf("您现在进行的是统计教师的操作\n\n"); printf("请稍等......按1确定,按0退出\n"); scanf("%d",&j);switch(j){case 0:printf("退出\n");break;case 1:{fp=fopen("teacher.txt","r");for(i=0;fread(&teacher[i],sizeof(struct teacher),1,fp)!=0;i++){n=n+1;}fclose(fp);printf("现在教师的总量为:%d\n",n); getchar();return;};break;default:break;}}while(j!=0);}void tnameseek(){FILE *fp1;int i;char tname[30];int ch1;do{printf("--------您现在进入的是教师查询系统--------\n\n");printf("请输入教师的名字:\n");scanf("%s",tname);fp1=fopen("teacher.txt","r");for(i=0;fread(&teacher[i],sizeof(structteacher),1,fp1)!=0;i++){if(strcmp(tname,teacher[i].name)==0)printf("%5s---%5s---%5s---%5s--%5s--%5s\n",teacher[i].name,teacher[i].teachernumber,teacher[i].birthplace,te acher[i].teacherID,teacher[i].telephone,teacher[i].course);}printf("继续请输入1,否则输入0\n");scanf("%d",&ch1);}while(ch1==1);}void tnumberseek(){FILE *fp2;int i;char tnumber[30];int ch2;do{printf("--------您现在进入的是教师查询系统--------\n\n");printf("请输入教师的教师号:\n");scanf("%s",tnumber);fp2=fopen("teacher.txt","r");for(i=0;fread(&teacher[i],sizeof(struct teacher),1,fp2)!=0;i++) {if(strcmp(tnumber,teacher[i].teachernumber)==0)printf("%5s---%5s---%5s---%5s--%5s--%5s\n",teacher[i].name,teacher[i].teachernumber,teacher[i].birthplace,te acher[i].teacherID,teacher[i].telephone,teacher[i].course);}printf("继续请输入1,否则输入0\n");scanf("%d",&ch2);}while(ch2==1);}void seekteacher(){int i;do{printf("------欢迎进入教师查询系统------\n\n"); printf("请选择您要查询的方法\n");printf(" 1:按照教师的名字查询\n");printf(" 2:按照教师的教师号查询\n");printf(" 3:退出\n");scanf("%d",&i);switch(i){case 1: tnameseek();break;case 2: tnumberseek();break;case 3: printf("退出");break;default: printf("您的操作有误");break;}}while(i!=3);}void mteachermanage(){int i;do{printf("请按以下提示进行操作:\n\n");printf("1.<<<<教师添加\n"); printf("2.<<<<教师修改\n"); printf("3.<<<<教师删除\n"); printf("4.<<<<教师统计\n"); printf("5.<<<<教师查询\n"); printf("6.<<<<退出\n");scanf ("%d",&i);switch(i){case 1: addteacher();break; case 2: changeteacher();break; case 3: deleteteacher();break; case 4: countteacher();break; case 5: seekteacher();break; case 6: printf("退出\n");break; default:break;}}while(i!=6);}void addstudent(){FILE *fp1;int ch=1;int i=0;while(ch==1){fp1=fopen("student.txt","a+");printf("请输入您要添加的学生的名字:\n");scanf ("%s",student[i].name);printf("请输入您要添加的学生的学号:\n");scanf ("%s",student[i].studentnumber);printf("请输入您要添加的学生的出生地:\n");scanf ("%s",student[i].birthplace);printf("请输入您要添加的学生的身份证号:\n");scanf ("%s",student[i].studentID);printf("请输入您要添加的学生的联系方式:\n");scanf ("%s",student[i].telephone);fwrite(&student[i],sizeof(struct student),1,fp1);printf("%5s,%5s,%5s,%5s,%5s\n",student[i].name,student[i ].studentnumber,student[i].birthplace,student[i].studentID, student[i].telephone);printf("是否继续添加,继续添加请输入1,否则输入0\n");scanf ("%d",&ch);fclose(fp1);i++;}}void changestudent(){FILE *fp,*fp2;char studentname[30];int i;int choice;fp=fopen("student.txt","r");fp2=fopen("studentl.txt","w");printf("------欢迎进入学生修改系统------\n\n");printf("请输入要修改的学生的名字\n");scanf("%s",studentname);for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++) {if(strcmp(student[i].name,studentname)==0){printf("你所要修改的学生的资料如下:\n\n");printf("姓名:〈%s〉学生号:<%s> 出生地:〈%s〉身份证号: <%s> 联系方式:<%s>\n",student[i].name,student[i].studentnumber,student[i].birthplace,student[i].studentID,student[i].telephone);printf(",请选择你要更新的内容:1:修改学生的姓名\n");printf(" 2:修改学生的学号\n");printf(" 3:修改学生的出生地\n");printf(" 4:修改学生的身份证号\n");printf(" 5:修改学生的联系方式\n");printf("请按照提示选择1-5:");scanf("%d",&choice);switch(choice){case 1:{printf("请输入新的姓名\n");scanf("%s",student[i].name);fwrite(&student[i],sizeof(struct student),1,fp2); }break;case 2:{printf("请输入新的学号\n");scanf("%s",student[i].studentnumber);fwrite(&student[i],sizeof(struct student),1,fp2); }break;case 3:{printf("请输入新的出生地 \n");scanf("%s",student[i].birthplace);fwrite(&student[i],sizeof(struct student),1,fp2); }break;case 4:{printf("请输入新的身份证号 \n");scanf("%s",student[i].studentID);fwrite(&student[i],sizeof(struct student),1,fp2); }break;case 5:{printf("请输入新的联系方式 \n");scanf("%d",&student[i].telephone);fwrite(&teacher[i],sizeof(struct teacher),1,fp2); }break;default:printf("Error");break;}continue;}fwrite(&student[i],sizeof(struct student),1,fp2); }fclose(fp);fclose(fp2);fp=fopen("student.txt","w");fp2=fopen("studentl.txt","r");for(i=0;fread(&student[i],sizeof(struct student),1,fp2)!=0;i++){fwrite(&student[i],sizeof(struct student),1,fp); }fclose(fp);fclose(fp2);fp2=fopen("studentl.txt","w");fclose(fp2);printf("Enter\n");getchar();return;}void snamedele(){FILE *fp,*fp1;int i;char studentname[30];char ch1;printf("请输入学生的名字:\n");scanf("%s",studentname);fp=fopen("student.txt","r");fp1=fopen("student1.txt","w");for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++){if(strcmp(studentname,student[i].name)!=0)fwrite(&student[i],sizeof(struct student),1,fp1); fclose(fp);fclose(fp1);printf("确定删除该学生,\n");printf(" 1.是,请输入Y;\n");printf(" 2.否,请输入N.\n");scanf ("%s",&ch1);if(ch1=='y'||ch1=='Y'){fp=fopen("student.txt","w");fp1=fopen("student1.txt","r");for(i=0;fread(&student[i],sizeof(struct student),1,fp1)!=0;i++){fwrite(&student[i],sizeof(struct student),1,fp); }fclose(fp);fclose(fp1);printf("您已经成功删除\n");}}}void snumberdele(){FILE *fp,*fp2;int i;char studentnumber[30];char ch2;printf("请输入学生的学号:\n");scanf("%s",studentnumber);fp=fopen("student.txt","r");fp2=fopen("student1.txt","w");for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++) {if(strcmp(studentnumber,student[i].studentnumber)!=0)fwrite(&student[i],sizeof(struct student),1,fp2);fclose(fp);fclose(fp2);printf("确定删除该教师,\n");printf(" 1.是,请输入Y;\n");printf(" 2.否,请输入N.\n");scanf ("%s",&ch2);if(ch2=='y'||ch2=='Y'){fp=fopen("student.txt","w");fp2=fopen("student1.txt","r");for(i=0;fread(&student[i],sizeof(struct student),1,fp2)!=0;i++) {fwrite(&student[i],sizeof(struct student),1,fp);}fclose(fp);fclose(fp2);printf("您已经成功删除\n");}}}void deletestudent(){int i;do{printf("------欢迎进入学生删除系统------\n\n");printf(">>>按照学生的姓名删除按1\n");printf(">>>按照学生的学号删除按2\n");printf(">>>返回按0\n");scanf("%d",&i);switch(i){case 0:printf("退出\n");break;case 1:snamedele();break;case 2:snumberdele();break;default:break;}}while(i!=0);}void countstudent(){FILE *fp;int i,j;int n=0;do{printf("您现在进行的是统计学生的操作\n\n"); printf("请稍等......按1确定,按0退出\n"); scanf("%d",&j);switch(j){case 0:printf("退出\n");break;case 1:{fp=fopen("student.txt","r");for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++){n=n+1;}fclose(fp);printf("现在学生的总量为:%d\n",n); getchar();return;};break;default:break;}}while(j!=0);}void snameseek(){FILE *fp1;int i;char sname[30];int ch1;do{printf("--------您现在进入的是学生查询系统--------\n\n");printf("请输入学生的名字:\n");scanf("%s",sname);fp1=fopen("student.txt","r");for(i=0;fread(&student[i],sizeof(structstudent),1,fp1)!=0;i++){if(strcmp(sname,student[i].name)==0)printf("%5s---%5s---%5s---%5s--%5s\n",student[i].name,st udent[i].studentnumber,student[i].birthplace,student[i].stu dentID,teacher[i].telephone);}printf("继续请输入1,否则输入0\n");scanf("%d",&ch1);}while(ch1==1);}void snumberseek(){FILE *fp2;int i;char snumber[30];int ch2;do{printf("--------您现在进入的是学生查询系统--------\n\n");printf("请输入学生的学号:\n");scanf("%s",snumber);fp2=fopen("student.txt","r");for(i=0;fread(&student[i],sizeof(struct student),1,fp2)!=0;i++) {if(strcmp(snumber,student[i].studentnumber)==0)printf("%5s---%5s---%5s---%5s--%5s\n",student[i].name,student[i].studentnumber,student[i].birthplace,student[i].stu dentID,student[i].telephone);}printf("继续请输入1,否则输入0\n");scanf("%d",&ch2);}while(ch2==1);}void seekstudent(){int i;do{printf("------欢迎进入学生查询系统------\n\n"); printf("请选择您要查询的方法\n");printf(" 1:按照学生的名字查询\n");printf(" 2:按照学生的学号查询\n");printf(" 3:退出\n");scanf("%d",&i);switch(i){case 1: snameseek();break;case 2: snumberseek();break;case 3: printf("退出");break;default: printf("您的操作有误");break;}}while(i!=3);}void mstudentmanage(){int i;do{printf("请按以下提示进行操作:\n\n");printf("1.<<<<学生添加\n");printf("2.<<<<学生修改\n");printf("3.<<<<学生删除\n"); printf("4.<<<<学生统计\n"); printf("5.<<<<学生查询\n"); printf("6.<<<<退出\n");scanf ("%d",&i);switch(i){case 1: addstudent();break; case 2: changestudent();break; case 3: deletestudent();break; case 4: countstudent();break; case 5: seekstudent();break; case 6: printf("退出\n");break; default:break;}}while(i!=6);}void addmanager(){FILE *fp1;int ch=1;int i=0;while(ch==1){fp1=fopen("manager.txt","a+");printf("请输入您要添加的管理员的名字:\n");scanf ("%s",manager[i].name);printf("请输入您要添加的管理员的证件号:\n");scanf ("%s",manager[i].managernumber);printf("请输入您要添加的管理员的出生地:\n");scanf ("%s",manager[i].birthplace);printf("请输入您要添加的管理员的身份证号:\n");scanf ("%s",manager[i].managerID);printf("请输入您要添加的管理员的联系方式:\n");scanf ("%s",manager[i].telephone);fwrite(&manager[i],sizeof(struct manager),1,fp1);printf("%5s,%5s,%5s,%5s,%5s\n",manager[i].name,manager[i ].managernumber,manager[i].birthplace,manager[i].managerID, manager[i].telephone);printf("是否继续添加,继续添加请输入1,否则输入0\n");scanf ("%d",&ch);fclose(fp1);i++;}}void changemanager(){FILE *fp,*fp2;char managername[30];int i;int choice;fp=fopen("manager.txt","r");fp2=fopen("managerl.txt","w");printf("------欢迎进入管理员修改系统------\n\n");printf("请输入要修改的管理员的名字\n");scanf("%s",managername);for(i=0;fread(&manager[i],sizeof(struct manager),1,fp)!=0;i++) {if(strcmp(manager[i].name,managername)==0){printf("你所要修改的管理员的资料如下:\n\n");printf("姓名:〈%s〉证件号:<%s> 出生地:〈%s〉身份证号: <%s> 联系方式: <%s>\n",manager[i].name,manager[i].managernumber,manager[i].bir thplace,manager[i].managerID,manager[i].telephone);printf(",请选择你要更新的内容:1:修改管理员的姓名\n");printf(" 2:修改管理员的证件号\n");printf(" 3:修改管理员的出生地\n");printf(" 4:修改管理员的身份证号\n");printf("。
学生管理系统c语言简单版
学生管理系统c语言简单版学生管理系统c语言简单版介绍:学生管理系统是一种用于管理学生信息的软件,它可以方便地对学生的基本信息、课程成绩等进行录入、查询、修改和删除等操作。
本文将介绍如何使用C语言编写一个简单的学生管理系统。
功能:1. 添加学生信息2. 查询学生信息3. 修改学生信息4. 删除学生信息5. 显示所有学生信息实现方法:1. 添加学生信息添加学生信息需要输入以下内容:姓名、性别、年龄、班级和电话号码。
我们可以定义一个结构体来存储这些信息,代码如下:```struct Student {char name[20];char sex[10];int age;char class[20];char phone[20];};```然后定义一个数组来存储多个学生的信息:```struct Student students[100];int count = 0; // 学生数量```接下来,我们可以编写一个函数来添加新的学生信息:```void addStudent() {struct Student student;printf("请输入姓名:");scanf("%s", );printf("请输入性别:");scanf("%s", student.sex);printf("请输入年龄:");scanf("%d", &student.age);printf("请输入班级:");scanf("%s", student.class);printf("请输入电话号码:");scanf("%s", student.phone);students[count++] = student; // 将新的学生信息存储到数组中 printf("添加成功!\n");}```2. 查询学生信息查询学生信息可以按照姓名或电话号码进行查询。
用C语言编写的一个学生信息管理系统
用C语言实现线性表的基本操作,能创建一个基于学生信息管理的链表,至少包含数据输入、数据输出、数据处理等操作。
在主函数里能实现以下功能。
运行后出现一个选择提示。
可选择的功能有1)创建新的学生信息链表2)增加一个新的学生信息3)按学号删除某个学生信息4)按学号查找某个学生信息5)可以按照学生成绩对链表排序6)退出系统#include "stdio.h"#include "stdlib.h"#include "string.h"#include "conio.h"jiemian();struct student{char name[50];char sex[5];int age;char num[50];float score1;float score2;float score3;float sum;float ave;}stu[50],del;void gn1(){int i=0;char num1;for(i=0;i<50;i++){printf("请输入要添加的学生资料:\n");printf("学号:");scanf("%s",stu[i].num);printf("姓名:");scanf("%s",stu[i].name);printf("性别:");scanf("%s",&stu[i].sex);printf("年龄:");scanf("%d",&stu[i].age);printf("请输入学生的三门成绩:\n");printf("语文:");scanf("%f",&stu[i].score1);printf("数学:");scanf("%f",&stu[i].score2);printf("英语:");scanf("%f",&stu[i].score3);printf("是否继续添加:y/n\n");scanf("%c",&num1);scanf("%c",&num1);if(num1=='N' || num1=='n'){system("cls");jiemian();}}}void gn2(){int i;char num[50];printf("请输入要查找的学生学号:\n");scanf("%s",num);for(i=0;i<50;i++)if(strcmp(stu[i].num,num)==0){stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);break;}if(i==50)printf("查找不到!请重新输入!\n");getch();system("cls");jiemian();}void gn3(){char num1,i=0;printf("请输入要修改的学生学号:\n");scanf("%s",stu[i].num);printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);printf("姓名:");scanf("%s",stu[i].name);printf("性别:");scanf("%s",stu[i].sex);printf("年龄:");scanf("%d",&stu[i].age);printf("请输入学生的三门成绩:\n");printf("语文:");scanf("%f",&stu[i].score1);printf("数学:");scanf("%f",&stu[i].score2);printf("英语:");scanf("%f",&stu[i].score3);printf("是否继续修改:y/n?\n");scanf("%c",&num1);scanf("%c",&num1);if(num1=='N' || num1=='n')system("cls");jiemian();}void gn4(){int i;char num[50];printf("请输入要删除的学生学号:\n");scanf("%s",num);for(i=0;i<50;i++)if(strcmp(num,stu[i].num)==0){printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);stu[i]=del;printf("信息已删除,按任意键返回..\n");break;}if(i==50)printf("您输入的信息不存在!\n");getch();system("cls");jiemian();}void gn5(){int i=0;stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;printf("学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t总成绩\t 平均成绩\n"); for(i=0;i<50;i++){if(stu[i].age==0)break;printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);}printf("按任意键返回...");getch();system("cls");jiemian();}void gn6(){FILE *fp;int i;char filename[50];printf("\n");printf("\n");printf("请输入要保存的文件名:");scanf("%s",filename);if((fp=fopen(filename,"wb"))==NULL)printf("文件名为空,不能保存!\n");for(i=0;i<50;i++){if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)printf("文件保存失败!\n");}fclose(fp);printf("文件已保存!\n");printf("按任意键返回...\n");getch();system("cls");jiemian();}void gn7(){FILE *fp;int i=0; //打开文件流char filename[50];printf("请输入文件名:");scanf("%s",filename); //输入要载入的文件名if((fp=fopen(filename,"rb"))==0) //如果当前目录下不存在相对应的文件,输出文件不存在,退出系统。
学生成绩管理系统c语言代码(供参考)
C程序学生管理系统以下是用c语言编写的学生成绩管理系统的简单代码,可以用vc运行(供参考) #include"stdio.h"#include”stdlib。
h"#include"string。
h”typedef struct student//定义学生{char name[10];int number;char sex[2];int math;int eglish;int clanguge;int average;}student;typedef struct unit//定义接点{student date;struct unit *next;}unit;unit* build()//建立链表并返回指针{unit *p;if((p=(unit*)malloc(sizeof(unit)))==NULL){ printf("=>初始化失败!”);return 0;}else{p—>next=NULL;p-〉date.number=0;//头结点存放学生人数printf("初始化成功!\n");return p;}}void add(unit *head)//增加学生{unit *p,*q;int m,n=0;q=head-〉next;p=(unit*)malloc(sizeof(unit));printf(”=〉请输入新生姓名!\n");gets(p—>);fflush(stdin);printf("=〉请输入学号!\n");while(n==0){scanf("%d",&m);fflush(stdin);if(q==NULL) n=1;while(q){if(q->date.number==m){printf("=>你输入的学号与已有同学的学号相同,请重新输入!\n");q=head-〉next;break;}else{q=q->next;if(q==NULL) n=1;}}}p—〉date。
C语言(学员管理系统)
C语言(学员管理系统)/************************************************************** ************北大青鸟学员管理系统。
此程序可实现以管理员方式操作学员的学号,姓名,三门成绩,以及平均成绩的录入,读取,删除,排序,查找,保存功能。
并提供普通帐户对学员信息的浏览。
*************************************************************** ************/#include<stdio.h>#include<string.h>#include<windows.h>int count=0,flag; //定义两个全局变量,count为总录入人数。
flag为一个标记char ch; //定义一个全局字符变量,为程序经常执行“是否继续”输入struct student //声明一个结构体,并作为全局变量。
{char num[5]; //学号char name[30]; //姓名float score[3]; //三门课程成绩float pinjun; //平均成绩}stu[50]; //声明结构数组可存放50名学生void denglu(); //选择登录函数void administrator(); //管理员界面void guess(); //普通帐户界面void input(); //录入函数void charu(); //插入函数void xiugai(); //修改函数void del(); //删除函数void output(); //显示函数void jiang(); //降序排列函数void sheng(); //升序排列函数void find(); //查找函数void exit1(); //退出函数void jilu(); //读取上次记录void read_count(); //读取总人数值void save_count(); //保存总人数值void read(); //读取学员信息void save(); //保存学员信息void main() //主函数{denglu(); //主函数中调用登录函数}void denglu() //登录函数{char admin[30],pass[20]; //字符数组分别用于存放用户名,密码char pass1[20]="123456"; //字符串用于存放默认密码int i,j; //统计数组下标/***********************************登录前界面***********************************************/printf("\n\n\n\n\t\t\t★★★★★★★★★★★★★★★");printf("\n\n\t\t\t★学员管理系统★\n\n\t\t\t★★★★★★★★★★★★★★★\t\t\t\t\n\n\n");printf("\t﹉﹊﹉﹊﹉﹊﹉﹊﹉﹊﹉﹊﹉﹉﹊﹉﹊﹉﹊﹉﹊﹉﹊﹉﹊﹉﹊﹉﹊﹉﹊﹉\n");getch();do{printf("\n\n\t\t\t1:管理员帐户\n\t\t\t2:普通帐户\n\t\t\t0:退出程序\n\n\t\t\t");printf("\n\t\t\t请选择登录类型:");fflush(stdin);ch = getchar();switch(ch) //分支实现用户输入的功能{case '1': //选择管理员登录printf("\n\t\t\t请输入用户名:");fflush(stdin);gets(admin);fflush(stdin);printf("\n\t\t\t请输入密码:");i=0;/*以下用于输入密码,从键盘得到一个符并赋给字符数组。
c语言--学生信息管理系统代码
#include <stdio.h>#include <stdlib.h>#include <string.h>#define FUNC_NEW 1 /* 建立新的班级学生数据*/#define FUNC_SA VE 2 /*把数据写入文件并保存*/#define FUNC_OPEN 3 /*打开文件并从里读入数据*/#define FUNC_INSERT 4 /*插入一个学生的信息*/#define FUNC_SEARCH 5 /*查找学生的信息*/#define FUNC_CHANGE 6 /*修改学生的信息*/#define FUNC_DELETE 7 /*删除学生的信息*/#define FUNC_DISPLAY 8 /*展示学生的信息*/#define FUNC_CENSUS 9 /*分段统计学生总分人数并打印*/ #define FUNG_EXIT 10/*结束程序*/#define FUNC_CLOSE 10#define MAX_NUM 45#define MAX_NAME_STRLEN 30void DoSave();void DoOpen();void DoNew();void DoInsert();void DoDisplay();void DoDelete();void DoSearch();void DoChange();void Docensus();void DoExit();//用户定义的类型声明struct _student{int id;char name[MAX_NAME_STRLEN];int Math;int English;int Chinese;int Physics;int Chemistry;float averScore;int sum;};typedef struct _student STUD;struct _studTb{STUD stud[MAX_NUM];int length;};//全局变量的定义struct _studTb si;char strClassId[15];int main(){int iUserSelect;int MainMenu();system("color 20");for(;;){iUserSelect = MainMenu();if(FUNC_CLOSE == iUserSelect)break;switch(iUserSelect){case FUNC_NEW:DoNew();break;case FUNC_OPEN:DoSave();break;case FUNC_SA VE:DoOpen();break;case FUNC_INSERT:DoInsert();break;case FUNC_SEARCH:DoSearch();break;case FUNC_CHANGE:DoChange();break;case FUNC_DELETE:DoDelete();break;case FUNC_DISPLAY:DoDisplay();break;case FUNC_CENSUS:Docensus();break;case FUNC_CLOSE :DoExit();break;default:break;}}}int MainMenu(){int iUserSelect;system("cls");printf(" --------------------------------------------------------------------- \n");printf(" | ***********欢迎来到学生管理系统********** |\n");printf(" | ****** 1> 新建学生信息****** | \n");printf(" | ****** 2> 保存学生信息****** | \n");printf(" | ****** 3> 打开学生信息****** | \n");printf(" | ****** 4> 插入学生信息****** | \n");printf(" | ****** 5> 查找学生信息****** | \n");printf(" | ****** 6> 修改学生信息****** |\n");printf(" | ****** 7> 删除学生信息****** | \n");printf(" | ****** 8> 展示学生信息的成绩排名****** | \n");printf(" | ****** 9> 分段统计学生信息****** | \n");printf(" | ****** 10> 退出学生系统****** | \n");printf(" | *****Please select a function id(1..9) to execute:***** | \n");printf(" --------------------------------------------------------------------- \n");scanf("%d",&iUserSelect);if(iUserSelect<1&&iUserSelect>9)printf("请正确输入指令\n");elsereturn iUserSelect;}void DoNew(){int number,i;system("cls");printf("\t\tFUNCION: 新建一个班级:\n");printf("\t\t请输入班级序号(string):");scanf("%s",strClassId);printf("\t\t请输入这个班有多少人:");scanf("%d",&number);for (i = 0; i < number; i++){printf("\t\t请输入学生学号:");scanf("%d",&si.stud[i].id);printf("\t\t请输入学生姓名:");scanf("%s",si.stud[i].name);printf("\t\t请输入学生成绩:\n");printf("\t\tMath English Chinese Physics Chemistry\n");scanf("%4d %4d %4d %4d %4d",\& si.stud[i].Math,& si.stud[i].English,& si.stud[i].Chinese,& si.stud[i].Physics,& si.stud[i].Chemistry);}si.length = number;}//保存学生信息void DoSave(){FILE *fp;int i;system("cls");if((fp=fopen("stu-list.txt","wb"))==NULL){printf("打开文件失败\n");return;}for(i=0;i<si.length;i++){if(fwrite(&si.stud[i],sizeof(si),1,fp)==1)printf("保存成功\n");}fclose(fp);}//开文件读取学生信息void DoOpen(){FILE *fp;int i=0;system("cls");if((fp=fopen("stu-list.txt","ab+"))==NULL){printf("打开文件失败\n");return;}while(!feof(fp)){if(fread(&si.stud[i],sizeof(si),1,fp)==1)i++;}fclose(fp);for(i=0;i<si.length;i++)printf("学号:%d 姓名:%s 数学:%d 英语:%d 语文:%d 物理:%d 化学:%d\n",si.stud[i].id,si.stud[i].name,si.stud[i].Math,si.stud[i].English,si.stud[i].Chinese,si.stud[i].Physics,si.stud[i].Chemistry);}//插入学生信息void DoInsert(){FILE *fp;int j,INid,sid;int m=0,i=0,k=0;system("cls");if((fp=fopen("stu-list.txt","ab+"))==NULL){ printf("\t文件打开失败!");getchar();return;}while(!feof(fp)){if(fread(&si.stud[i],sizeof(si),1,fp)==1)m++;i++;}/*if(m==0){printf("没有学生记录!");fclose(fp);return;}*/printf("\t请输入要插入信息在那个学号之后:\n");scanf("%d",&INid);for(i=0;i<m;i++)if(INid==si.stud[i].id)break;for(j=m-1;j>i;j--)si.stud[j+1]=si.stud[j];stare1:printf("\t请输入要插入的学生的信息:\n");printf("\t请输入要插入的学号");scanf("%d",&sid);while(k<m){if(si.stud[k].id==sid){printf("\t 该学号已经存在,不允许重复插入!\n");goto stare1;}k++;}si.stud[i+1].id=sid;printf("\t请输入你想输入的姓名");scanf("%s",si.stud[i+1].name);printf(" Math English Chinese Physics Chemistry\n");scanf("%d %d %d %d %d",& si.stud[i+1].Math,& si.stud[i+1].English,& si.stud[i+1].Chinese,& si.stud[i+1].Physics,& si.stud[i+1].Chemistry);si.length=si.length+1;DoSave();}//在文件中查找学生信息,支持姓名学号查找void DoSearch(){int i=0,choice,Sid;char sname[MAX_NAME_STRLEN];int flag=0;system("cls");DoOpen();printf("\n1按姓名查找:\n2按学号查找:");scanf("%d",&choice);switch(choice){case 1: printf("请你输入要查找的姓名");scanf("%s",sname);while(i<si.length){if(strcmp(si.stud[i].name,sname)==0){flag=1;printf("学号:%d 姓名:%s 数学成绩:%d 英语成绩:%d 语文成绩:%d 物理成绩:%d 化学成绩:%d\n",si.stud[i].id,si.stud[i].name ,si.stud[i].Math,si.stud[i].English,si.stud[i].Chinese,si.stud[i].Physics,si.stud[i].Chemistry);}i++;}if(flag==0)printf("你输入的姓名不存在,请确认后再输入");break;case 2: printf("请你输入要查找的学号");scanf("%d",&Sid);while(i<si.length){if(Sid==si.stud[i].id){flag=1;printf("学号:%d 姓名:%s 数学成绩:%d 英语成绩:%d 语文成绩:%d 物理成绩:%d 化学成绩:%d\n",si.stud[i].id,si.stud[i].name ,si.stud[i].Math,si.stud[i].English,si.stud[i].Chinese,si.stud[i].Physics,si.stud[i].Chemistry);}i++;}if(flag==0)printf("你输入的学号不存在,请确认后再输入");break;}printf(" Please input a number to continue!");scanf("%d",&i);return;}//对学生信息进行修改void DoChange(){int choice1;int i=0;int onum;char choice2;system("cls");DoOpen();printf("你想对那个学生进行操作,请输入学号\n");scanf("%d",&onum);while(onum!=si.stud[i].id)i++;if(onum==si.stud[i].id){printf("\n你要修改哪一项");printf("1学号\n2姓名\n3数学成绩\n4英语成绩\n5语文成绩\n6物理成绩\n7化学成绩");printf("请选择");scanf("%d",&choice1);switch(choice1){case 1: printf("\n请输入修改后的学号");scanf("%d",&si.stud[i].id);break;case 2: printf("\n输入你要修改的姓名");scanf("%s",&si.stud[i].name);break;case 3: printf("\n请输入要修改的成绩");scanf("%d",&si.stud[i].Math);break;case 4: printf("\n请输入要修改的成绩");scanf("%d",&si.stud[i].English);break;case 5: printf("\n请输入要修改的成绩");scanf("%d",&si.stud[i].Chinese);break;case 6: printf("\n请输入要修改的成绩");scanf("%d",&si.stud[i].Physics);break;case 7: printf("\n请输入要修改的成绩");scanf("%d",&si.stud[i].Chemistry);break; }}elseprintf("没有该同学信息");printf(" Please input a number(0..9) to continue!");scanf("%d",&i);}//删除学生信息void DoDelete(){int i,id;char fname[MAX_NAME_STRLEN];system("cls");DoOpen();printf("请输入学生学号");scanf("%d",&id);i=0;while(si.stud[i].id!=id)i++;if(si.stud[i].id==id){while(i<si.length-1){si.stud[i]=si.stud[i+1];i++;}si.length=si.length-1;for(i=0;i<si.length;i++)printf("学号:%d 姓名:%s 数学:%d 英语:%d 语文:%d 物理:%d 化学:%d \n",si.stud[i].id,si.stud[i].name,si.stud[i].Math,si.stud[i].English,si.stud[i].Chinese,si.stud[i].Physics,si.stud[i].Chemistry);}elseprintf("没有该同学信息");printf(" Please input a number(0..9) to continue!");scanf("%d",&i);}//展示学生信息void DoDisplay(){struct _studTb m;int i,j,n;system("cls");DoOpen();printf("请选择\n1.数学排名2.英语排名3.语文排名 4.物理排名 5.化学排名 6.学生总分并排序7.学生平均分并排序\n");scanf("%d",&n);if(n==1){for(j=0;j<si.length-1;j++){for(i=0;i<si.length-j-1;i++)if(si.stud[i].Math<si.stud[i+1].Math){m.stud[1]=si.stud[i];si.stud[i]=si.stud[i+1];si.stud[i+1]=m.stud[1];}}for(i=0;i<si.length;i++)printf("学号:%d 姓名:%s 数学成绩排名:%d\n", si.stud[i].id, si.stud[i].name ,si.stud[i].Math);}else if(n==2){for(j=0;j<si.length-1;j++){for(i=0;i<si.length-j;i++)if(si.stud[i].English<si.stud[i+1].English){m.stud[1]=si.stud[i];si.stud[i]=si.stud[i+1];si.stud[i+1]=m.stud[1];}}for(i=0;i<si.length;i++)printf("学号:%d 姓名:%s 英语成绩排名:%d\n", si.stud[i].id, si.stud[i].name ,si.stud[i].English);}else if(n==3){for(j=0;j<si.length-1;j++){for(i=0;i<si.length-j;i++)if(si.stud[i].Chinese<si.stud[i+1].Chinese){m.stud[1]=si.stud[i];si.stud[i]=si.stud[i+1];si.stud[i+1]=m.stud[1];}}for(i=0;i<si.length;i++)printf("学号:%d 姓名:%s 语文成绩排名:%d\n", si.stud[i].id, si.stud[i].name, si.stud[i].Chinese);}else if(n==4){for(j=0;j<si.length-1;j++){for(i=0;i<si.length-j;i++)if(si.stud[i].Physics<si.stud[i+1].Physics){m.stud[1]=si.stud[i];si.stud[i]=si.stud[i+1];si.stud[i+1]=m.stud[1];}}for(i=0;i<si.length;i++)printf("学号:%d 姓名:%s OS成绩排名:%d\n", si.stud[i].id, si.stud[i].name, si.stud[i].Physics);}else if(n==5){for(j=0;j<si.length-1;j++){for(i=0;i<si.length-j;i++)if(si.stud[i].Chemistry<si.stud[i+1].Chemistry){m.stud[1]=si.stud[i];si.stud[i]=si.stud[i+1];si.stud[i+1]=m.stud[1];}}for(i=0;i<si.length;i++)printf("学号:%d 姓名:%s C语言成绩排名:%d\n", si.stud[i].id, si.stud[i].name,si.stud[i].Chemistry);}else if(n==6){for(i=0;i<si.length;i++)si.stud[i].sum=si.stud[i].Math+si.stud[i].English+si.stud[i].Chinese+si.stud[i].Physics+si.stud [i].Chemistry;for(j=0;j<si.length-1;j++){for(i=0;i<si.length-j;i++)if(si.stud[i].sum<si.stud[i+1].sum){m.stud[1]=si.stud[i];si.stud[i]=si.stud[i+1];si.stud[i+1]=m.stud[1];}}for(i=0;i<si.length;i++)printf("学号:%d 姓名:%s 总分成绩排名:%f\n", si.stud[i].id, si.stud[i].name, si.stud[i].sum);}else if(n==7){for(i=0;i<si.length;i++){si.stud[i].sum=si.stud[i].Math+si.stud[i].English+si.stud[i].Chinese+si.stud[i].Physics+si.stud [i].Chemistry;si.stud[i].averScore=(float)si.stud[i].sum/si.length;}for(j=0;j<si.length-1;j++){for(i=0;i<si.length-j;i++)if(si.stud[i].averScore<si.stud[i+1].averScore){m.stud[1]=si.stud[i];si.stud[i]=si.stud[i+1];si.stud[i+1]=m.stud[1];}}for(i=0;i<si.length;i++)printf("学号:%d 姓名:%s 平均成绩排名:%f\n", si.stud[i].id, si.stud[i].name, si.stud[i].averScore);}printf(" Please input a number(0..9) to continue!");scanf("%d",&i);}//统计学生信息void Docensus(){struct _studTb sen;int mark;int sum=0;int i=0;system("cls");DoOpen();printf("请输入要统计多少分以上的学生信息");scanf("%d",&mark);while(i<si.length){ if(si.stud[i].Math>mark){sen.stud[sum]=si.stud[i];sum++;}i++;}printf("一共有:%d人\n",sum);for(i=0;i<sum;i++)printf("他的学号%4d姓名%s数学成绩%4d英语成绩%4d 语文成绩%4d 物理成绩%4d 化学成绩%4d\n ",sen.stud[i].id,sen.stud[i].name,sen.stud[i].Math,sen.stud[i].English,sen.stud[i].Chinese,sen.stud[i].Physics,sen.stud[i].Chemistry);printf(" Please input a number(0..9) to continue:");scanf("%d",&i);}void DoExit(){printf("\t\t 谢谢使用!\n");printf("\t\t");system("pause");exit(0);}。
学生管理系统(含代码)
C语言课程设计任务书3题目:学生成绩管理系统功能:学生成绩管理系统,每个学生是一个记录,包括学号,姓名,性别,3门课程成绩。
系统要求实现以下功能:1、信息录入:录入学生成绩信息(包括学生学号、姓名、各门课程的成绩等);2、信息查询:输入学号,查询学生各门课程的成绩,并显示。
3、排序:按各门课程的成绩平均分进行排序,并显示。
4、信息删除与修改——输入学号,删除该学生的成绩信息。
098班陈焕流程图:主要源程序代码#include<iostream.h>#include<string.h>#include<fstream.h>class stu{char name[20];double math,chinese,english,average,sum; public:stu(){}stu(char n[20],double ma,double chin,double eng) {strcpy(name,n);math=ma;chinese=chin;english=eng;}double getsum(){sum=chinese+english+math;return sum;}double getaver(){average=getsum()/3;return average;}friend void main();};void main(){cout<<"请选择您需要的操作!"<<endl;cout<<"操作:"<<endl;cout<<"(0)数据录入"<<endl;cout<<"(1)增加人员"<<endl;cout<<"(2)删除人员"<<endl;cout<<"(3)修改数据"<<endl;cout<<"查询:"<<endl;cout<<"(4)按总成绩查询"<<endl;cout<<"(5)按姓名查询"<<endl;cout<<"(6)输出所有学生的数据"<<endl;cout<<"成绩名词"<<endl;cout<<"(7)按总分查询排名"<<endl;cout<<"(8)按语文查询排名"<<endl;cout<<"(9)按数学查询排名"<<endl;cout<<"(y)按英语查询排名"<<endl;cout<<"选择相关操作请输入相对的括号里的阿拉伯数字!"<<endl;char p;char w;stu *s[50];ofstream *file[50];int i=0;int j=0;bool flag2=0;do{cin>>p;if((p>='0'&&p<='10'))flag2=1;elsecout<<"指令错误!请重新输入:"<<endl;}while(flag2==0);do{switch(p){case '0':{char c;char name[20];double math,chinese,english;do{cout<<"请输入姓名"<<endl;cin>>name;cout<<"请输入数学成绩:"<<endl;cin>>math;cout<<"请输入语文成绩:"<<endl;cin>>chinese;cout<<"请输入外语成绩:"<<endl;cin>>english;file[j]=new ofstream("d:\\document",ios::ate);*file[j]<<"姓名"<<name<<"数学成绩"<<math<<"语文成绩"<<chinese<<"外语成绩"<<english<<endl;j++;s[i]=new stu(name, math, chinese, english);cout<<"数据录入成功,想继续录入吗(y/n)"<<endl; cin>>c;flag2=0;do{if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}elseflag2=1;}while(flag2==0);}while(c=='y');break;}case '4':{double t;char c;do{int flag1=0;cout<<"请输入你要查询学生的总成绩"<<endl; cin>>t;for(int q=0;q<i;q++){if(s[q]->getsum()==t){flag1=1;cout<<"您要查询的学生是:"<<(*s[q]).name<<endl; }}if(flag1==0)cout<<"对不起!您要查询的学生不存在!"<<endl; cout<<"您想继续查询吗?(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}while(c=='y');break;}case '5':{char n[20];int j=0;char c;do{int flag=0;cout<<"请输入你要查询的学生姓名"<<endl;cin>>n;for(int j=0;j<i;j++){if(strcmp(n,(*s[j]).name)==0){flag=1;cout<<"您要查询的学生是:"<<(*s[j]).name<<endl;cout<<(*s[j]).name<<"的总成绩成绩是"<<(*s[j]).getsum()<<endl<<"平均成绩是:"<<(*s[j]).getaver()<<endl;}}if(flag==0)cout<<"对不起!您要查询的学生不存在!"<<endl;cout<<"您想继续查询吗?(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;}case '1':{char name[20];double math,chinese,english;char c;do{cout<<"请输入您要增加的学生的姓名:"<<endl;cin>>name;cout<<"请输入数学成绩:"<<endl;cin>>math;cout<<"请输入语文成绩:"<<endl;cin>>chinese;cout<<"请输入外语成绩:"<<endl;cin>>english;file[j]=new ofstream("d:\\document",ios::ate);*file[j]<<"姓名"<<name<<"数学成绩"<<math<<"语文成绩"<<chinese<<"外语成绩"<<english<<endl;j++;s[i]=new stu(name, math, chinese, english);i++;cout<<"数据录入成功,想继续录入吗(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;}case '2':{char name[20];bool flag3=0;char c;do{cout<<"请输入您要删除的学生姓名:"<<endl;cin>>name;for(int h=0;h<i;h++){if(strcmp(name,s[h]->name)==0){flag3=1;i--;do{s[h]=s[h+1];h++;}while(h<=i);}}if(flag3==0)cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!"; cout<<"要继续删除吗?(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;}case '3':{char name[20];double mat,chin,eng;flag2=0;char c;do{cout<<"请输入您要修改的学生的姓名:"<<endl;cin>>name;for(int h=0;h<i;h++){if(strcmp(name,s[h]->name)==0){flag2=1;cout<<"请输入新的数学成绩:"<<endl;cin>>mat;cout<<"请输入新的语文成绩:"<<endl;cin>>chin;cout<<"请输入新的外语成绩:"<<endl;cin>>eng;s[h]->chinese=chin;s[h]->math=mat;s[h]->english=eng;cout<<"数据修改成功!";}}if(flag2==0){cout<<"您要修改的学生本来就不存在!请检查重新输入!"<<endl; }cout<<"想继续修改吗(y/n)"<<endl;cin>>c;if(c!='y'&&c!='n'){cout<<"指令错误!请重新输入!"<<endl;cin>>c;}}while(c=='y');break;}case '6':{cout<<"本系统所有学生数据如下:"<<endl;if(i==0)cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl; for(int k=0;k<i;k++){cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"语文:"<<" "<<s[k]->chinese<<"数学:"<<" "<<s[k]->math<<"外语:"<<" "<<s[k]->english<<"总分:"<<" "<<(*s[k]).getsum() <<"平均分:"<<" "<<(*s[k]).getaver()<<endl;}break;}case '7':{int t;stu b;cout<<"本系统所以学生排名如下:"<<endl;for(int x=0;x<i-1;x++){t=x;for(int y=x+1;y<i;y++){if((s[t]->getsum())<(s[y]->getsum()))t=y;if(t!=x){b=*s[x];*s[x]=*s[t];*s[t]=b;}}}if(i==0)cout<<"管理系统中没有录入数据或者数据已经被删除!";for(int k=0;k<i;k++){cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"语文:"<<" "<<s[k]->chinese<<"数学:"<<" "<<s[k]->math<<"外语:"<<" "<<s[k]->english<<"总分:"<<" "<<s[k]->getsum() <<"平均分:"<<" "<<s[k]->getaver()<<endl;}break;}case '8':{int t;stu b;cout<<"本系统所以学生语文排名如下:"<<endl;for(int x=0;x<i-1;x++){t=x;for(int y=x+1;y<i;y++){if((s[t]->chinese)<(s[y]->chinese))t=y;if(t!=x){b=*s[t];*s[t]=*s[x];*s[x]=b;}}}if(i==0)cout<<"管理系统中没有录入数据或者数据已经被删除!";for(int k=0;k<i;k++){cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"语文:"<<" "<<s[k]->chinese<<"数学:"<<" "<<s[k]->math<<"外语:"<<" "<<s[k]->english<<"总分:"<<" "<<s[k]->getsum() <<"平均分:"<<" "<<s[k]->getaver()<<endl;}break;}case '9':{int t;stu b;cout<<"本系统所以学生数学排名如下:"<<endl;for(int x=0;x<i-1;x++){t=x;for(int y=x+1;y<i;y++){if((s[t]->math)<(s[y]->math))t=y;if(t!=x){b=*s[t];*s[t]=*s[x];*s[x]=b;}}}if(i==0)cout<<"管理系统中没有录入数据或者数据已经被删除!";for(int k=0;k<i;k++){cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"语文:"<<" "<<s[k]->chinese<<"数学:"<<" "<<s[k]->math<<"外语:"<<" "<<s[k]->english<<"总分:"<<" "<<s[k]->getsum() <<"平均分:"<<" "<<s[k]->getaver()<<endl;}break;}case 'y':{int t;stu b;cout<<"本系统所以学生英语排名如下:"<<endl;for(int x=0;x<i-1;x++){t=x;{if((s[t]->english)<(s[y]->english))t=y;if(t!=x){b=*s[t];*s[t]=*s[x];*s[x]=b;}}}if(i==0)cout<<"管理系统中没有录入数据或者数据已经被删除!";for(int k=0;k<i;k++){cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"语文:"<<" "<<s[k]->chinese<<"数学:"<<" "<<s[k]->math<<"外语:"<<" "<<s[k]->english<<"总分:"<<" "<<s[k]->getsum()<<"平均分:"<<" "<<s[k]->getaver()<<endl;}}break;}cout<<"您想继续进行其他操作吗?(y/n)"<<endl;bool flag4=0;do{cin>>w;if(w!='y'&&w!='n')cout<<"指令错误!请重新输入!"<<endl;elseflag4=1;}while(flag4==0);if(w=='y')cout<<"请输入操作代码(0 录入/4 按总分查询/5 按姓名查询/1 增加人员/2 删除人员/3 修改数据/6 显示所有成员数据/7 按总分排名/8 按语文排名/9按数学排名/y按英语排名)"<<endl;cin>>p;}while(w=='y');{delete s[x];cout<<"delete all members!"<<endl;}}测试情况及调试中问题与解决方案:测试情况失败好几次。
C语言编写学生管理系统的代码
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>#include<conio.h>struct student{char number[21];char name[21];int age;char sex[3];char birthday[8];}studentArray[100];typedef struct student student;student studentArray[100];char putout[5][12]={"学号","姓名","年龄","性别","出生年月"}; //为格式化输出做准备int count=0;//函数声明部分void explain();void readfile();void searchStudent();void modifyStudent();void addStudent();void delStudent();void printAllstudent();void save();void quit();void initial();void initial(){FILE *fp;char choice='y';int i=0;fp=fopen("e:\\students.txt","r");if(!fp){printf("创建文件失败,即将返回\n");return ;}for(;fread(&studentArray[i],sizeof(struct student),1,fp)!=0;i++);count=i;}//0、说明模块void explain(){printf("\n 很高兴能为您服务\n");printf("\n1.进入本系统,请先刷新学生信息,再查训\n");printf("\n2.您可以根据自己需要的信息键入菜单上的编号\n");printf("\n3.修改学生信息后记得退出前保存信息,以免信息流失\n");printf("\n4.在各个子菜单里按提示操作\n");printf("\n5.谢谢您的使用及支持\n");}//1、刷新模块void readfile(){char *p="students.txt";FILE *fp;int i=0;if((fp=fopen("students.txt","r"))==NULL){printf("打开文件%s出错!请按按任意键返回",p);system("pause");{i++;i=i;}fclose(fp);printf("刷新完毕。
c语言学生信息管理系统用到的函数
在C语言中,一个学生信息管理系统可能需要以下几种类型的函数:1. 输入函数:用于获取用户输入的学生信息。
例如,你可能需要一个函数来获取学生的姓名,学号,成绩等。
```cvoid inputStudentInfo(Student* student);```2. 查找函数:用于根据学生姓名或学号查找学生信息。
```cStudent* findStudentByID(Student students[], int size, int id);Student* findStudentByName(Student students[], int size, char* name);```3. 修改函数:用于修改已存在的学生信息。
```cvoid updateStudentInfo(Student* student);```4. 删除函数:用于删除学生信息。
```cvoid deleteStudent(Student students[], int size, int id);```5. 显示所有学生信息:用于显示所有学生的信息。
```cvoid displayAllStudents(Student students[], int size); ```6. 排序函数:用于对学生信息进行排序,例如按照成绩从高到低排序。
```cvoid sortStudentsByScore(Student students[], int size); ```7. 保存和加载函数:用于将学生信息保存到文件或从文件中加载学生信息。
```cvoid saveStudentsToFile(Student students[], int size, char* filename);Student* loadStudentsFromFile(char* filename, int* size);```以上是一个基本的学生信息管理系统的功能和对应的函数。
学生管理系统c语言源代码
学生管理系统c语言源代码学生管理系统c语言源代码#include stdio.h#include dos.h#include string.h#include stdlib.h#include malloc.h#define SIZE 8struct student{char name;char num;int score;float ave;struct student *next;}stu[SIZE],temp,s;void shuru(){int i,j,sum,length,flag=1,a;FILE *fp;while(flag==1){printf(“Define a rangeclass number:");scanf("%d",printf("Input the total number of the class(a):"); scanf("%d",length);if(lengtha)flag=0;}for(i=0;ilength;i++){printf("\n请输入学生的信息:");printf("\n输入姓名:");scanf("%s",stu[i].name);printf("\n输入序号.:");scanf("%s",stu[i].num);printf("\n输入成绩:\n");sum=0;for(j=0;jj++){printf("score %d:",j+1);scanf("%d",stu[i].score[j]);sum+=stu[i].score[j];}stu[i].ave=sum/3.0;}学生管理系统c语言源代码fp=fopen("stu1.txt","w");for(i=0;ilength;i++)if(fwrite(stu[i],sizeof(struct student),1,fp)!=1)printf("File write error\n");fclose(fp);fp=fopen("stu1.txt","r");printf("\name\ NO. score1 score2 score3 sum ave\n");for(i=0;ilength;i++){fread(stu[i],sizeof(struct student),1,fp);printf("%3s%5s%7d%7d%7d%7d%10.2f\n",stu[i].name,stu[i].num,stu[i ].score,stu[i].score,stu[i].score,sum=stu[i].score+stu[i].score+stu[i].score,stu[i].ave);}}void chaxun(){ FILE *fp, *fp1;char n,name;int i,j,k,t,m,flag=1;if((fp=fopen("stu1.txt","r"))==NULL){printf("Can not open the file.");exit(0);}printf("\noriginal data:\n");k=i;printf("\nPlease select the menu(1.number ):"); scanf("%d",switch(m){case 1:printf("\nchaxun number:");scanf("%s",n);for(flag=1,i=0;ii++){if(strcmp(n,stu[i].num)==0){j=i;flag=0;break;}}break;case 2:printf("\nchaxun name:");scanf("%s",name);for(flag=1,i=0;ii++){if(strcmp(name,stu[i].name)==0){j=i;flag=0;break;学生管理系统c语言源代码}}}if(!flag){printf("\nYou can find:\n");fp1=fopen("stu2.txt","w");printf(" name NO. score1 score2 score3ave\n");fwrite(stu[j],sizeof(struct student),1,fp1);printf("%-15s%11s%7d%7d%7d%10.2f",stu[j].name,stu[j].num,stu[j].score,stu[j].score,stu[j].score,stu[j].ave);}else printf("\nNot found!");fclose(fp);fclose(fp1);}xiugai(){ int a;printf("\nplease select the menu(1.CHARU 2.__ ):");scanf("%d",switch(a){case 1:Insert(); break;case 2:Delete(); break;}}Insert(){ FILE *fp;int i,j,t,n;printf("\nNO.:");scanf("%s",s.num);printf("name:");scanf("%s",);printf("score1,score2,score3:");scanf("%d,%d,%d",s.score,s.score,s.score);s.ave=(s.score+s.score+s.score)/3.0;if((fp=fopen("stu1.txt","r"))==NULL){printf("Can not open the file.");exit(0);}printf("\noriginal data:\n");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++) {printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)学生管理系统c语言源代码printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);n=i;for(t=0;stu[t].aves.avett++);printf("\nnow:\n");fp=fopen("stu1.txt","w");for(i=0;ii++){fwrite(stu[i],sizeof(struct student),1,fp);printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fwrite(s,sizeof(struct student),1,fp);printf("\n%-15s%11s%7d%7d%7d%10.2f",,s.num,s.score,s.score, s.score,s.ave);for(i=t;ii++){fwrite(stu[i],sizeof(struct student),1,fp);printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);}Delete(){ FILE *fp;int i,j,t,n,flag;char number;if((fp=fopen("stu1.txt","rb"))==NULL){printf("Can not open the file.");exit(0);}printf("\noriginal data:");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++) {printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);n=i;学生管理系统c语言源代码printf("\nInput number deleted:");scanf("%s",number);for(flag=1,i=0;flagii++){if(strcmp(number,stu[i].num)==0){for(t=i;tt++){strcpy(stu[t].num,stu[t+1].num);strcpy(stu[t].name,stu[t+1].name);for(j=0;jj++)stu[t].score[j]=stu[t+1].score[j];stu[t].ave=stu[t+1].ave;}n=n-1;elseprintf("\n Not found!");printf("\nNow,the content of file:\n");fp=fopen("stu1.txt","wb");for(i=0;ii++)fwrite(stu[i],sizeof(struct student),1,fp);fclose(fp);fp=fopen("stu1.txt","r");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++)printf("%-15s%11s%7d%7d%7d%10.2f\n",stu[i].name,stu[i].num,stu[i].score, stu[i].score,stu[i].score,stu[i].ave);fclose(fp);}paixu(){FILE *fp;int i,j,n;if((fp=fopen("stu1.txt","r"))==NULL){printf("Can not open the file.");exit(0);}printf("\nfile'stu1.txt':");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++) {printf("\n%-15s%11s",stu[i].name,stu[i].num);for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);n=i;for(i=0;ii++)for(j=i+1;jj++)学生管理系统c语言源代码if(stu[i].avestu[j].ave){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}printf("\nnow:");fp=fopen("stu1.txt","w");for(i=0;ii++){fwrite(stu[i],sizeof(struct student),1,fp);printf("\n%-15s%11s",stu[i].name,stu[i].num);tongji(){ FILE *fp;int i,j,k,labe1,b;int a5=0;int a6=0;int a7=0;int a8=0;int a9=0; int a10=0; float t;if((fp=fopen("stu1.txt","r"))==NULL){printf("Can not open the file.");exit(0);}printf("\nfile'stu1.txt':");for(i=0;fread(stu[i],sizeof(struct student),1,fp)!=0;i++){printf("\n%-15s%11s",stu[i].name,stu[i].num); for(j=0;jj++)printf("%7d",stu[i].score[j]);printf("%10.2f",stu[i].ave);}fclose(fp);k=i;for(i=0;ii++){labe1=0;if(stu[i].ave60){labe1++;t=labe1/(float)k*100;}}printf("\nbujigelv:");printf("%f%",t);printf("\n");for(j=0;jj++){a5=0;a6=0;a7=0;a8=0;a9=0;a10=0;k=i;printf("kemu is %d:\n",j);for(i=0;ii++)学生管理系统c语言源代码{b=stu[i].score[j]/10;if(b6)a5++;elseif(b=6b7)a6++;elseif(b=7b8)a7++;elseif(b=8b9)a8++;if(b=9b10)a9++;elseif(b==10)a10++;}printf(" 不及格is %d\n",a5);printf(" 60--69 is %d\n",a6);printf(" 70--79 is %d\n",a7);printf(" 80--89 is %d\n",a8);printf(" 90--99 is %d\n",a9);printf(" 100 is %d\n",a10);}}main(){int a;printf(" ____\n"); printf(" 欢迎进入学生成绩管理系统\n");printf(" ____\n"); while(1){printf("\n选择菜单:\n");printf("\n");printf(" 1.输入 2.查询 3.排序 4.修改 5.统计 6.退出\n"); scanf("%d",switch(a){case 1: shuru();break;case 2: chaxun(); break;case 3: paixu(); break;case 4: xiugai(); break;学生管理系统c语言源代码case 5: tongji();break; case 6: exit(0); }。
学生管理系统 C语言代码
#include"stdio.h"#include"stdlib.h"#include"string.h"struct stu_info1{char num[13];//学号char name[10];//姓名char sex[5];//性别char cls[20];//班级}stu1[6];struct stu_info2{char counum[6];//课程号char counam[20];//课程名称int credit;//学分}stu2[6];struct stu_info3{char num[13];//学号char counum[6];//课程号float results;//分数}stu3[12];struct stu_info4{char num[13];//学号char counum[6];//课程号float results;//分数}stu4[12];int n=11;void main(){void gengxin();void input1();void input2();void input3();void output();void xianshi();void chaxun();void printf1();void printf2();input1();input2();output();int i;loop: ;printf("*************欢迎使用分数查询系统*************\n");printf("** 请选择**\n");printf("** 1.录入2.删除无用信息(管理员功能) **\n");printf("** 3.显示4.查询(学生功能) **\n");printf("** 5.显示学生信息6.显示课程信息**\n");printf("** 7.退出**\n");printf("**********************************************\n");scanf("%d",&i);switch(i){case 1: input3();break;case 2:gengxin();break;case 3:xianshi();goto loop;case 4: chaxun();goto loop;case 5: printf1();goto loop;case 6: printf2();goto loop;case 7:break;default:printf("error");break;}}void input1()//录入结构体stu1[]{int i;FILE *fp;if((fp=fopen("A.txt","r"))==NULL){printf("can not open file\n");exit(0);}/* printf(" 学号姓名性别班级\n");*/for(i=0;i<=5;i++){fscanf(fp,"%s%s%s%s",&stu1[i].num,&stu1[i].name,&stu1[i].sex,&stu1[i].cls);/*printf("%-13s %-10s %-5s %-20s\n",stu1[i].num,stu1[i].name,stu1[i].sex,stu1[i] .cls);*/}fclose(fp);}void input2()//录入结构体stu2[]{int i;FILE *fp;if((fp=fopen("B.txt","r"))==NULL){printf("can not open file\n");exit(0);}for(i=0;i<=5;i++){fscanf(fp,"%s%s%d",&stu2[i].counum,&stu2[i].counam,&stu2[i].credit);}fclose(fp);}void input3()//录入成绩{FILE *fp;fp=fopen("C.txt","w");int a,i,j,k;float cetss;char number[13],cnum[6],mima[10];printf("请输入管理员密码\n");scanf("%s",mima);if(strcmp(mima,"abc111")==0){printf("请输入要录入学生成绩的个数\n");scanf("%d",&a);for(i=1;i<=a;i++){printf("请输入要录入的第%d同学的学号:",i);scanf("%s",number);printf("请输入要录入的第%d同学的课程号:",i);scanf("%s",cnum);for(j=0;j<=5;j++)//学号{if((strcmp(number,stu1[j].num)==0))break;}if(j<=5){for(k=0;k<=5;k++)//课程号{if(strcmp(cnum,stu2[k].counum)==0){printf("请输入要录入同学的成绩:");scanf("%f",&cetss);fprintf(fp,"%s %s %f\n",number,cnum,cetss);break;}}}if(j>5||k>5){printf("Error,please input again");i=i-1;}printf("录入成功\n");}}else{printf("密码错误\n");}}void output()// 录入结构体stu3[]{int i;FILE *fp=fopen("C.txt","r");for(i=0;i<n;i++){fscanf(fp,"%s%s%f",&stu3[i].num,&stu3[i].counum,&stu3[i].results);/*printf("%s%s%f\n",stu3[i].num,stu3[i].counum,stu3[i].results);*/ }fclose(fp);}void xianshi()// 显示成绩{int i,j;for(i=0;i<n;i++){for(j=0;j<6;j++){if((strcmp(stu3[i].num,stu1[j].num))==0)printf("%s\t",stu1[j].name);}for(j=0;j<6;j++){if(strcmp(stu3[i].counum,stu2[j].counum)==0)printf("%s\t",stu2[j].counam);}printf("%3.1f\n",stu3[i].results);}}void chaxun()//查询功能{char number[13],c;int i,j,k,a,b,d;while((c=getchar())!='Q'){a=0,b=0;//a记录学分b记录学科printf("请输入要查询同学的学号\n");scanf("%s",number);for(i=0;i<n;i++){if(strcmp(number,stu3[i].num)==0){printf("学号:%s\t",stu3[i].num);for(j=0;j<6;j++){if(strcmp(stu3[i].num,stu1[j].num)==0){printf("姓名:%s\n",stu1[j].name);}}break;}}d=i;for(i=0;i<n;i++)if(strcmp(number,stu3[i].num)==0){b=b+1;for(j=0;j<6;j++){if(strcmp(stu3[i].num,stu1[j].num)==0){for(k=0;k<6;k++){if(strcmp(stu3[i].counum,stu2[k].counum)==0)break;}break;}}if(stu3[i].results>=60){a=a+stu2[k].credit;printf("课程号:%s\t课程名称:%s\t成绩:%3.1f\t实得学分:%d\n",stu3[i].counum,stu2[k].counam,stu3[i].results,stu2[k].credit);}elseprintf("课程号:%s\t课程名称:%s\t成绩:%3.1f\t实得学分:%d\n",stu3[i].counum,stu2[k].counam,stu3[i].results,0);}if(d<n){printf("共修%d科\t\t实得总学分:%d\n",b,a);}else{printf("学号输入错误\n");}getchar();printf("退出请按Q+回车,继续查询请按回车键");}}void gengxin()//更新信息,删除C.txt中无用信息{FILE *fp;int i,j,k;char mima[10];printf("请输入管理员密码\n");scanf("%s",mima);if(strcmp(mima,"abc111")==0){fp=fopen("C.txt","w");for(i=0;i<n;i++){for(j=0;j<6;j++)if(strcmp(stu3[i].num,stu1[j].num)==0){for(k=0;k<=5;k++)if(strcmp(stu3[i].counum,stu2[k].counum)==0)break;if(k<=5){fprintf(fp,"%s %s %f\n",stu3[i].num,stu3[i].counum,stu3[i].results);}}}printf("更新C.txt成功\n");fclose(fp);}else{printf("密码错误\n");}}void printf1()//显示学生信息{int i;printf(" 学号姓名性别班级\n");for(i=0;i<=5;i++){printf("%-13s%-10s%-5s %-20s\n\n",stu1[i].num,stu1[i].name,stu1[i].sex,stu1[i].cls);}}void printf2()//显示课程信息{int i;printf(" 课程编号课程名称学分\n");for(i=0;i<=5;i++){printf("%-6s%-20s %-4d\n\n",stu2[i].counum,stu2[i].counam,stu2[i].credit);}}。
学生信息管理系统c语言代码
学生信息管理系统c语言代码以下是一个简单的学生信息管理系统的 C 语言代码示例,包含了学生信息的添加、查询、修改和删除功能。
由于代码超过了 400 字,我将提供一个简化的版本,你可以根据需要进行扩展和改进。
```c#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_STUDENTS 100// 学生结构体struct Student {char id[10];char name[50];int age;};// 学生信息列表struct Student students[MAX_STUDENTS];// 学生数量int studentCount = 0;// 添加学生信息void addStudent() {if (studentCount >= MAX_STUDENTS) {printf("学生数量已满,无法添加更多学生。
\n");return;}printf("请输入学生 ID: ");scanf("%s", students[studentCount].id);printf("请输入学生姓名: ");scanf("%s", students[studentCount].name);printf("请输入学生年龄: ");scanf("%d", &students[studentCount].age);studentCount++;printf("学生信息添加成功。
\n");}// 查询学生信息void queryStudent() {if (studentCount == 0) {printf("没有学生信息可供查询。
C语言 学生信息管理系统(完整版)
电子科技大学成都学院程序综合设计论文论文题目学生信息管理系统学生姓名魏国学号1340840625专业机械设计制造及其自动化系(分院)电子工程系授课教师杜娥2015年12月制摘要随着经济的发展,社会的进步,计算机越来越深入到我们日常的工作学习及生活中,成为我们日常生活不可或缺的辅助工具。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已成为人们深刻认识,它已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
现在由于学校规模进一步扩大,学生人数逐渐上升,在学校的学生信息管理中,虽然已经存在许多学生信息管理系统,但由于学校之间的管理差异很信息的不同,各个学校的学生信息管理的要求不一致,这样我们需要根据具体学习的具体要求来开发学生信息管理系统以方便学生管理。
本系统主要对学生各种信息进行处理。
本系统采用C语言编写,设计从实用性出发,设计开发出一个操作简单且符合实际需要的学生信息管理系统。
本文设计出一个可以添加、修改、查询、删除、统计的学生信息管理系统;最后,通过测试分析,力求将学到的只是在学生信息管理系统的得到全面运用,并使系统在实际的操作中能按照设计的要求安全有效的正确运行。
学生信息管理系统是为了实现学校对学生信息管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。
它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生信息管理提供了强有力的工具和管理手段。
学生信息管理系统是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生信息管理的要求。
学生信息管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了学生信息管理计算机化。
关键字:学生信息,管理系统,数据库,C语言编写第一章系统功能和组成模块1.1系统功能学生信息管理系统存放了每个学生的学号,姓名,性别,年龄,出生年月,家庭住址,政治面貌等信息的数据库。
学生学籍管理系统c语言
学生学籍管理系统c语言
学生学籍管理系统c语言是一款基于c语言开发的学生信息管理系统。
该系统主要功能包括学生信息的录入、查询、修改和删除以及成绩信息的录入、查询、修改和删除等。
此外,该系统还可以进行数据备份和恢复,方便数据的安全管理。
系统的界面采用简洁明了的设计风格,操作简单易懂。
在学生信息管理方面,可以通过学号、姓名、性别等多种方式进行学生信息查询,方便教师和管理员进行管理。
同时,该系统还可以根据学生成绩情况进行数据分析,对学生的学习情况进行统计和评估。
学生学籍管理系统c语言还具有高可靠性和稳定性,可以适应大量数据的管理,保证数据的准确性和完整性。
在使用过程中,系统还提供了详细的使用说明和操作提示,方便用户快速上手和使用。
总之,学生学籍管理系统c语言是一款功能强大、易用性好、适应性强的学生信息管理系统,可以为教师和管理员提供快捷、高效的学生信息管理服务。
- 1 -。
用C语言编写的一个学生信息管理系统
用C语言实现线性表的基本操作,能创建一个基于学生信息管理的链表,至少包含数据输入、数据输出、数据处理等操作。
在主函数里能实现以下功能。
运行后出现一个选择提示。
可选择的功能有1)创建新的学生信息链表2)增加一个新的学生信息3)按学号删除某个学生信息4)按学号查找某个学生信息5)可以按照学生成绩对链表排序6)退出系统#include "stdio.h"#include "stdlib.h"#include "string.h"#include "conio.h"jiemian();struct student{char name[50];char sex[5];int age;char num[50];float score1;float score2;float score3;float sum;float ave;}stu[50],del;void gn1(){int i=0;char num1;for(i=0;i<50;i++){printf("请输入要添加的学生资料:\n");printf("学号:");scanf("%s",stu[i].num);printf("姓名:");scanf("%s",stu[i].name);printf("性别:");scanf("%s",&stu[i].sex);printf("年龄:");scanf("%d",&stu[i].age);printf("请输入学生的三门成绩:\n");printf("语文:");scanf("%f",&stu[i].score1);printf("数学:");scanf("%f",&stu[i].score2);printf("英语:");scanf("%f",&stu[i].score3);printf("是否继续添加:y/n\n");scanf("%c",&num1);scanf("%c",&num1);if(num1=='N' || num1=='n'){system("cls");jiemian();}}}void gn2(){int i;char num[50];printf("请输入要查找的学生学号:\n");scanf("%s",num);for(i=0;i<50;i++)if(strcmp(stu[i].num,num)==0){stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);break;}if(i==50)printf("查找不到!请重新输入!\n");getch();system("cls");jiemian();}void gn3(){char num1,i=0;printf("请输入要修改的学生学号:\n");scanf("%s",stu[i].num);printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);printf("姓名:");scanf("%s",stu[i].name);printf("性别:");scanf("%s",stu[i].sex);printf("年龄:");scanf("%d",&stu[i].age);printf("请输入学生的三门成绩:\n");printf("语文:");scanf("%f",&stu[i].score1);printf("数学:");scanf("%f",&stu[i].score2);printf("英语:");scanf("%f",&stu[i].score3);printf("是否继续修改:y/n?\n");scanf("%c",&num1);scanf("%c",&num1);if(num1=='N' || num1=='n')system("cls");jiemian();}void gn4(){int i;char num[50];printf("请输入要删除的学生学号:\n");scanf("%s",num);for(i=0;i<50;i++)if(strcmp(num,stu[i].num)==0){printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);stu[i]=del;printf("信息已删除,按任意键返回..\n");break;}if(i==50)printf("您输入的信息不存在!\n");getch();system("cls");jiemian();}void gn5(){int i=0;stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;stu[i].ave=stu[i].sum/3;printf("学号\t姓名\t性别\t年龄\t语文\t数学\t英语\t总成绩\t 平均成绩\n"); for(i=0;i<50;i++){if(stu[i].age==0)break;printf("%s\t%s\t%s\t%d\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f:\n",stu[i].num,stu[i].name,stu[i].sex,stu[i] .age,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].sum,stu[i].ave);}printf("按任意键返回...");getch();system("cls");jiemian();}void gn6(){FILE *fp;int i;char [50];printf("\n");printf("\n");printf("请输入要保存的文件名:");scanf("%s",);if((fp=fopen(,"wb"))==NULL)printf("文件名为空,不能保存!\n");for(i=0;i<50;i++){if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)printf("文件保存失败!\n");}fclose(fp);printf("文件已保存!\n");printf("按任意键返回...\n");getch();system("cls");jiemian();}void gn7(){FILE *fp;int i=0; //打开文件流char [50];printf("请输入文件名:");scanf("%s",); //输入要载入的文件名if((fp=fopen(,"rb"))==0) //如果当前目录下不存在相对应的文件,输出文件不存在,退出系统。
学生信息管理系统C语言报告
学生信息管理系统C语言报告简介学生信息管理系统是一种可以对学生信息进行管理的软件系统。
通过该系统,可以方便地添加、修改、查询和删除学生信息,提高学生信息管理的效率和准确性。
本报告将介绍学生信息管理系统的设计和实现过程,包括系统功能、技术选型和代码结构等方面。
通过该报告的阅读,读者可以了解到该系统的开发背景和主要功能,以及查看源代码和运行效果。
系统功能学生信息管理系统的主要功能如下:1. 添加学生信息:可以输入学生的姓名、年龄、性别、学号等基本信息,并保存到系统中。
2. 修改学生信息:可以根据学生的学号或姓名,修改学生的基本信息。
3. 查询学生信息:可以根据学生的学号、姓名、年龄、性别等条件,查询学生的基本信息。
4. 删除学生信息:可以根据学生的学号或姓名,将学生的基本信息从系统中删除。
技术选型为了实现学生信息管理系统的需求,我们选择使用C语言进行开发。
C语言是一种高效、可靠的编程语言,有着丰富的开发资源和庞大的用户群体。
在开发过程中,我们采用了以下技术选型:- 编程语言:C语言C语言作为一种结构化的编程语言,具有强大的计算能力和灵活的控制语句,非常适合开发类似学生信息管理系统这样的小规模应用。
代码结构学生信息管理系统的代码结构如下:cinclude <stdio.h>struct Student {char name[50];int age;char gender[10];int student_id;};void add_student(struct Student *students, int *count) {添加学生信息的代码逻辑}void modify_student(struct Student *students, int count) {修改学生信息的代码逻辑}void query_student(struct Student *students, int count) {查询学生信息的代码逻辑}void delete_student(struct Student *students, int *count) {删除学生信息的代码逻辑}int main() {struct Student students[100];int count = 0;主程序逻辑,包括用户界面等}在代码结构中,我们定义了一个`Student`结构体,用于存储学生的基本信息。
C语言学生信息管理系统(完整版)
#define PRINT0 printf("name:%s\nsex:%s\nage:%d\nID_card:%d\naddress:%s\n",st[i].name,st[i].sex,st[i].age,st[i] .ID_card,st[i].addr)#define PRINT1 printf("prefession:%s\nstudent_number:%d\n*****score*****\nwuli:%d\n",st[i].prefession,st[i] .student_number,st[i].score.wuli)#define PRINT2 printf("gaoshu:%d\nyingyu:%d\ntiyu:%d\naverage: %d\n",st[i].score.gaoshu,st[i].score.yingyu,st[i ].score.tiyu,st[i].score.aver)#define print1 printf("________________________________")#define N 2#include "string.h"#include "stdio.h"int sum=0;struct score{int wuli;int gaoshu;int yingyu;int tiyu;int aver;};struct message{ char name[10];int age;char sex[5];int ID_card;char addr[30];char prefession[30];int student_number;struct score score;}st[100];/*************write message*************/write_message(){ int flag;char chioce;do{system("cls");flag=2; sum++;printf("_______________________________");printf("please input student's message:\n");printf("\n");print1;printf("%dth student message:",sum);print1;printf("\nname:");scanf("%s",st[sum].name);printf("\nsex:");scanf("%s",st[sum].sex);printf("\nage:");scanf("%d",&st[sum].age);printf("\nID_card:");scanf("%d",&st[sum].ID_card);printf("\naddress:");scanf("%s",st[sum].addr);printf("\nprefession:");scanf("%s",st[sum].prefession);printf("\nschool number:");scanf("%d",&st[sum].student_number);printf("\n*****score******\n");printf("wuli:");scanf("%d",&st[sum].score.wuli);printf("\ngaoshu:");scanf("%d",&st[sum].score.gaoshu);printf("\nyingyu:");scanf("%d",&st[sum].score.yingyu);printf("\ntiyu:");scanf("%d",&st[sum].score.tiyu);printf("\naverage:");scanf("%d",&st[sum].score.aver);do{printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");getchar();scanf("%c",&chioce);printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}else if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);save_message();}/*************save message****************/save_message(){ FILE *fp;int i;if((fp=fopen("student.txt","wb"))==NULL){printf("read error \n");printf("press any key back to menu\n");getch();exit(1);}for(i=0;i<sum;i++)if(fwrite(&st[i],sizeof(struct message),1,fp)!=1){printf("write error\n");fclose(fp);}fclose(fp);printf("\n********___OK!___**********\n___press any key back___");sum=i;bioskey(0);}/***************add message*****************/add_message(){int i,j,flag; char chioce;i=0;j=sum-1;flag=0;do{ system("cls");i++; j++;print1;printf("add %dth student's meaasge\n",i);print1;printf("\nname:");scanf("%s",st[j].name);printf("\nsex:");scanf("%s",st[j].sex);printf("\nage:");scanf("%d",&st[j].age);printf("\nID_card:");scanf("%d",&st[j].ID_card);printf("\naddress:");scanf("%s",st[j].addr);printf("\nprefession:");scanf("%s",st[j].prefession);printf("\nstudent_number:");scanf("%d",&st[j].student_number);printf("\n*****score******\n");printf("wuli:");scanf("%d",&st[j].score.wuli);printf("\ngaoshu:");scanf("%d",&st[j].score.gaoshu);printf("\nyingyu:");scanf("%d",&st[j].score.yingyu);printf("\ntiyu:");scanf("%d",&st[j].score.tiyu);printf("\naverage:");scanf("%d",&st[j].score.aver);printf("\n\nweather add %dth student's message: \n",i+1);do{printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");getchar();scanf("%c",&chioce);printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}else if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;}while(1);}while(flag==1);sum=j+1;save_message();}/**********inqiure message******/inqiure_message(){int chioce;do{system("cls");printf("**********choose 0-3**********\n\n\n");printf(" 1:name inquire\n\n\n");printf(" 2:IDcard inqiure\n\n\n");printf(" 3:student_number\n \n\n");printf(" 0:back menu\n\n\n");scanf("%d",&chioce);switch(chioce){case 1: name_inqiure();break;case 2: ID_card_inqiure();break;case 3: grade_inqiure();break;case 0:break;}}while(chioce!=0);}/**********name inqiure*********/name_inqiure(){char NAME[30];int i; int flag,k;char chioce;do{ system("cls");k=0;printf("please input the message you inqiure");printf("\nname:");scanf("%s",NAME);getchar();printf("\n");for(i=0;i<sum;i++){if(strcmp(st[i].name,NAME)==0){PRINT0;PRINT1;PRINT2;k=1;}}if(k==0) printf("without message you inqiure\n");do{ printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce); getchar();printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);printf("press any key return to menu");bioskey(0);}/**********IDcard inqiure*********/ID_card_inqiure(){int card;int i; int flag,k;char chioce;do{ clrscr(); k=0;printf("please input the message you inqiure");printf("\nIDcard:");scanf("%d",&card);getchar();printf("\n");for(i=0;i<sum;i++){if(st[i].ID_card==card){PRINT0;PRINT1;PRINT2;k=1;}}if(k==0) printf("without message you inqiure\n");do{ printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce); getchar();printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);printf("press any key return to menu");bioskey(0);}/*********grade inqiure***********/grade_inqiure(){int GRADE;int i; int flag,k;char chioce;do{ system("cls");k=0;printf("please input the message you inqiure");printf("\nstudent_number:");scanf("%d",&GRADE);getchar();printf("\n");for(i=0;i<sum;i++){if(st[i].student_number==GRADE){PRINT0;PRINT1;PRINT2;k=1;}}if(k==0) printf("without message you inqiure\n");do{ printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce); getchar();printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);printf("press any key return to menu");bioskey(0);}/*********change message**********/change_message(){char pre[30],chioce;int i,gra,flag,num,s;s=0;do{system("cls");printf("please input message you want to change\n ");printf("student_number:");scanf("%d",&gra); getchar();for(i=0;i<sum;i++){if(st[i].student_number==gra){PRINT0;PRINT1;PRINT2;printf("\n********input message you want to change********\n");printf("0:name***1:sex***2:age***3:ID_card***4:address***\n5:prefession***6:wuli***7:stud ent_number***8\n:gaoshu***9:yingyu***10:tiyu***11:average***________\n");printf("choose 0-11\n");scanf("%d",&num); getchar();switch(num){case 0: printf("input the name changed\n");scanf("%s",st[i].name); getchar(); break;case 1: printf("input the sex changed\n");scanf("%s",st[i].sex); getchar(); break;case 2: printf("input the age changed\n");scanf("%d",&st[i].age); getchar(); break;case 3: printf("input the ID_card changed\n");scanf("%d",&st[i].ID_card); getchar(); break;case 4: printf("input the address changed\n");scanf("%s",st[i].addr); getchar(); break;case 5: printf("input the prefession changed\n");scanf("%s",st[i].prefession); getchar(); break;case 6: printf("input the wuli_score changed\n");scanf("%d",&st[i].score.wuli); getchar(); break;case7: printf("input the student_number changed\n");scanf("%d",&st[i].student_number); getchar(); break;case 8: printf("input the gaoshu_score changed\n");scanf("%d",&st[i].score.gaoshu); getchar(); break;case 9: printf("input the yingyu_score changed\n");scanf("%d",&st[i].score.yingyu); getchar(); break;case 10: printf("input the tiyu_score changed\n");scanf("%d",&st[i].score.tiyu); getchar(); break;case 11: printf("input the average_score changed\n");scanf("%d",&st[i].score.aver); getchar(); break;default: printf("input error\n"); break;}printf("\n*********the changed message*********\n\n");PRINT0;PRINT1;PRINT2;s=1;}}if(s!=1) printf("without message you want to change\n");do{ printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce); getchar();printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);save_message();}/*********delete message**********/delete_message(){ int GRADE;int i,j,flag1,flag;char chioce1,chioce2;flag1=3;flag=3;do{ system("cls");printf("please input student's student_number you want to delete\n");printf("student_number:");scanf("%d",&GRADE); getchar();for(i=0;i<sum;i++)if(st[i].student_number==GRADE){do{PRINT0;PRINT1;PRINT2;printf("\n******************************\n_________________ _________________\n");printf("press y/Y deleted:\npress n/N cancel:\n");scanf("%c",&chioce1);getchar();system("cls");if(chioce1=='y'||chioce1=='Y') flag1=1;else if(chioce1=='n'||chioce1=='N') return;else {printf("***input error***\n___press any ker return___\n"); bioskey(0);}}while(flag1!=1);for(j=i;j<sum;j++){ st[j]=st[j+1];flag=2;printf("message was deleted\n");sum-=1; }}if(flag!=2) printf("without message you want to delete\n");do{printf("press y/Y continue:\npress n/N stop:\n");scanf("%c",&chioce2);printf("****************************\n");if(chioce2=='y'||chioce2=='Y') {flag=1; break;}else if(chioce2=='n'||chioce2=='N') {flag=0; break;}else {system("cls");printf("input error\n");}print1;printf("\n");}while(1);}while(flag==1);save_message();}/************insert message*************/insert_message(){ int chioce,flag,i; flag=2;do{system("cls");printf("please input the number of people you insert\n");scanf("%d",&chioce);if(chioce>=sum){printf("xin xi pai zai zui hou ");chioce=sum;}for(i=sum;i>chioce;i--) st[i]=st[i-1];printf("\nplease input message you insert");printf("\nname:");scanf("%s",st[i].name);printf("\nsex:");scanf("%s",st[i].sex);printf("\nage:");scanf("%d",&st[i].age);printf("\nID_card:");scanf("%d",&st[i].ID_card);printf("\naddress:");scanf("%s",st[i].addr);printf("\nprefession:");scanf("%s",st[i].prefession);printf("\ngrade:");scanf("%d",&st[i].student_number);printf("\n*****score******\n");printf("wuli:");scanf("%d",&st[i].score.wuli);printf("\ngaoshu:");scanf("%d",&st[i].score.gaoshu);printf("\nyingyu:");scanf("%d",&st[i].score.yingyu);printf("\ntiyu:");scanf("%d",&st[i].score.tiyu);printf("\naverage:");scanf("%d",&st[i].score.aver);sum+=1;do{printf("****************************\n");printf("press y/Y continue:\npress n/N stop:\n");getchar();scanf("%c",&chioce);printf("****************************\n");if(chioce=='y'||chioce=='Y') {flag=1; break;}else if(chioce=='n'||chioce=='N') {flag=0; break;}else printf("input error\n");print1;printf("\n");}while(1);}while(flag==1);save_message();}/*********school_number_order***********/grade_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].student_number>st[j].student_number){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("grade order from min to max\n");for(i=0;i<sum;i++){ print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);bioskey(0);}/***********wuli score order***************/wuli_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.wuli>st[j].score.wuli){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("wuli score order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/***********gaoshu score order***************/gaoshu_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.gaoshu>st[j].score.gaoshu){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("gaoshu score order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/***********yingyu score order***************/yingyu_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.yingyu>st[j].score.yingyu){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("yingyu score order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/***********tiyu score order***************/tiyu_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.tiyu>st[j].score.tiyu){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("yitu order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/***********average score order***************/average_order(){int i,j;system("cls");if(sum==0) {printf("**********no message**********\n____press any key return____");getch();return;}for(i=0;i<sum;i++)for(j=i+1;j<sum;j++)if(st[i].score.wuli>st[j].score.wuli){ st[sum+1]=st[i];st[i]=st[j];st[j]=st[sum+1];}printf("average score order from min to max\n");for(i=0;i<sum;i++){print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;getch();system("cls");}print1;printf("\ntotle num :%d\npress any key return to menu\n",sum);print1;bioskey(0);}/********order message****************/order_message(){int chioce;do{system("cls");printf("**********choose 0-6**********\n\n");printf(" 1:grade order\n\n");printf(" 2:wuli score order\n\n");printf(" 3:gaoshu score order\n \n");printf(" 4:ying yu score order\n\n");printf(" 5:tiyu score order\n\n");printf(" 6:average score order\n\n");printf(" 0:back menu\n\n");scanf("%d",&chioce);switch(chioce){case 1: grade_order();break;case 2: wuli_order();break;case 3: gaoshu_order();break;case 4: yingyu_order();break;case 5: tiyu_order();break;case 6: average_order();break;case 0:break;}}while(chioce!=0);}/**********answer secretory***********/mima_message(){int flag;char answer[10];char secret[10]="abcd";flag=2;do{system("cls");printf("\n______________________mi ma wei 'abcd'________________\n\n");printf("______________________qing shu ru mi ma:");scanf("%s",answer);getchar();if(strcmp(secret,answer)==0){flag=1;printf("\n\n =====throngh=====\n\n\n");printf("____________________press any key into next:\n");bioskey(0);}else{flag=0;printf("______________________input error:\n");printf("______________________press any key to return:\n");bioskey(0);}}while(flag!=1);}/*********read message****************/read_message(){int i;system("cls");if(sum<=0){ printf("without message\n");getch();return;}for(i=0;i<sum;i++){system("cls");print1;printf("\n%dth student's mssage\n",i+1);print1;printf("\n");PRINT0;PRINT1;PRINT2;printf("\n********press any key -show the next one********\n ");getch();}printf("________________totle num :%d________________\n",sum); printf("_____________press any key return______________\n"); bioskey(0);}/*************************************/main(){int chioce,flag;mima_message();do{system("cls");chioce=9;printf("**********************************************\n");printf("****welcome to system of managing students****\n");printf("**********************************************\n\n");printf("-------------------choose 0-8-----------------\n\n");printf(" 1:write message\n\n");printf(" 2:add message\n\n");printf(" 3:inqiure name\n\n");printf(" 4:change message\n\n");printf(" 5:insert message\n\n");printf(" 6:order message\n\n");printf(" 7:delete message\n\n");printf(" 8:read messaeg\n\n");printf(" 0:***exit***\n\n");scanf("%d",&chioce);getchar();switch(chioce){case 1: write_message();break;case 2: add_message();break;case 3: inqiure_message();break;case 4: change_message();break;case 5: insert_message();break;case 6: order_message();break;case 7: delete_message();break;case 8: read_message();break;case 0: printf("___sure press y/Y:___\n\n___no sure press n/N:___");scanf("%c",&chioce);getchar();if(chioce=='y'||chioce=='Y') flag=0;else flag=1;break;default : printf("\n ___input error___\n\n");printf("***press any key to go on***\n");getch();break;}}while(flag!=0);save_message();system("cls");printf("\n\n___message was saved___\n\n\n*****file name is student.txt*****\n");bioskey(0);}。
学生信息管理系统C语言编程
学生信息管理系统C语言编程【问题描述】学生信息的管理是每个学校必须具有的管理功能,主要是对学生的基本情况及学习成绩等方面的管理。
该系统模拟一个简单的学生管理系统,要求对文件中所存储的学生数据进行各种常规操作,如:排序、查找、计算、显示等功能。
通过此课题,熟练掌握文件、数组、结构体的各种操作,在程序设计中体现一定的算法思想,实现一个简单的学生信息管理系统。
【基本要求】(1)学生信息包括:学生基本信息文件(student.txt)(注:该文件不需要编程录入数据,可用文本编辑工具直接生成)的内容如下:(2)学生成绩基本信息文件(score.dat)及其内容如下:((注:该文件内容需要编程录入数据,具体做法见下面的要求)学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分(3)需要实现的功能1)数据录入和计算功能:对score.dat进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据,综合成绩、实得学分由程序根据条件自动运算。
综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%;如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*15%+卷面成绩*70% 。
实得学分的计算:采用等级学分制,综合成绩在90-100之间,应得学分=学分*100%;综合成绩在80-90之间,应得学分=学分*80%;综合成绩在70-80之间 ,应得学分=学分*75%;综合成绩在60-70之间,应得学分=学分*60%;综合成绩在60以下 ,应得学分=学分*0%。
2)查询功能:分为学生基本情况查询和成绩查询两种(1)学生基本情况查询:①、输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出,格式如下:②、输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。
(格式如上所示)(2)成绩查询:①、输入一个学号时,查询出此生的所有课程情况,格式如下:学号:xx 姓名:xxxxx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx ……………………共修:xx科,实得总学分为: xxx(3)删除功能:提供待删除学生的学号,则在student.txt和score.dat中删除所有与该学生有关的信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
void search1()//搜索单个学生的各项成绩
{
int i;
char temp[20];
printf("\n请输入要查找学生的姓名或学号:");
scanf("%s",temp);
for(i=0;i<=n;i++)
{
if(strcmp(temp,stu[i].name)==0||strcmp(temp,stu[i].num)==0)
stu[j]=stu[j+1];
stu[j+1]=temp[j];
}
}
printf("学号\t姓名\t数学\t物理\t英语\t总分\t平均分\n");
for(int k=0;k<n;k++){
printf(" %s\t%s\t%d\t%d\t%d\t%d\t%d\n",stu[k].num,stu[k].name,stu[k].mathscore,stu[k].physcore,stu[k].engscore,stu[k].zongf,stu[k].pingj);
case 2:search2();break;//search();
case 3:search3();goto c;break;//search();
case 4:search4();goto c;break;//search();
case 5:break;
default:break;
{
int i,min=0,max=0;
for(i=1;i<n;i++)
{
if(stu[min].zongf>=stu[i].zongf)
min=i;
if(stu[max].zongf<=stu[i].zongf)
max=i;
}
printf("\n \t学号\t姓名\t分数");
scanf("%s",stu[n].num);
printf("\n输入学生的姓名:");
scanf("%s",stu[n].name);
printf("\n输入学生的数学成绩:");
scanf("%d",&stu[n].mathscore);
printf("\n输入学生的物理成绩:");
void search1();//查找某个学生各项信息
void search2();//单科选择的switch
void search3();//计算总分最高分和最低分
void search4();//按总分排序
void search5();//按学号排序
void maths();//计算数学最高分和最低分
}
void search4()//按总分排序
{
Student temp[200];
for(int i=0;i<n-1;i++)
for(int j=0;j<n-1-i;j++)
{
if(stu[j].zongf<stu[j+1].zongf)
{
temp[j]=stu[j];
int zongf,pingj;//总分,平均分
}Student;
Student stu[200];
/*struct Student//学生信息结构体
{
char num[20];//学号
char name[20];//姓名
int mathscore;//数学分数
int physcore;//物理分数
}
}
}
void search2()//搜索单科的最高分和最低分
{
int x;
printf("\n请选择科目: 1.数学 2.物理 3.英语 4.返回:");
scanf("%d",&x);
switch(x)
{
case 1:maths();search2();break;
}
}
void search5()//按学号排序
{
Student temp[200];
for(int i=0;i<n-1;i++)
for(int j=0;j<n-1-i;j++)
{
if(strcmp(stu[j].num,stu[j+1].num)>0)
{
{
case 1:add();goto b;
case 2:del();goto b;
case 3:allinf();goto b;
case 4:search();goto b;
case 5:break;
default:break;
}
}
printf("%s\t%s\t%d\t%d\t%d\t%d\t%d\n",stu[i].num,stu[i].name,stu[i].mathscore,stu[i].physcore,stu[i].engscore,stu[i].zongf,stu[i].pingj);
}
void search()//搜索各类信息
5. 退出
********************************/
typedef struct //学生信息结构体
{
char num[20];//学号
char name[20];//姓名
int mathscore;//数学分数
int physcore;//物理分数
int engscore;//英语分数
}
for(i=0;i<=n;i++)
{
stu[i].zongf=stu[i].mathscore+stu[i].physcore+stu[i].engscore;
stu[i].pingj=stu[i].zongf/3;
}
}
void del()//删除某个学生的信息
{
case 2:physic();search2();break;
case 3:english();search2();break;
case 4:search();break; //返回到选择搜索信息的界面
default:break;
}
}
void search3()//搜索总分最高分和最低分
int i;
char temp[20];
printf("\n请输入要删除学生的姓名或学号:\n");
scanf("%s",temp);
for(i=0;i<=n;i++)
{
if(strcmp(temp,stu[i].name)==0||strcmp(temp,stu[i].num)==0)
printf("\n总分最低分:\t%s\t%s\t%d",stu[min].num,stu[min].name,stu[min].zongf);
printf("\n总分最高分:\t%s\t%s\t%d",stu[max].num,stu[max].name,stu[max].zongf);
#include "stdafx.h"
#include<stdio.h>
#include<string.h>
int n=0;
//输入总人数全局变量
/********************************
1. 添加学生信息
2. 删除学生信息
3. 全部学生信息
4. 查询学生信息
{
printf("学号\t姓名\t数学\t物理\t英语\t总分\t平均分\n");
printf(" %s\t%s\t%d\t%d\t%d\t%d\t%d\n",stu[i].num,stu[i].name,stu[i].mathscore,stu[i].physcore,stu[i].engscore,stu[i].zongf,stu[i].pingj);
void physic();//计算物理最高分和最低分
void english();//计算英语最高分和最低分
void main()
{
b: int x;
menu();
printf("\n请选择操作:");
scanf("%d",&x);
switch(x)
scanf("%d",&stu[n].physcore);
printf("\n输入学生的英语成绩:");
scanf("%d",&stu[n].engscore);
printf("\n是否继续?按't'停止输入,按'enter'继续\n");
getchar();
int engscore;//英语分数
int zongf,pingj;//总分,平均分
}stu[200];*/
void menu();//菜单