当前位置:首页 大学排名 教务处信息管理系统c语言

教务处信息管理系统c语言

发布时间:2023-03-11 14:01:19

#include<stdio.h>

#include<stdlib.h>

教务处信息管理系统c语言

#include<conio.h>

#include<dos.h>

#include<string.h>

#define LEN sizeof(struct student)

#define FORMAT "%-8d%-15s%-12.1lf%-12.1lf%-12.1lf%-12.1lfn"

#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

  case 8: show()break

     default:break

   }

  getch()

  menu()

  scanf("%d",&n)

}

}

void in()

{ int i,m=0

char ch[2]

FILE *fp

if((fp=fopen("data.txt","a+"))==NULL)

{

 printf("can not openn")

 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()

}

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

{

 printf("can not openn")

 return

}

for(i=0i<mi++)

 fwrite(&stu[i] ,LEN,1,fp)

printf("please input(y/n):")

scanf("%s",ch)

while(strcmp(ch,"Y")==0||strcmp(ch,"y")==0)

{

  printf("number:")

scanf("%d",&stu[m].num)

  for(i=0i<mi++)

   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    sumtn")

 for(i=0i<mi++)

     {

  printf(FORMAT,DATA)

     }

   }

void menu()

{

system("cls")

printf("nnnnn")

printf("tt|---------------------STUDENT-------------------|n")

printf("tt|t 0. exit                                |n")

printf("tt|t 1. input record                        |n")

printf("tt|t 2. search record                       |n")

printf("tt|t 3. delete record                       |n")

printf("tt|t 4. modify record                       |n")

printf("tt|t 5. insert record                       |n")

printf("tt|t 6. order                               |n")

printf("tt|t 7. number                              |n")

printf("tt|t 8. show                                |n")

printf("tt|-----------------------------------------------|nn")

printf("tttchoose(0-8):")

}

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 openn")

 return}

for(i=0i<m-1i++)

    for(j=i+1j<mj++)

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

        { t=stu[i]stu[i]=stu[j]stu[j]=t}

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

   { printf("can not openn")return}

for(i=0i<mi++)

    if(fwrite(&stu[i] ,LEN,1,fp)!=1)

     {

      printf("%s can not save!n")

      getch()

    }

fclose(fp)

printf("save successfullyn")

}

void del()

{FILE *fp

int snum,i,j,m=0

char ch[2]

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

   { printf("can not openn")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=0i<mi++)

   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=ij<mj++)

     stu[j]=stu[j+1]

    m--

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

   { printf("can not openn")return}

for(j=0j<mj++)

    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 openn")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=0i<mi++)

   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    sumtn")

        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 openn")return}

while(!feof(fp))

if(fread(&stu[m],LEN,1,fp)==1) m++

if(m==0) {printf("no record!n")

fclose(fp)

return

}

show()

printf("please input the number of the student which do you want to modify!n")

printf("modify number:")

scanf("%d",&snum)

for(i=0i<mi++)

 if(snum==stu[i].num)

 break

 printf("find the student!you can modify!n")

 printf("name:")

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

        printf("elective:")

 scanf("%lf",&stu[i].elec)

        printf("experiment:")

 scanf("%lf",&stu[i].expe)

        printf("required course:")

 scanf("%lf",&stu[i].requ)

 printf("modify successful!")

 stu[i].sum=stu[i].elec+stu[i].expe+stu[i].requ

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

   { printf("can not openn")return}

 for(j=0j<mj++)

 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 openn")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=0i<mi++)

 if(snum==stu[i].num)

 break

 for(j=m-1j>ij--)

         stu[j+1]=stu[j]

 printf("now please input the new information.n")

        printf("number:")

 scanf("%d",&stu[i+1].num)

 for(k=0k<mk++)

   if(stu[k].num==stu[i+1].num)

   {

   printf("the number is existing,press any to continue!")

   getch()

   fclose(fp)

   return

   }

 printf("name:")

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

        printf("elective:")

 scanf("%lf",&stu[i+1].elec)

        printf("experiment:")

 scanf("%lf",&stu[i+1].expe)

        printf("required 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 openn")return}

 for(k=0k<=mk++)

 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 openn")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)

}

