#include<stdio.h>
#include<stdlib.h>
#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)
}
#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源代码吧。
#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()
{
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)
}
return count
}
以上就是关于求........: 教务处任选课管理系统C语言程序全部的内容,如果了解更多相关内容,可以关注醉学网,你们的支持是我们更新的动力!