学生管理系统 C语言

合集下载

学生管理系统c语言简单版

学生管理系统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语言

学生信息管理系统c语言1学生信息管理系统C语言学生信息管理系统C语言是一个以全校学生信息为对象,以c 语言为编程语言,以windows或linux系统环境下操作的具有管理功能的软件系统。

它的主要功能是实现学校的学生信息的管理和处理,如查询、添加、修改、删除学生信息等功能。

2学生信息管理系统C语言的成熟度目前,用c语言开发出来的学生信息管理系统已经具备较高的成熟度,它可以实现大多数主流学校的学生信息管理系统的基本需求,如学生信息查询、增加、删除、修改等,同时也可以实现更多复杂的功能,比如报表统计、统一登录和权限管理等。

3学生信息管理系统C语言的主要功能学生信息管理系统C语言的主要功能有:学生信息查询、增加、删除、修改,录入、报表统计、统一登录和权限管理等功能,其中学生信息查询的功能可以实现学生的基本信息,学习成绩,校园缴费,报到服务等查询;增加、删除和修改功能可以方便学校对学生信息进行管理;报表统计使用Excel或Access或界面精密Tsort对学生信息进行统计;统一登录和权限管理是指学校可以给不同用户赋予不同的权限,不同用户只能访问其角色所拥有的功能。

4学生信息管理系统C语言的优缺点学生信息管理系统用c语言编写的优点是:代码调试方便,程序运行速度快,新手也能上手,而且对于数据库实现也比较容易;优点也有缺点,首先,C语言是一门面向过程编程语言,缺乏面向对象、动态内存分配等特性,可维护性和可扩展性较差,其次,C语言的数据类型容易混乱,入口函数的嵌套层次太深容易出错。

5改进建议为了提高学生信息系统C语言的安全性、可扩展性和可维护性,让系统更加智能,建议:①使用现代化的Java、Python或C++编写代码;②采用组件式设计,将模块分开,单独编程;③支持多种浏览器,支持动态页面显示;④采用更多的设计模式,做到安全易用、可扩展、可维护;⑤建立事务系统,实现系统的智能化,通过人工智能实现系统的可维护性和安全性。

学生管理系统C语言版