如何用C语言编写学生信息管理系统

#include <stdio.h>

struct Student

{

int num

char name[20]

float score[3]

float avg

}stus[30]

void Add()//填加学员

void List()//学员详细列表

void Asc()//显示后三名学员

void Desc()//显示前三名学员

void Display()

void main()

{

int s

while(1)

{

printf("学员管理系统:n")

printf("1、增加学员n")

printf("2、学员详细列表n")

printf("3、显示前三名n")

printf("4、显示后三名n")

printf("5、显示平均成绩n")

printf("6、退出n")

printf("请选择:")

scanf("%d",&s)

switch(s)

{

case 1:

Add()

break

case 2:

List()

break

case 3:

Desc()

Display()

break

case 4:

Asc()

Display()

break

case 5:

Display()

break

case 6:

return

break

default:

printf("选择错误!n")

break

}

}

}

void Add()

{

int i,k

float sum

char c

for(i=0i<30i++)

{

printf("请输入第%d个学员信息:n",i+1)

printf("学号:")

scanf("%d",&stus[i].num)

printf("姓名:")

fflush(stdin)

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

printf("请输入三门课的成绩:n")

sum=0

for(k=0k<3k++)

{

printf("%d:",k+1)

scanf("%f",&stus[i].score[k])

sum+=stus[i].score[k]

}

stus[i].avg=sum/3

printf("是否继续?")

fflush(stdin)

scanf("%c",&c)

if(c=='n' || c=='N')

return

}

}

void List()

{

int i,j=0

printf("学号t姓名t成绩1t成绩2t成绩3t平均n")

for(i=0i<30i++)

{

if(stus[i].num!=0)

{

printf("%dt%st%.2ft%.2ft%.2ft%.2fn",stus[i].num,stus[i].name,stus[i].score[0],stus[i].score[1],stus[i].score[2],stus[i].avg)

}

}

}

void Asc()

{

int i,j

struct Student c

for(i=0i<30i++)

{ for(j=0j<29-ij++)

if(stus[j].avg<stus[j+1].avg)

{

c=stus[j]

stus[j]=stus[j+1]

stus[j+1]=c

}

}

}

void Desc()

{

int i,j

struct Student c

for(i=0i<30i++)

{ for(j=0j<29-ij++)

if(stus[j].avg>stus[j+1].avg)

{

c=stus[j]

stus[j]=stus[j+1]

stus[j+1]=c

}

}

}

void Display()

{

int i,d=0

printf("学号t姓名t平均n")

for(i=0i<30i++)

{

if(stus[i].num!=0)

{

printf("%dt%st%.2fn",stus[i].num,stus[i].name,stus[i].avg)

d++

}

if(d==3)

break

}

}

看看我写的这个!

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

参考如下学生信息管理系统的C源代码吧。

#include <stdio.h>

#include <string.h>

struct Student

{

     char ID[20]

     char Name[20]

     float Mark1

     float Mark2

     float Mark3

     float Average

}

struct Student students[1000]

int num=0

float Avg(struct Student stu)

{

     return (stu.Mark1+stu.Mark2+stu.Mark3)/3

}

int Student_SearchByIndex(char id[])

{

     int i

     for (i=0i<numi++)

     {

         if (strcmp(students[i].ID,id)==0)

         {

              return i

         }

     }

     return -1

}

int Student_SearchByName(char name[])

{

     int i

     for (i=0i<numi++)

     {

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

         {

              return i

         }

     }

     return -1

}

void Student_DisplaySingle(int index)

{

     printf("%10s%10s%8s%8s%8s%10sn","学号","姓名","成绩","成绩","成绩","平均成绩")

     printf("-------------------------------------------------------------n")

     printf("%10s%10s%8.2f%8.2f%8.2f%10.2fn",students[index].ID,students[index].Name,

              students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Average)

}

void Student_Insert()

{

     while(1)

     {

         printf("请输入学号:")

         scanf("%s",&students[num].ID)

         getchar()

         printf("请输入姓名:")

         scanf("%s",&students[num].Name)

         getchar()

         printf("请输入成绩:")

         scanf("%f",&students[num].Mark1)

         getchar()

         printf("请输入成绩:")

         scanf("%f",&students[num].Mark2)

         getchar()

         printf("请输入成绩:")

         scanf("%f",&students[num].Mark3)

         getchar()

         students[num].Average=Avg(students[num])

         num++

         printf("是否继续?(y/n)")

         if (getchar()=='n')

         {

              break

         }

     }

}

void Student_Modify()

{

     //float mark1,mark2,mark3

     while(1)

     {

         char id[20]

         int index

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

         scanf("%s",&id)

         getchar()

         index=Student_SearchByIndex(id)

         if (index==-1)

         {

              printf("学生不存在!n")

         }

         else

         {

              printf("你要修改的学生信息为:n")

              Student_DisplaySingle(index)

              printf("-- 请输入新值--n")

              printf("请输入学号:")

              scanf("%s",&students[index].ID)

              getchar()

              printf("请输入姓名:")

              scanf("%s",&students[index].Name)

              getchar()

              printf("请输入成绩:")

              scanf("%f",&students[index].Mark1)

              getchar()

              printf("请输入成绩:")

              scanf("%f",&students[index].Mark2)

              getchar()

              printf("请输入成绩:")

              scanf("%f",&students[index].Mark3)

              getchar()

              students[index].Average=Avg(students[index])

         }

         printf("是否继续?(y/n)")

         if (getchar()=='n')

         {

              break

         }

     }

}

void Student_Delete()

{

教务处信息管理系统c语言

     int i

     while(1)

     {

         char id[20]

         int index

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

         scanf("%s",&id)

         getchar()

         index=Student_SearchByIndex(id)

         if (index==-1)

         {

              printf("学生不存在!n")

         }

         else

         {

              printf("你要删除的学生信息为:n")

              Student_DisplaySingle(index)

              printf("是否真的要删除?(y/n)")

              if (getchar()=='y')

              {

                   for (i=indexi<num-1i++)

                   {

                       students[i]=students[i+1]//把后边的对象都向前移动

                   }

                   num--

              }

              getchar()

         }

         printf("是否继续?(y/n)")

         if (getchar()=='n')

         {

              break

         }

     }

}

void Student_Select()

{

     while(1)

     {

         char name[20]

         int index

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

         scanf("%s",&name)

         getchar()

         index=Student_SearchByName(name)

         if (index==-1)

         {

              printf("学生不存在!n")

         }

         else

         {

              printf("你要查询的学生信息为:n")

              Student_DisplaySingle(index)

         }

         printf("是否继续?(y/n)")

         if (getchar()=='n')

         {

              break

         }

     }

}

void Student_SortByAverage()

{

     int i,j

     struct Student tmp

     for (i=0i<numi++)

     {

         for (j=1j<num-ij++)

         {

              if (students[j-1].Average<students[j].Average)

              {

                   tmp=students[j-1]

                   students[j-1]=students[j]

                   students[j]=tmp

              }

         }

     }

}

void Student_Display()

{

     int i

     printf("%10s%10s%8s%8s%8s%10sn","学号","姓名","成绩","成绩","成绩","平均成绩")

     printf("-------------------------------------------------------------n")

     for (i=0i<numi++)

     {

         printf("%10s%10s%8.2f%8.2f%8.2f%10.2fn",students[i].ID,students[i].Name,

              students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Average)

     }

}

void IO_ReadInfo()

{

     FILE *fp

     int i

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

     {

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

         return

     }

     if (fread(&num,sizeof(int),1,fp)!=1)

     {

         num=-1

     }

     else

     {

         for(i=0i<numi++)

         {

              fread(&students[i],sizeof(struct Student),1,fp)

         }

     }

     fclose(fp)

}

void IO_WriteInfo()

{

     FILE *fp

     int i

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

     {

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

         return

     }

     if (fwrite(&num,sizeof(int),1,fp)!=1)

     {

         printf("写入文件错误!n")

     }

     for (i=0i<numi++)

     {

         if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1)

         {

              printf("写入文件错误!n")

         }

     }    

     fclose(fp)

}

void main()

{

     int choice

     IO_ReadInfo()

     while(1)

     {

         

         printf("n------ 学生成绩管理系统------n")

         printf("1. 增加学生记录n")

         printf("2. 修改学生记录n")

         printf("3. 删除学生记录n")

         printf("4. 按姓名查询学生记录n")

         printf("5. 按平均成绩排序n")

         printf("6. 退出n")

         printf("请选择(1-6):")

         scanf("%d",&choice)

         getchar()

         switch(choice)

         {

         case 1:

              Student_Insert()

              break

         case 2:

              Student_Modify()

              break

         case 3:

              Student_Delete()

              break

         case 4:

              Student_Select()

              break

         case 5:

              Student_SortByAverage()

              Student_Display()

              break

         case 6:

              exit(0)

              break

         }

         IO_WriteInfo()

     }

}

//modify

#include<stdio.h>

#include<string.h>

#include<conio.h>

#include<stdlib.h>

#include<time.h>

#define N 100

typedef struct student

{

int num//学号,姓名,年龄,性别,出生年月,地址,电话,

char name[18]

char sex

int age

int y,m

int tel

char add[30]

char mail[20]

int res

int stu

} SDate

int PassWord()

void Menu()

int Input_Choice()//函数声明

void Info_Paixu(SDate *student,int n)

void Info_print(SDate *stu,int n)

int Input_file(SDate *stu1)

int Info_Input(SDate *stu,int count)

void Info_Seach(SDate *stu,int n)

void Info_Change(SDate *stu,int n,int Num)

void Exit()

void Print_file(SDate *stu,int n)

int Info_Del(SDate *stu, int n, int del)

void Info_Change(SDate *stu, int res, int choice)

int Info_Add(SDate *stu, int count)

int main()

{

SDate stu[N]

int ret=0,res=0,choice=0

char ch

loop:

ret=PassWord()//登录函数 默认密码为admin

if(!ret)

{

system("cls")

printf("ntt密码错误或验证码错误!n")//默认密码:admin

system("pause")

system("cls")

goto loop

}

system("cls")

e:

Menu()//菜单显示函数

printf("你的选择是?n")

scanf("%d",&ret)

switch(ret)

{

case 1:

choice=Input_Choice()//InputChoice()数据输入方式选择函数

if(choice==1)

res=Info_Input(stu,res)//键盘输入函数

else if(choice==2)

res=Input_file(stu)//文件读取函数

else

{

system("cls")

goto e

}

break

case 2:

if(res==0)

{

system("cls")

printf("没有数据输入,请重新选择!n")

goto e

}

else

Info_print(stu,res)

break

case 3:

if(res==0||res==1)

{

system("cls")

printf("没有需要排序数据,请重新选择!n")

goto e

}

else

Info_Paixu(stu,res)

break

case 4:

Info_Seach(stu,res)

break

case 5:

res=Info_Add(stu,res)

break

case 6:

Info_print(stu,res)

printf("输入学号进行删除:")

scanf("%d",&choice)

res=Info_Del(stu, res, choice)

break

case 7:

printf("请输入需要修改的学号:")

scanf("%d",&choice)

Info_Change(stu,res,choice)

break

case 8:

Print_file(stu, res)

break

case 9:

Exit()

break

default :

printf("您的选泽有误!n")

}

getchar()

printf("返回主菜单重新选择y/n?")

scanf("%c",&ch)

if(ch=='Y'||ch=='y')

{

system("cls")

goto e

}

return 0

}

int yanzheng() //验证码模块

{

int a,b,c,d

srand((unsigned)time(NULL))

a=rand()%100

b=rand()%100

c=a+b

printf("nt **************************n")

printf("tt验证码: %d+%d=?n",a,b)

printf("tt 答案为:")

scanf("%d",&d)

if(c==d)

return 1

else

return 0

}

int PassWord() //登录模块

{

int i=0

char passWord[18]

char p[]="admin"//默认密码设置

char ch

printf("t 欢迎使用学生信息管理系统n")

printf("n")

printf("tt用户名:Adminn")

printf("n")

printf("tt密码:")

while((ch=getch())!=13)

{

putchar('*')

passWord[i]=ch

i++

}

passWord[i]='0'

if(strcmp(p,passWord)==0)

yanzheng()

else

return 0

}

void Menu() //菜单模块

{

printf("t 欢迎使用学生信息管理系统n")

printf("n*******************************************n")

printf("** tt1、学生信息录入tt **n")

printf("** tt2、学生信息浏览tt **n")

printf("** tt3、学生信息排序tt **n")

printf("** tt4、学生信息查找tt **n")

printf("** tt5、学生信息添加tt **n")

printf("** tt6、学生信息删除tt **n")

printf("** tt7、学生信息修改tt **n")

printf("** tt8、学生信息保存tt **n")

printf("**tt9、退出ttt **n")

printf("*******************************************n")

}

int Input_Choice() //数据输入方式选择

{

int i

system("cls")

printf("t 欢迎使用学生信息管理系统n")

printf("tt1、键盘录入n")

printf("tt2、文件读取n")

printf("tt0、返回n")

printf("t你的选择是?")

scanf("%d",&i)

return i

}

int Info_Input(SDate *stu,int count) //信息从键盘输入模块

{

SDate *p

p=stu

system("cls")

printf("请输入第%d个学生学号(输入0结束):n",count+1)

scanf("%d",&p->num)

while(p->num!=0)

{

printf("请输入该学生姓名:n")

scanf("%s",p->name)

printf("请输入该学生年龄:n")

scanf("%d",&p->age)

getchar()

printf("请输入该学生性别:n")

scanf("%c",&p->sex)

printf("请输入该学生出生年月:n")

scanf("%d%d",&p->y,&p->m)

printf("请输入该学生住址:n")

scanf("%s",p->add)

printf("请输入该学生联系电话:n")

scanf("%d",&p->tel)

printf("请输入该学生E-Mail:n")

scanf("%s",p->mail)

count++

p++

system("cls")

printf("请输入第%d个学生学号(输入0结束):n",count)

scanf("%d",&p->num)

}

return count

}

int Input_file(SDate *stu1) //信息从文件输入模块

{

int rin=0

SDate *p

FILE *fp

p=stu1

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

printf("该文件不存在!n")

while(!feof(fp))

{

fscanf(fp,"%d %s %c %d %d %d %d %s %sn",&p->num,p->name,&p->sex,&p->age,&p->y,&p->m,&p->tel,p->add,p->mail)

p++

rin++

}

fclose(fp)

printf("文件读取成功!n")

return rin

}

void Info_print(SDate *stu,int n) //信息输出至屏幕模块

{

SDate *p

if(n==0) //学号,姓名,年龄,性别,出生年月,地址,电话,

printf("没有录入信息!n")

else

{

printf("n以下是%d个同学的信息n",n)

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

for(p=stup<stu+np++)

printf("%d %s %c %d %d-%d %d %s %sn",p->num,p->name,p->sex,p->age,p->y,p->m,p->tel,p->add,p->mail)

}

}

void Print_file(SDate *stu,int n) //信息保存至文件模块

{

FILE *fp

SDate *p

p=stu

if((fp=fopen("StuInfo.txt","a"))==NULL)

printf("文件读取失败!n")

else

{

for(p<stu+np++)

fprintf(fp,"%d %s %c %d %d %d %d %s %sn",p->num,p->name,p->sex,p->age,p->y,p->m,p->tel,p->add,p->mail)

fclose(fp)

printf("n保存成功!n")

}

}

void Info_Paixu(SDate *stu,int n) //学号排序模块

{

int i,j

SDate p

for(i=0i<n-1i++)

{

for(j=0j<n-1-ij++)

{

if((stu[j].num)>(stu[j+1].num))

{

p=stu[j]

stu[j]=stu[j+1]

stu[j+1]=p

}

}

}

printf("排序完成!n")

}

