#include<stdio.h>
#include<stdlib.h>
#include<string.h>
double a,b,c,d;
int ns=0,nt=0,nst=0;
struct std_title
{
int num;
int t_num;
int time;
int score;
}st[50];
struct std
{
int num;
char name[20];
char sex;
int cla;
int tel;
}s[50];
struct title
{
int t_num;
char t_name[20];
char kind;
char teacher[20];
}ti[50];
struct score
{
int num;
int sc;
}sc[50];
int cmp(const void *a,const void *b)
{
return ((struct score *)a)->sc < ((struct score *)b)->sc ? 1:-1;
}
void Add()
{
FILE *fp;
fp=fopen("d:\\test.txt","w");
int t;
printf("请选择您要增添的信息类别:1->毕业设计基本信息 2->学生选题基本信息 3->学生基本信息\n");
scanf("%d",&t);
if(t==1)
{
printf("请输入您要增添的毕业设计的题目编号\n");
scanf("%d",&ti[nt].t_num);
fprintf(fp,"%d",ti[nt].t_num);
printf("请输入您要增添的毕业设计的题目名称\n");
scanf("%s",&ti[nt].t_name);
fprintf(fp,"%s",ti[nt].t_name);
getchar();
printf("请输入您要增添的毕业设计的题目类别\n");
scanf("%c",&ti[nt].kind);
fprintf(fp,"%c",ti[nt].kind);
printf("请输入您要增添的毕业设计的指导老师\n");
scanf("%s",&ti[nt].teacher);
fprintf(fp,"%s",ti[nt++].teacher);
}
else if(t==2)
{
printf("请输入您要增添的学生选题的题目编号\n");
scanf("%d",&st[nst].t_num);
fprintf(fp,"%d",st[nst].t_num);
printf("请输入您要增添的学生选题的学生学号\n");
scanf("%d",&st[nst].num);
fprintf(fp,"%d",st[nst].num);
printf("请输入您要增添的学生选题的选题时间\n");
scanf("%d",&st[nst].time);
fprintf(fp,"%d",st[nst].time);
printf("请输入您要增添的学生选题的成绩\n");
scanf("%d",&st[nst].score);
fprintf(fp,"%d",st[nst++].score);
}
else if(t==3)
{
printf("请输入您要增添的学生学号\n");
scanf("%d",&s[ns].num);
fprintf(fp,"%d",s[ns].num);
printf("请输入您要增添的学生姓名\n");
scanf("%s",&s[ns].name);
fprintf(fp,"%s",s[ns].name);
printf("请输入您要增添的学生性别\n");
scanf("%c",&s[ns].sex);
fprintf(fp,"%c",s[ns].sex);
printf("请输入您要增添的学生班级\n");
scanf("%d",&s[ns].cla);
fprintf(fp,"%d",s[ns].cla);
printf("请输入您要增添的学生电话\n");
scanf("%d",&s[ns].tel);
fprintf(fp,"%d",s[ns++].tel);
}
fclose(fp);
printf("信息录入完成!\n");
}
void Change()
{
int i,t,t1,num,t_num;
printf("请选择您要修改的信息类别:1->毕业设计基本信息 2->学生选题基本信息 3->学生基本信息\n");
scanf("%d",&t);
if(t==1)
{
printf("请输入您要修改的毕业设计的题目编号\n");
scanf("%d",&t_num);
for(i=0;i<nt;i++)
{
if(ti[i].t_num==t_num)
{
printf("请选择您要修改的信息类别:1->题目名称 2->题目类别 3->指导老师\n");
scanf("%d",&t1);
if(t1==1)
{
printf("请输入修改后的毕业设计的题目名称\n");
scanf("%s",&ti[i].t_name);
}
else if(t1==2)
{
printf("请输入您要增添的毕业设计的题目类别\n");
scanf("%c",&ti[i].kind);
}
else
{
printf("请输入您要增添的毕业设计的指导老师\n");
scanf("%s",&ti[i].teacher);
}
}
}
}
else if(t==2)
{
printf("请输入您要修改的学生选题的题目编号\n");
scanf("%d",&t_num);
for(i=0;i<nst;i++)
{
if(st[i].t_num==t_num)
{
printf("请选择您要修改的信息类别:1->选题时间 2->成绩\n");
scanf("%d",t1);
if(t1==1)
{
printf("请输入修改后的选题时间\n");
scanf("%d",&st[i].time);
}
else if(t1==2)
{
printf("请输入修改后的成绩\n");
scanf("%d",&st[i].score);
}
}
}
}
else
{
printf("请输入您要修改的学生信息的学号\n");
scanf("%d",&num);
for(i=0;i<ns;i++)
{
if(s[i].num==num)
{
printf("请选择您要修改的信息类别:1->学生姓名 2->性别 3->班级 4->电话号码\n");
scanf("%d",&t1);
if(t1==1)
{
printf("请输入修改后的学生姓名\n");
scanf("%s",&s[i].name);
}
else if(t1==2)
{
printf("请输入修改后学生性别\n");
scanf("%c",&s[i].sex);
}
else if(t1==3)
{
printf("请输入修改后的学生班级\n");
scanf("%s",&s[i].cla);
}
else
{
printf("请输入修改后的学生号码\n");
scanf("%d",&s[i].tel);
}
}
}
}
printf("信息修改完成!\n");
}
void Search()
{
int i,j,ii=0,t,num,t_num,cla,count=0;
char c[10];
printf("请输入想要查找的方式:1->学生学号 2->指导老师 3->专业班级\n");
scanf("%d",&t);
if(t==1)
{
printf("请输入想要查找的学生学号:\n");
scanf("%d",&num);
for(i=0;i<nst;i++)
{
if(st[i].num==num)
{
printf("学号为%d的学生的成绩为:%d\n",num,st[i].score);
break;
}
}
}
else if(t==2)
{
printf("请输入想要查找的指导老师:\n");
scanf("%s",c);
for(i=0;i<nt;i++)
{
if(strcmp(ti[i].teacher,c)==0)
{
t_num=ti[i].t_num;
for(j=0;j<nst;j++)
{
if(st[j].t_num==t_num)
{
sc[ii].num=st[j].num;
sc[ii++].sc=st[j].score;
}
}
qsort(sc,ii,sizeof(sc[0]),cmp);
printf("按成绩排序后的结果为:\n");
for(j=0;j<ii;j++)
printf("学号为%d的学生的成绩为:%d\n",sc[j].num,sc[j].sc);
}
}
}
else
{
printf("请输入想要查找的专业班级:\n");
scanf("%d",&cla);
for(i=0;i<ns;i++)
{
if(s[i].cla==cla)
{
num=s[i].num;
for(j=0;j<nst;j++)
{
if(st[j].num==num)
{
sc[ii].num=st[j].num;
sc[ii++].sc=st[j].score;
if(st[i].score<60)
count++;
}
}
}
}
printf("%d班的补几个学生人数为:%d\n",cla,count);
qsort(sc,ii,sizeof(sc[0]),cmp);
printf("按成绩排序后的结果为:\n");
for(j=0;j<ii;j++)
printf("学号为%d的学生的成绩为:%d\n",sc[j].num,sc[j].sc);
}
}
void Delete()
{
int i,j,t,t1,num,t_num;
printf("请选择您要删除的信息类别:1->毕业设计基本信息 2->学生选题基本信息 3->学生基本信息\n");
scanf("%d",&t);
if(t==1)
{
printf("请输入您要删除的毕业设计的题目编号\n");
scanf("%d",&t_num);
for(i=0;i<nt;i++)
{
if(ti[i].t_num==t_num)
{
for(j=i+1;j<nt;j++)
{
ti[j-1].kind=ti[j].kind;
ti[j-1].t_num=ti[j].t_num;
strcpy(ti[j-1].teacher,ti[j].teacher);
strcpy(ti[j-1].t_name,ti[j].t_name);
}
}
}
}
else if(t==2)
{
printf("请输入您要删除的学生选题的题目编号\n");
scanf("%d",&t_num);
for(i=0;i<nst;i++)
{
if(st[i].t_num==t_num)
{
for(j=i+1;j<nt;j++)
{
st[j-1].num=st[j].num;
st[j-1].t_num=st[j].t_num;
st[j-1].num=st[j].num;
st[j-1].score=st[j].score;
}
}
}
}
else
{
printf("请输入您要删除的学生学号\n");
scanf("%d",&num);
for(i=0;i<ns;i++)
{
if(s[i].num==num)
{
for(j=i+1;j<nt;j++)
{
s[j-1].num=s[j].num;
s[j-1].cla=s[j].cla;
s[j-1].sex=s[j].sex;
s[j-1].tel=s[j].tel;
strcpy(s[j-1].name,s[j].name);
}
}
}
}
printf("信息删除完成!\n");
}
int main()
{
int t,flag=1;
printf("\n\t ******************************************************");
printf("\n $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
printf("\n ★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("\n\t 成都信息工程大学\n\n");
printf("\n\t 毕业设计管理系统欢迎您!\n\n");
printf("\n 请选择您要进入的功能 \n\n");
printf(" 1.增添信息。\n\n");
printf(" 2.修改信息。\n\n");
printf(" 3.查询信息。\n\n");
printf(" 4.删除信息。\n\n");
printf(" 5.退出系统\n\n");
printf(" 请您选择: ");
printf("\n\n ★★★★★★★★★★★★★★★★★★★★★★★★★★★");
printf("\n $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
printf("\n\t ******************************************************\n");
while(flag)
{
printf(" 请您选择对应功能: ");
scanf("%d",&t);
switch(t)
{
case 1:Add();break;
case 2:Change();break;
case 3:Search();break;
case 4:Delete();break;
case 5:flag=0;break;
}
}
return 0;
}
相关分类