学生管理系统C语言版
void showMainMenu(void); /*显示主菜单*/
void selectMainMenu(void); /*选择处理主菜单*/
/*生成成绩单模块所用函数:*/
void displayMenuIteml(void); /*处理生成成绩单菜单*/
void handleCreateAchiMenu(void); /*处理生成成绩菜单子项*/
do
{
showMainMenu();
scanf("%d",&selectItem);
switch(selectItem)
{
case 1:
handleCreateAchiMenu(); /*产生成绩单模块函数*/
break;
case 2:
int handlePassword(void)
{
char secretCode[6]; /*用于输入密码*/
int secretcodeNumber=3; /*用于输入密码次数三次退出系统*/
/*科目管理模块所用函数:*/
void handleSubjectMenu(void); /*科目管理处理菜单*/
void displaySubjectMenu(int subjectCode); /*显示科目管理菜单*/
void achievementInput(int subjectCode); /*输入相关科目成绩*/
void inputStuInfo(void); /*录入学生成绩*/
void addStuInfo(void); /*添加学生信息*/
void deleteStuInfo(void); /*删除学生信息*/

C语言学生管理系统

C语言学生管理系统

C语言学生管理系统#include#include#include#include#include#define LEN sizeof(struct student)#define FORMAT "%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lf\n"#define DATA stu[i].num,stu[i].name,stu[i].elec,stu[i].expe,stu[i].requ,stu[i].sum struct student/*定义学生成绩结构体*/{ int num;/*学号*/char name[15];/*姓名*/double elec;/*选修课*/double expe;/*实验课*/double requ;/*必修课*/double sum;/*总分*/};struct student stu[50];/*定义结构体数组*/void in();/*录入学生成绩信息*/void show();/*显示学生信息*/void order();/*按总分排序*/void del();/*删除学生成绩信息*/void modify();/*修改学生成绩信息*/void menu();/*主菜单*/void insert();/*插入学生信息*/void total();/*计算总人数*/void search();/*查找学生信息*/void main()/*主函数*/{ int n;menu();scanf("%d",&n);/*输入选择功能的编号*/while(n){ switch(n){ case 1: in();break;case 2: search();break;case 3: del();break;case 4: modify();break;case 5: insert();break;case 6: order();break;case 7: total();break;default:break;}getch();menu();/*执行完功能再次显示菜单界面*/scanf("%d",&n);}}void in()/*录入学生信息*/{ int i,m=0;/*m是记录的条数*/char ch[2];FILE *fp;/*定义文件指针*/if((fp=fopen("data.txt","a+"))==NULL)/*打开指定文件*/ { printf("can not open\n");return;}while(!feof(fp)) {if(fread(&stu[m] ,LEN,1,fp)==1)m++;/*统计当前记录条数*/}fclose(fp);if(m==0)printf("No record!\n");else{system("cls");show();/*调用show函数,显示原有信息*/}if((fp=fopen("data.txt","wb"))==NULL){ printf("can not open\n");return;}for(i=0;iscanf("%s",ch);while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要录入新信息*/ {printf("number:");scanf("%d",&stu[m].num);/*输入学生学号*/ for(i=0;i<m;i++)< p="">if(stu[i].num==stu[m].num){printf("the number is existing,press any to continue!");getch();fclose(fp);return;}printf("name:");scanf("%s",stu[m].name);/*输入学生姓名*/printf("elective:");scanf("%lf",&stu[m].elec);/*输入选修课成绩*/printf("experiment:");scanf("%lf",&stu[m].expe);/*输入实验课成绩*/printf("required course:");scanf("%lf",&stu[m].requ);/*输入必修课成绩*/ stu[m].sum=stu[m].elec+stu[m].expe+stu[m].requ;/*计算出总成绩*/if(fwrite(&stu[m],LEN,1,fp)!=1)/*将新录入的信息写入指定的磁盘文件*/{ printf("can not save!"); getch(); }else { printf("%s saved!\n",stu[m].name);m++;}printf("continue?(y/n):");/*询问是否继续*/scanf("%s",ch);}fclose(fp);printf("OK!\n");}void show(){ FILE *fp;int i,m=0;fp=fopen("data.txt","rb");while(!feof(fp)){if(fread(&stu[m] ,LEN,1,fp)==1)m++;}fclose(fp);printf("number name elective experiment required sum\t\n");for(i=0;i<m;i++)< p="">{printf(FORMAT,DATA);/*将信息按指定格式打印*/}}void menu()/*自定义函数实现菜单功能*/{system("cls");printf("\n\n\n\n\n");printf("\t\t|---------------------STUDENT-------------------|\n");printf("\t\t|\t 0. exit |\n");printf("\t\t|\t 1. input record |\n");printf("\t\t|\t 2. search record |\n");printf("\t\t|\t 3. delete record |\n");printf("\t\t|\t 4. modify record |\n");printf("\t\t|\t 5. insert record |\n");printf("\t\t|\t 6. order |\n");printf("\t\t|\t 7. number |\n");printf("\t\t|-----------------------------------------------|\n\n");printf("\t\t\tchoose(0-7):");}void order()/*自定义排序函数*/{ FILE *fp;struct student t;int i=0,j=0,m=0;if((fp=fopen("data.txt","r+"))==NULL){printf("can not open!\n");return;}while(!feof(fp))if(fread(&stu[m] ,LEN,1,fp)==1)m++;fclose(fp);if(m==0){printf("no record!\n");return;}if((fp=fopen("data.txt","wb"))==NULL){printf("can not open\n");return;}for(i=0;i<m-1;i++)< p="">for(j=i+1;j<="" p="">if(stu[i].sum<stu[j].sum)< p="">{ t=stu[i];stu[i]=stu[j];stu[j]=t;}if((fp=fopen("data.txt","wb"))==NULL){ printf("can not open\n");return;}for(i=0;i{printf("%s can not save!\n");getch();}fclose(fp);printf("save successfully\n");}void del()/*自定义删除函数*/{FILE *fp;int snum,i,j,m=0;char ch[2];if((fp=fopen("data.txt","r+"))==NULL){ printf("can not open\n");return;}while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++; fclose(fp);if(m==0){printf("no record!\n");return;}printf("please input the number:");scanf("%d",&snum);for(i=0;i<m;i++)< p="">if(snum==stu[i].num)break;printf("find the student,delete?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)/*判断是否要进行删除*/for(j=i;j<m;j++)< p="">stu[j]=stu[j+1];/*将后一个记录移到前一个记录的位置*/m--;/*记录的总个数减1*/if((fp=fopen("data.txt","wb"))==NULL){ printf("can not open\n");return;}for(j=0;j<="" p="">if(fwrite(&stu[j] ,LEN,1,fp)!=1){ printf("can not save!\n");getch();}fclose(fp);printf("delete successfully!\n");}void search()/*自定义查找函数*/{ FILE *fp;int snum,i,m=0;char ch[2];if((fp=fopen("data.txt","rb"))==NULL){ printf("can not open\n");return;}while(!feof(fp)) if(fread(&stu[m],LEN,1,fp)==1) m++;fclose(fp);if(m==0) {printf("no record!\n");return;}printf("please input the number:");scanf("%d",&snum);for(i=0;i<m;i++)< p="">if(snum==stu[i].num)/*查找输入的学号是否在记录中*/{ printf("find the student,show?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")==0||strcmp(ch,"y")==0){printf("number name elective experiment required sum\t\n");printf(FORMAT,DATA);/*将查找出的结果按指定格式输出*/ break;}}if(i==m) printf("can not find the student!\n");/*未找到要查找的信息*/}void modify()/*自定义修改函数*/{ FILE *fp;int i,j,m=0,snum;if((fp=fopen("data.txt","r+"))==NULL){ printf("can not open\n");return;}while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1) m++;if(m==0) {printf("no record!\n");fclose(fp);return;}printf("please input the number of the student which do you want to modify!\n"); scanf("%d",&snum);for(i=0;i<m;i++)< p="">if(snum==stu[i].num)/*检索记录中是否有要修改的信息*/break;printf("find the student!you can modify!\n");printf("name:\n");scanf("%s",stu[i].name);/*输入名字*/printf("\nelective:");scanf("%lf",&stu[i].elec);/*输入选修课成绩*/printf("\nexperiment:");scanf("%lf",&stu[i].expe);/*输入实验课成绩*/printf("\nrequired course:");scanf("%lf",&stu[i].requ);/*输入必修课成绩*/stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ;if((fp=fopen("data.txt","wb"))==NULL){ printf("can not open\n");return;}for(j=0;j<="" p="">if(fwrite(&stu[j] ,LEN,1,fp)!=1){ printf("can not save!"); getch(); }fclose(fp);}void insert()/*自定义插入函数*/{ FILE *fp;int i,j,k,m=0,snum;if((fp=fopen("data.txt","r+"))==NULL){ printf("can not open\n");return;}while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1) m++;if(m==0) {printf("no record!\n");fclose(fp);return;}printf("please input position where do you want to insert!(input the number)\n"); scanf("%d",&snum);/*输入要插入的位置*/for(i=0;i<m;i++)< p="">if(snum==stu[i].num)break;for(j=m-1;j>i;j--)stu[j+1]=stu[j];/*从最后一条记录开始均向后移一位*/printf("now please input the new information.\n");printf("number:");scanf("%d",&stu[i+1].num);for(k=0;k<m;k++)< p="">if(stu[k].num==stu[i+1].num){printf("the number is existing,press any to continue!");getch();fclose(fp);return;}printf("name:\n");scanf("%s",stu[i+1].name);printf("\nelective:");scanf("%lf",&stu[i+1].elec);printf("\nexperiment:");scanf("%lf",&stu[i+1].expe);printf("\nrequired course:");scanf("%lf",&stu[i+1].requ);stu[i+1].sum=stu[i+1].elec+stu[i+1].expe+stu[i+1].requ;if((fp=fopen("data.txt","wb"))==NULL){ printf("can not open\n");return;}for(k=0;k<=m;k++)if(fwrite(&stu[k] ,LEN,1,fp)!=1)/*将修改后的记录写入磁盘文件中*/{ printf("can not save!"); getch(); }fclose(fp);}void total(){ FILE *fp;int m=0;if((fp=fopen("data.txt","r+"))==NULL){ printf("can not open\n");return;}while(!feof(fp))if(fread(&stu[m],LEN,1,fp)==1)m++;/*统计记录个数即学生个数*/if(m==0) {printf("no record!\n");fclose(fp);return;}printf("the class are %d students!\n",m);/*将统计的个数输出*/ fclose(fp);}</m;k++)<></m;i++)<></m;i++)<></m;i++)<></m;j++)<></m;i++)<></stu[j].sum)<></m-1;i++)<></m;i++)<></m;i++)<>。

c语言课程设计学生管理系统

c语言课程设计学生管理系统

c语言课程设计学生管理系统一、教学目标本课程的目标是让学生掌握C语言编程的基本技能,通过实现一个学生管理系统,让学生了解和掌握面向对象编程的思想和方法,培养学生的编程能力和问题解决能力。

具体目标如下:1.知识目标:使学生掌握C语言的基本语法、数据结构、算法和面向对象编程思想。

2.技能目标:使学生能够使用C语言独立编写和调试程序,具备基本的软件开发能力。

3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,增强学生的自主学习意识和团队合作精神。

二、教学内容教学内容以C语言编程为核心,主要包括以下几个部分:1.C语言基础:介绍C语言的基本语法、数据类型、运算符、控制结构等。

2.数据结构:讲解常用的数据结构,如数组、链表、栈和队列等,以及如何在C语言中实现和应用。

3.算法:介绍基本的算法思想和实现方法,如排序、查找等。

4.面向对象编程:讲解面向对象编程的基本概念,如类、对象、封装、继承和多态等,以及如何在C语言中实现面向对象编程。

5.学生管理系统实现:以学生管理系统为案例,引导学生运用所学知识解决实际问题。

三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行教学:1.讲授法:讲解C语言的基本语法、数据结构、算法和面向对象编程思想。

2.案例分析法:通过分析学生管理系统的实现,使学生理解和掌握面向对象编程的思想和方法。

3.实验法:安排实验室实践环节,让学生动手编写代码,培养学生的实际编程能力。

4.讨论法:学生进行小组讨论,分享学习心得和解决问题的方法,提高学生的团队合作能力。

四、教学资源为了支持教学内容和教学方法的实施,将准备以下教学资源:1.教材:《C程序设计原理与应用》。

2.参考书:《C语言程序设计》。

3.多媒体资料:制作课件和教学视频,以便于学生复习和自学。

4.实验设备:为学生提供计算机实验室,让学生能够进行实际编程练习。

五、教学评估为了全面、客观地评估学生的学习成果,将采用多种评估方式相结合的方法:1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的积极性等,占总评的20%。

学生信息管理系统c语言版源代码

学生信息管理系统c语言版源代码

学生信息管理系统c语言版源代码#include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #define N 1000typedef struct student {int number;char name[20];int grade;int gaoshu;int yingyu;int jisuanji;int sum;}STUDENT;STUDENT student[N]; int shuliang=0;void menu();void fhzjm(){char biaozhi[20];printf("\n");printf("还需要操作么,如果需要操作请输入:yes,否则请输入:no\n");scanf("%s",biaozhi);if(strcmp(biaozhi,"yes")==0){menu();}else if(strcmp(biaozhi,"no")==0)exit(0);else{printf("请输入正确的字符,谢谢~\n"); fhzjm();}}void DengJi(){int rs;int i,k=1;system("CLS");printf("请输入需要输入几个学生信息:"); scanf("%d",&rs);for(i=shuliang;i<shuliang+rs;i++,k++) {printf("请输入第%d个学生的学号:",k); scanf("%d",&student[i].number);printf("请输入学生的姓名:");scanf("%s",student[i].name);printf("请输入学生3门课的成绩:"); printf("请输入第1门课的成绩:");scanf("%d",&student[i].gaoshu);printf("请输入第2门课的成绩:");scanf("%d",&student[i].yingyu);printf("请输入第3门课的成绩:");scanf("%d",&student[i].jisuanji);}shuliang=shuliang+rs;fhzjm();}void ShanChu(){char shanchuinfo[10];system("CLS");printf("删除全部学生信息请输入\"all\",删除指定学号的学生信息请输入\"one\"\n");scanf("%s",shanchuinfo);if(strcmp(shanchuinfo,"all")==0){int j;printf("你删除的学生信息如下:\n");printf("-----------学号-------------姓名-------------高数--------------英语--------------计算机\t\n");for(j=0;j<shuliang;j++)printf("----%d-------%s-------%d-------%d-------%d\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].jisuanji);shuliang=0;printf("删除成功\n\n");}else if(strcmp(shanchuinfo,"one")==0){struct student *p=NULL;int choice;int i,j,k=0;printf("请输入你要删除的人的学号:");scanf("%d",&choice);for(i=0;i<shuliang;i++){if(choice==student[i].number){k=1;j=i;break;}}if(k){if(shuliang==1){p=&student[0];free(p);shuliang=0;}else{for(i=j;i<shuliang;i++) {student[i]=student[i+1];}shuliang=shuliang-1;}printf("删除成功\n\n");}else{printf("输入数据错误~\n"); }}fhzjm();}void LiuLan(){int i;system("CLS");if(shuliang==0){printf("系统里面没有任何学生的信息~\n");}else{for(i=0;i<shuliang;i++){printf("第%d个学生的学号为:%d\n",i+1,student[i].number);printf("第%d个学生的姓名为:%s\n",i+1,student[i].name);printf("第%d个学生的第一门课的成绩为:%d\n",i+1,student[i].gaoshu);printf("第%d个学生的第二门课的成绩为:%d\n",i+1,student[i].yingyu);printf("第%d个学生的第三门课的成绩为:%d\n",i+1,student[i].jisuanji);student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].jisuan ji;printf("第%d个学生的总成绩为:%d\n",i+1,student[i].sum);}}fhzjm();}void ChaZhao(){int xx;char choice,yy[20];int i,j,k=0;system("CLS");if(shuliang==0){printf("系统里面没有任何学生的信息~\n");fhzjm();}printf("三种查找方式:学号,姓名,成绩\n");printf("如果按学号查找请输1,如果按姓名查找请输2,如果按成绩查找请输3\n");printf("请输入您查找的方式:");scanf("%s",&choice);if(choice=='1'){printf("请输入需要查找学生的学号:");scanf("%d",&xx);printf("您所查找的学生的信息为:\n");printf("----学号----姓名----高数成绩----英语成绩----计算机成绩----\t\n");for(i=0;i<shuliang;i++){if(xx==student[i].number){j=i;k=1;printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].jis uanji);}}if(k==0)printf("输入信息有误:\n");}else if(choice=='2'){printf("请输入需要查找学生的姓名:\n");scanf("%s",yy);printf("您所查找的学生的信息为:\n");printf("----学号----姓名----高数成绩----英语成绩----计算机成绩----\t\n");for(i=0;i<shuliang;i++){if(strcmp(yy,student[i].name)==0){j=i;k=1;printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[j].jis uanji);}}if(k==0)printf("输入信息有误:\n");}else if(choice=='3'){printf("请输入需要查找学生的成绩:\n");scanf("%d",&xx);printf("您所查找的学生的信息为:\n");printf("----学号----姓名----高数----英语----计算机----\t\n");for(i=0;i<shuliang;i++){if(xx==student[i].grade){j=i;k=1;printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].jis uanji);}}if(k==0)printf("输入信息有误:\n");}fhzjm();}void PaiXu(){struct student *p1[N],**p2,*temp;int i,j;system("CLS");p2=p1;for( i=0;i<shuliang;i++){p1[i]=student+i;}for( i=0;i<shuliang;i++){for( j=i+1;j<shuliang;j++){if((*(p2+i))->sum<(*(p2+j))->sum){temp=*(p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp;} }}printf("按照总成绩排序之后的信息为:\n");printf("----学号----姓名----总成绩----\t\n");for( i=0;i<shuliang;i++){student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].jisuan ji;printf("----%d-----%s----%d-----\n",(*(p2+i))->number,(*(p2+i))->name,(*(p2+i))->sum);}fhzjm();}void CunChu(){int i;FILE *rs;if((rs=fopen("student.txt","w"))==NULL){printf("not open");exit(0);}for(i=0;i<shuliang;i++){fwrite(&student[i], sizeof(student[i]), 1, rs); }if(ferror(rs)){fclose(rs);perror("写文件失败~\n");return;}printf("存储文件成功~\n");fclose(rs);fhzjm();}void DaoChu(){struct student t;int i=0;FILE* fp = fopen("student.txt", "r");shuliang=0;if(NULL==fp){perror("读取文件打开失败~\n");return;}memset(student,0x0,sizeof(student));while(1){fread(&t,sizeof(t),1,fp);if(ferror(fp)){fclose(fp);perror("读文件过程失败~\n");return;}if(feof(fp)){break;}student[i]=t;i++;}fclose(fp);shuliang=i; printf("导出文件成功~\n"); fhzjm();}void menu(){int n=0;system("CLS");printf(" 学生信息管理系统\n");printf(" 作者:陈椿\n");printf("-------------------MENU-----------------\n"); printf(" 1.登记学生信息\n");printf(" 2.删除学生信息\n");printf(" 3.浏览所有已经登记的学生\n");printf(" 4.查找\n");printf(" 4.1按学号查找\n");printf(" 4.2按姓名查找\n");printf(" 4.3按成绩查找\n");printf(" 5.根据总成绩排序\n");printf(" 6.存储到文件\n");printf(" 7.从文件导出\n");printf(" 8.退出系统\n");a: printf(" 请选择:");scanf("%d",&n);switch (n){case 1:DengJi();break;case 2:ShanChu();break;case 3:LiuLan();break;case 4:ChaZhao();break;case 5:PaiXu();break;case 6:CunChu();break;case 7:DaoChu();break;case 8:exit(0);break;default:{printf("请输入1-8之间的数字,谢谢~\n"); goto a;}}}main() {menu();}。

C语言编写学生管理系统的代码

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语言源代码

学生管理系统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); }。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C/C++程序设计课程设计报告专业:班级:学号:姓名:版本号:时间:目录1 概述 (2)1.1目的 (2)1.2计划 (2)2 课程设计过程及结果 (3)2.1编程环境及工具 (3)2.2排序与简单分析 (3)2.3综合设计 (3)2.3.1 功能实现 (3)2.3.2 程序异常处理 (5)2.3.3 特色功能 (5)3 课程设计总结 (6)3.1课程设计计划执行情况 (6)3.2我理解的C++ (6)3.3改进设想 (6)附录关键代码 (6)原创声明:本课程设计报告及相应的软件程序的全部内容均为本人独立完成,如有抄袭,愿承担相应后果。

声明人___________________学号:__________________1概述1.1 目的1、熟悉c语言的编译环境2、掌握c语言的基本操作3、回顾并加深对C/C++程序设计相关知识的理解,能够用C/C++独立完成简单数据管理软件的编写4、锻炼同学思维强度与能力5、培养同学认真态度和刻苦的精神1.2 计划用Microsoft Visual C++ 6.0进行编译,利用之前学过的课程知识和查询资料等方法完成题目的设计,用Debug进行调试。

1.回顾c语言编程基本内容,了解各种数据类型及掌握各种语句的结构类型。

2.完成一个简单任务:排序与简单分析把一个完全由小写字母组成字符串按照每个字母的出现次数从低到高重新排序。

出现次数相同的按照字母顺序排列,(a最前,z最后)。

输入:任意一个字符串(小写,长度小于255)输出:重新排序后的结果例如,输入:aassdfkjiowea回车则输出为:defijkowssaaa3.综合设计:设计实现学生成绩管理软件。

参考下面的数据,用C/C++设计一个简单的学生成绩管理软件,实现基本的功能。

学生信息文件(A.TXT)及其内容(示意):学号姓名性别班级200800800901 张三男电子0801200800820902 李四女通信0801200800800903 王五女电子0802200800820904 赵六男通信0801……课程信息(B.TXT)及其内容(示意):课程编号课程名称学分C01 大学英语 4C02 高等数学 4C03 C++程序设计 3……学生成绩信息文件(C.TXT)及其内容(示意,成绩保存使用浮点数):学号课程成绩200800800901 C01 89200800800902 C01 68.5200800800901 C02 45.5200800800903 C02 78实现数据录入显示功能查询功能数据删除、整理功能排序功能。

2课程设计过程及结果2.1 编程环境及工具环境变量的设置及作用环境变量的设置:右击我的电脑——高级——环境变量——在系统变量里有path选项——双击打开——在原有变量的基础上添加英文状态下的分号——然后将路径名输入即可作用:安装软件时往往须要向系统目录中复制某些文件,而使用另外一个系统时会由于缺少这些文件而无法运行。

因此,我们可以通过设置环境变量的方法来解决这个问题批处理及命令行编译2.2 排序与简单分析题目重述:把一个完全由小写字母组成字符串按照每个字母的出现次数从低到高重新排序。

出现次数相同的按照字母顺序排列,(a最前,z最后)。

输入:任意一个字符串(小写,长度小于255)输出:重新排序后的结果题目分析:此次设计排序有两个要求,并有优先排序。

1、先以字母个数的多少来排序2、字母字数相同的按照先后顺序来排。

要实现以上两个要求,最基本的方法是:先按字母先后顺序排序(冒泡排序法),存到一个数组a里,然后用两个数组b,c,一个记录字母的个数,一个记录字母的下标,然后对b数组排序,同时c也跟着排序,最后,用for循环把排好的字母顺序打印出来。

(具体见附录中的排序程序)。

2.3 综合设计2.3.1功能实现1.数据录入2..显示功能3.查询功能4.数据删除、整理功能2.3.1.1文件读入1.分别把三个文件录入到三个结构体里先定义结构体数组stu1[] ,stu2[],stu3[];stu1[6]用来记录学生信息,stu2[6]用来记录课程信息,stu3[12]用来记录成绩信息struct stu_info1{c har num[13];//学号c har name[10];//姓名c har sex[5];//性别c har cls[20];//班级}stu1[6];struct stu_info2{c har counum[6];//课程号c har counam[20];//课程名称i nt credit;//学分}stu2[6];struct stu_info3{c har num[13];//学号c har counum[6];//课程号f loat results;//分数}stu3[12];2.三个文件用fscanf来读到结构体里:void input1()//录入结构体stu1[]{i nt i;F ILE *fp;i f((fp=fopen("A.txt","r"))==NULL){printf("can not open file\n");exit(0);}f or(i=0;i<=5;i++){fscanf(fp,"%s%s%s%s",&stu1[i].num,&stu1[i].name,&stu1[i].sex,&stu1[i].cls);}f close(fp);}此处只写了将A.txt录入结构体stu1[6]的子函数,将B.txt,C.txt 录入stu2[6],stu3[12]的子函数和这个子函数类似,具体函数请参考附录中的子函数input2()和output() 函数。

2.3.1.2数据录入1用只读方式打开.C.txt,FILE *fp;fp=fopen("C.txt","w");2.判断学号,课程号是否分别在A.txt和B.txt中存在。

.当输入学号和课程号后,先检查在学号在A.txt中是否存在,若存在,再检查课程号是否在B.txt中存在(检查的时候用字符串比较函数strcmp)。

3.把成绩录入到C.txt里第2步判断学号和课程号是否分别在A.txt和B.txt中存在后,若都存在就用fprintf录入C.txt,否则提示错误,重新输入。

具体数据录入的程序见附录中的子函数input3()。

2.3.1.3信息显示能分别显示学生信息,课程信息,和成绩信息,显示成绩信息时,课程号用课程名称代替,学号用学生姓名代替。

显示学生信息和成绩信息就是直接输出结构体stu1[6],stu2[6] 就可以;显示成绩信息时,需要用循环,从结构体stu3[12] 里挨个输出时,学号需要从stu1[6]中查找,找到后显示该同学姓名,课程号需要从stu2[6]中查找,找到后显示课程名称,成绩直接显示stu3[12]中的成绩就可以。

具体成绩显示的代码见附录中的子函数xianshi(),printf1(),printf2() 。

2.3.1.4信息的查找文件的打开方式,均为只读。

思路:1.输入学号2.在C.txt中寻找,若找不到,输出“学号输入错误”3.若找到C.txt中寻找相应的课程号和成绩。

4.根据学号在A.txt里寻找姓名,根据课程号在B.txt中寻找课名与学分,输出时候,若成绩小于六十,学分输出为0,反之则输出在B.txt里查到的学分。

5.实现学分与课程的统计2.3.2程序异常处理在编程的过程中,大部分错误,是由于自己忘了加“;”或者是括号“()”或“{}”没有相对应而引起的形式错误。

这种错误容易改正。

有的时候用fopen打开文件忘记用fclose关闭,这时候检查不出错误,但是运行不行。

有的时候用scanf获取数据的时候,获取的不是字符串,但是忘记了加&,也会导致检查不出错误,但是运行结果不对。

2.3.3特色功能能实现更新C.txt的功能,即当A.txt ,B.txt的内容改变时,C中的内容用一个函数去更新。

本程序中,还实现了区分管理员功能和学生功能,录入功能和更新功能只有管理员可以使用,需要输入管理员密码。

3课程设计总结3.1 课程设计计划执行情况基本按照计划进行。

实现了四个基本功能,扩展了管理员密码的功能。

编程的过程是不太难的的,但找错的过程难。

经常因为程序运行不正常,找了很长时间才找出错误。

此次编程中,让我更理解了编程中格式的重要性和注释的重要性。

我学会了一句话:程序不只是写给你自己看的。

我也知道了良好的编程习惯有多重要。

3.2 我理解的C++在这次课程设计中,我发现了C语言竟然这么强大,以前就以为C语言能算个加减乘除什么的,就以为就是电脑运行的比人脑快,所以C语言才很重要,以前认为花好长时间编个程序真没必要,比如加法程序,有编的时间还不如自己算呢!现在我知道了C语言很强大,也认识到了C的重要性,知道了C语言能做很多事情。

以后一定要学好编程。

3.3 改进设想增加用户登录和密码功能,把这个程序包装起来,做的和学校的教务系统类似。

附录关键代码排序代码#include"stdio.h"#include"string.h"void main(){int t,i,j,k,m;char a[255]={0};int b[26]={0},c[26]={0};scanf("%s",a);m=strlen(a);for(i=0;i<m-1;i++)for(j=0;j<m-1-i;j++)if(a[j]>a[j+1]){t=a[j+1];a[j+1]=a[j];a[j]=t;}i=0;k=0;for(j=m-1;j>=i;j--)if(a[i]==a[j]){b[k]=i;c[k]=j-i+1;i=j+1;k=k+1;j=m;}for(i=0;i<k-1;i++)for(j=0;j<k-i-1;j++)if(c[j]>c[j+1]){t=c[j];c[j]=c[j+1];c[j+1]=t;t=b[j];b[j]=b[j+1];b[j+1]=t;}for(i=0;i<=k-1;i++)for(j=1;j<=c[i];j++)printf("%c",a[b[i]]); printf("\n");}学生成绩管理软件代码:#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);}}。

相关文档
最新文档