void Exit() //退出模块

{

printf("谢谢使用!n")

exit(1)

}

void Info_Seach(SDate *stu,int n) //查询模块,目前仅支持学号或姓名的精准查询

{

int num,choice

char name[10]

int flag=-1,i

system("cls")

printf("请输入查询方式:t1、学号查询nt t2、名字查询n")

printf("您的选择是?")

scanf("%d",&choice)

if(choice==1)

{

lab1:

printf("请输入需要查找的学号:n")

scanf("%d",&num)

for(i=0i<ni++)

{

if(num==stu[i].num)

{

flag=i

printf("%d %s %c %d %d-%d %d %s %sn",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].y,stu[i].m,stu[i].tel,stu[i].add,stu[i].mail)

}

}

if(flag==-1)

{

printf("未找到!请重新选择n")

printf("1、返回继续查询n2、退出查询,返回主菜单n3、退出程序你的选择是?")

scanf("%d",&choice)

if(choice==1)

{

system("cls")

goto lab1

}

if(choice==2)

goto end

else

Exit()

}

}

else if(choice==2)

{

lab2:

printf("请输入需要查找的姓名:n")

scanf("%s",name)

for(i=0i<ni++)

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

{

flag=i

printf("%d %s %c %d %d-%d %d %s %sn",stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].y,stu[i].m,stu[i].tel,stu[i].add,stu[i].mail)

}

if(flag==-1)

{

printf("您的输入有误!请重新选择n")

printf("tt1、返回继续查询ntt2、退出查询,返回主菜单ntt3、退出程序ttn你的选择是?")

scanf("%d",&choice)

if(choice==1)

{

system("cls")

goto lab2

}

if(choice==2)

goto end

else

Exit()

}

}

end:

}

void Info_Change(SDate *stu,int n,int Num) //信息修改模块

{

int i

for(i=0i<ni++)

if(stu[i].num==Num)

{

printf("请输入该学生姓名:n")

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

printf("请输入该学生年龄:n")

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

getchar()

printf("请输入该学生性别:n")

scanf("%c",&stu[i].sex)

printf("请输入该学生出生年月:n")

scanf("%d%d",&stu[i].y,&stu[i].m)

printf("请输入该学生住址:n")

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

printf("请输入该学生联系电话:n")

scanf("%d",&stu[i].tel)

printf("请输入该学生E-Mail:n")

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

printf("学号为%d的同学信息修改完成!n",Num)

}

}

int Info_Del(SDate *stu, int n, int del) //信息删除模块

{

int i,j

for(i=0i<ni++)

if(stu[i].num==del)

for(j=ij<n-1j++)

stu[j]=stu[j+1]

n--

printf("删除成功!n")

return n

}

int Info_Add(SDate *stu,int count) //信息添加模块

{

SDate *p

system("cls")

printf("当前共有%d个数据n",count+1)

p=stu+(count)

printf("请输入第%d个学生学号(输入0结束):n",count+1)

scanf("%d",&p->num)

while(p->num!=0)

{

printf("请输入该学生姓名:n")

scanf("%s",p->name)

printf("请输入该学生年龄:n")

scanf("%d",&p->age)

getchar()

printf("请输入该学生性别:n")

scanf("%c",&p->sex)

printf("请输入该学生出生年月:n")

scanf("%d%d",&p->y,&p->m)

printf("请输入该学生住址:n")

scanf("%s",p->add)

printf("请输入该学生联系电话:n")

scanf("%d",&p->tel)

printf("请输入该学生E-Mail:n")

scanf("%s",p->mail)

count++

p++

system("cls")

printf("请输入第%d个学生学号(输入0结束):n",count+1)

scanf("%d",&p->num)

教务处信息管理系统c语言

}

return count

}

以上就是关于求........: 教务处任选课管理系统C语言程序全部的内容,如果了解更多相关内容,可以关注醉学网,你们的支持是我们更新的动力!

温馨提示:
本文【教务处信息管理系统c语言】由作者 院校教务系统指导 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6