| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 391 人关注过本帖
标题:急!!我该怎么修改才能实现修改和查询文件?
只看楼主 加入收藏
a82674599
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-7-1
收藏
 问题点数:0 回复次数:0 
急!!我该怎么修改才能实现修改和查询文件?

这是我编的一个C程序,实现建立一个学生成绩管理系统,能生成文件,并能显示,查询,修改文件中的信息,但我只能实现录入信息和显示信息.修改和查询功能都不能实现.有谁能教我吗?后天就要交了,谢谢各位了!
#include<time.h>
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#define n 80
void input();
void display();
void modify();
void search();
int a=0;
main()
{
int code;
int as;
start: printf("\t\t\t欢迎使用学生成绩管理系统\n\n");
//一下为功能选择模块
printf("请输入密码code:");
scanf("%d",&code);
if(code==12345)
{
printf("\n\t\t\t\t1.录入学员信息\n\t\t\t\t2.显示学员信息\n\t\t\t\t3.修改学生信息\n\t\t\t\t4.查询学员信息\n\t\t\t\t5.删除学员信息\n\t\t\t\t6.退出\n");
printf("\t\t\t\t选择功能选项:");
fflush(stdin);
scanf("%d",&as);
switch(as)
{

case 1:
system("cls");
input();
break;
case 2:
system("cls");
display();
break;
/*case 3:
modify();
system("cls");
break;*/
case 4:
system("cls");
search();
break;
}
}else printf("输入密码错误!\n");
}


void input()
{

FILE *fp;
int i=1;char ch;
struct student_type
{
char name[10];
int num;
int age;
int math;
int English;
int physics;
}stud[n];
printf("输入 姓名 学号 年龄 数学 英语 物理\n");
do{
printf("\t\t\t\t1.录入学员信息\n输入第%d个学员的信息\n",i++);
printf("输入学生姓名:\n");
fflush(stdin);
gets(stud[i].name);
printf("输入学生学号:\n");
fflush(stdin);
scanf("%d",&stud[i].num);

printf("输入学生年龄:\n");
scanf("%d",&stud[i].age);
fflush(stdin);
printf("输入数学成绩:\n");
fflush(stdin);
scanf("%d",&stud[i].math);

printf("输入英语成绩:\n");
fflush(stdin);
scanf("%d",&stud[i].English);

printf("输入物理成绩:\n");
fflush(stdin);
scanf("%d",&stud[i].physics);
printf("是否继续y,n:");
fflush(stdin);
ch=getchar();
a++;
}while(ch=='y'||ch=='Y');
if((fp=fopen("stu_list","wb"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
fwrite(&stud[i],sizeof(struct student_type),1,fp);
fclose(fp);
}

void display()
{
int i;

FILE*fp;
fp=fopen("stu_list","rb");
struct student_type
{
char name[10];
int num;
int age;
int math;
int English;
int physics;
}stud[n];
for(i=0;i<=a;i++)
{fread(&stud[i],sizeof(struct student_type),1,fp);
printf("%-10s %4d %4d %4d %4d %4d\n",stud[i].name,stud[i].num,stud[i].age,stud[i].math,stud[i].English,stud[i].physics);
fclose(fp);}
}
void modify()
{
int i;
char newname[10];
struct student_type
{
char name[10];
int num;
int age;
int math;
int English;
int physics;
}stud[n];
printf("\t\t\t\t修改学生信息\t\t\t\t");
printf("\n输入要修改学生的姓名newname:");
fflush(stdin);
gets(newname);
if(strcmp(stud[i].name,newname)==0)
{
system("cls");
printf("\t\t\t\t输入新信息\t\t\t\t");
printf("输入数学成绩:\n");
fflush(stdin);
scanf("%d",&stud[i].math);
printf("\n输入英语成绩:\n");
fflush(stdin);
scanf("%d",&stud[i].English);
printf("\n输入物理成绩:\n");
fflush(stdin);
scanf("%d",&stud[i].physics);

}

}
void search()
{
int i,c;

struct student_type
{
char name[10];
int num;
int age;
int math;
int English;
int physics;
} stud[n];
FILE *fp;
printf("\t\t\t\t查询学生信息\t\t\t\t\n");

fp=fopen("stu_list","r");
printf("输入要查询学生的姓名newname");
fflush(stdin);
scanf("%d",c);
for(i=0;i<a;i++)
if(c==stud[i].num)
{
printf("\t姓名\t学号\t年龄\t数学成绩\t英语成绩\t物理成绩\t\n");
printf("\t%s\t%d\t%d\t%d\t%d\t%d\t\n",stud[i].name,stud[i].num,stud[i].age,stud[i].math,stud[i].English,stud[i].physics);
}

}

搜索更多相关主题的帖子: 文件 查询 
2007-09-11 18:51
快速回复:急!!我该怎么修改才能实现修改和查询文件?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018969 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved