主题:求大神。。
各位大神啊,帮小弟看个程序呗?
学校作业,很急很急,在线等!!!
要求:加一个修改已录入信息的函数!!!!!!!!!!!!!!!!!!!!
#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();
}
学校作业,很急很急,在线等!!!
要求:加一个修改已录入信息的函数!!!!!!!!!!!!!!!!!!!!
#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();
}