回 帖 发 新 帖 刷新版面

主题:求大神。。

各位大神啊,帮小弟看个程序呗?
学校作业,很急很急,在线等!!!
要求:加一个修改已录入信息的函数!!!!!!!!!!!!!!!!!!!!

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 3
struct subject
{
 char name[10];
 int number;
 char xz[10];
};
void a()
{
 system("color 69");
 FILE *fp;
 struct subject sub[N];
 for(int i=0;i<N;i++)
 {
  system("cls");
  printf("\n\n\n\n\t\t请输入课程名称:");
  scanf("%s",&sub[i].name);
  printf("\n\n\n\n\t\t请输入课程编号:");
  scanf("%10d",&sub[i].number);
  printf("\n\n\n\n\t\t请输入课程性质:");
  scanf("%s",&sub[i].xz);
  system("cls");
 }
 fp=fopen("abcde","wb");
 for(int j=0;j<N;j++)
    fwrite(&sub[j],sizeof(struct subject),1,fp);
 fclose(fp);
}
void b()
{
 FILE *fp;
    struct subject sub[N];
 int f;
 fp=fopen("abcde","rb");
 for(f=0;f<N;f++)
 {
  fread(&sub[f],sizeof(struct subject),1,fp);
  printf("\n\n\n\t\t%5s\t\t%8d\t\t%8s\n",sub[f].name,sub[f].number,sub[f].xz);
 }
 fclose(fp);
}
void c()
{ system("color 9D");char b;
 printf("\n\n\n\t\t※※※※※※※※※※※※※※※※※※※※※※※※※\n");
 printf("\t\t※                                              ※\n"); 
 printf("\t\t※                                              ※\n");
 printf("\t\t※                                              ※\n");   
 printf("\t\t※                                              ※\n");
 printf("\t\t※            欢迎使用学生选修课程系统          ※\n");
 printf("\t\t※                                              ※\n");
 printf("\t\t※                                              ※\n");
 printf("\t\t※     西安理工大学        吴广                ※\n");
 printf("\t\t※                                              ※\n");
 printf("\t\t※                                              ※\n");
 printf("\t\t※                                              ※\n");
 printf("\t\t※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n\n");
 printf("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
    printf("                                 请按ENTER键继续\n");
 scanf("%c",&b);
  if(b=='\n') system("cls"); system("color 1b");
}
void d()
{
 printf("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t请先录入课程信息(y/n)\n");
    char i;
 scanf("%c",&i);
 if(i=='y') a();
 else if (i=='n')  
 {
  printf("系统中无所需信息\n");
  char j;
  scanf("%c",&j);
  if (j=='\n') d();
 }
}
void f()
{char j[10];
 printf("请输入所查课程名称:");
 scanf("%s",&j);
 FILE *fp;
    struct subject sub[N];
 int z,count=0;
 fp=fopen("abcde","rb");
 for(z=0;z<N;z++)
 {
  fread(&sub[z],sizeof(struct subject),1,fp);
  if(strcmp(j,sub[z].name)==0) {printf("%-10s%10d%10s\n\n\n",sub[z].name,sub[z].number,sub[z].xz);count+=1;};
 }
 if (count==0) {printf("\n您所输入的信息有误,请重新输入\n\n");f();};
 fclose(fp);
}
void g()

        int j;
 printf("请输入所查课程编号:");
 scanf("%d",&j);
 FILE *fp;
    struct subject sub[N];
 int f,count=0;
 fp=fopen("abcde","rb");
 for(f=0;f<N;f++)
 {
  fread(&sub[f],sizeof(struct subject),1,fp);
  if(j==sub[f].number) {printf("%-10s%10d%10s\n\n\n",sub[f].name,sub[f].number,sub[f].xz);count+=1;};
 }
 if (count==0) {printf("\n您所输入的信息有误,请重新输入\n\n");g();};
 fclose(fp);
}
void h()
{
 char j[10];
 printf("请输入所查课程性质:");
 scanf("%s",&j);
 FILE *fp;
    struct subject sub[N];
 int f,count=0;
 fp=fopen("abcde","rb");
 for(f=0;f<N;f++)
 {   
  fread(&sub[f],sizeof(struct subject),1,fp);
  if(strcmp(j,sub[f].xz)==0) {printf("%-10s%10d%10s\n\n\n",sub[f].name,sub[f].number,sub[f].xz);count+=1;};
 }
 if (count==0) {printf("\n您所输入的信息有误,请重新输入\n\n");h();};
 fclose(fp);
}
void i()
{
 printf("\n\n\n\n\n\n\n\n\t\t\t\t\t请按enter键继续\n");
 char p;
 scanf("%c",&p);
 if (p=='\n') { system("cls");printf("请根据提示查询课程有关信息:\n\n\n\t\t\t\t1:根据课程名称查询.\n\n\n\t\t\t\t2:根据课程编号查询.\n\n\n\t\t\t\t3:根据课程性质查询.\n\n\n\t\t\t请输入所对应数字:");}
 int i;
 scanf("%d",&i);
 if (i==1) f();
 else if (i==2) g();
 else if (i==3) h();
 else printf("输入有误!");
}
void e()

 char j;
 scanf("%c",&j);
 if(j=='\n') printf("是否查看所录入信息y/n\n");
 char w;
 scanf("%c",&w);
 system("cls");
 if (w=='y') 
 {
  b();
  char k;
  scanf("%c",&k);
  if(k=='\n') i();
 }
 else if (w=='n') i();
}
void j()
{
 char j;
 scanf("%c",&j);
 if(j=='\n') printf("是否需要修改所录入的信息y/n\n:");
 char k;
 scanf("%c",&k);
 if(k=='y') printf("hehe");
 else if (k=='n') printf("hello");
}
void n()
{   void m();
 printf("\n\n\n\t\t1.查看所录入的全部信息\n\n\n\t\t2.查询课程信息\n\n\n\t\t3.修改课程信息\n\n");
 printf("\t\t\t请选择:");
 int z;
 scanf("%d",&z);
 if(z==1) {b();printf("按Enter键返回主菜单");char z;scanf("%c",&z);if(z=='y') n();else n();}
 else if (z==2) {i();m();}
 else if (z==3) j();
    else {system("cls");printf("\t\t\t您的输入有误,请重新输入:\n\n");n();}
}
void l()
{   void m();
 printf("\n\n\n\t\t1.继续查询\n\n\n\t\t2.返回主菜单\n\n");
 printf("\t\t\t请选择:");
 int z;
 scanf("%d",&z);
 if (z==1) i();
 else if (z==2) n();
 else {system("cls");printf("\t\t\t您的输入有误,请重新输入:\n\n");l();}
 m();
}
void m()
{
 l();i();
}
void main()
{
 c();
 d();
 n();
}

回复列表 (共1个回复)

沙发

你这程序写的,没注释,函数名也看不出是做什么的,可读性太差了,看起来都费劲,难怪没人废神回答你呢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册