为了账号安全,请及时绑定邮箱和手机立即绑定

c语言。帮我看看这个代码的错误,还有能不能改的更简单一点儿

c语言。帮我看看这个代码的错误,还有能不能改的更简单一点儿

C
_MaviBleu_0 2015-07-15 15:07:32
#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;      }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1904 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号