求C语言大神帮忙啊

hzjXY1314 2012-05-10 04:21:00
#include <stdio.h>
#include "managescore.h"
void AddRecord()
{
FILE *fp=NULL;/*定义指向文件的指针*/
student t;/*定义进行操作是存放结构体变量*/
char DataFile[40]="";/*DataFile为存储学生信息的文件名*/
int count=1,i;/*count计算可输入数据的最大范围*/


/*输入存放学生成绩信息的文件名*/
printf("\nplease input new file of score.");
printf("\nNotice :Name of file can't exceed 8 characters.suffix can't exceed 3 characters,part of exceed will be discarded.\n");
gets(DataFile);
/*如果用户没有输入,则循环提示用户输入*/

while(*DataFile==('\0'))
{
printf("\nplease input new file of score");
printf("\nNotice :Name of file can't exceed 8 characters.suffix can't exceed 3 characters,part of exceed will be discarded.\n");
gets(DataFile);

}
fp=fopen(DataFile,"a+");/*当文件存在是追加,当文件不存在时创建*/
if(fp==NULL)
{
printf("\nOpen file %s fail!End with any key.\n",DataFile);
exit(1);
}

/*如果成功打开或创建文件,则提示输入学生学号,姓名,各科成绩等相关信息*/

printf("input number,name,and grade of english,math and chinese.number 0 means input is end.\n");
printf("输入的学号不超过九位数,名字不超过二十个字符,分数为0到100\n");
/*循环从键盘上输入个学生的信息*/

while(count<=Size)
{
/*输入学号,如为0则停止输入*/
printf("number\n:");
scanf("%ld",&t.Number);
if(t.Number==0)
break;
/*提是输入学生姓名*/
printf("name\n:");
scanf("%s",t.Name);
/*提示输入学生各科成绩*/
printf("请依次输入语文数学英语成绩,并以回车键隔开以回车键结束输入\n");
for(i=0;i<MS;i++)
{

scanf("%f",&t.marks[i]);

}
/*用公式自动计算个学生总成绩*/
t.total=0;
for(i=0;i<MS;i++)
{
t.total+=t.marks[i];

}
printf("\n");
/*如果遇到无法写入文件的异常,则加以提示*/

if(fwrite(&t,sizeof(student),1,fp)!=1)
{
printf("\nwrite file %s fail!End with any key\n",DataFile);
exit(1);

}
count++;

}
/*如果输入的数据超过最大允许的范围,则提示数据不能录入*/
if(count>Size)
{
printf("\nsorry! number of data can not exceed%d",Size);

}
fclose(fp);
/*在屏幕上显示文件内容*/
printf("the data you input is stored successful %s in file.\n",DataFile);
printf("Content as follow:\n");
fp=fopen(DataFile,"rb");
if(fp==NULL)
{
printf("\nopen file %s is fail!End with any key\n");
exit(1);

}
printf("\nnumber \t name \t");
printf("语文\t数学\t英语\t");
printf("总计\n");
while(fread(&t,sizeof(student),1,fp)!=(int)NULL)
{
printf("\n%ld\t%s\t",t.Number,t.Name);
for(i=0;i<MS;i++)
{
printf("%4.1f\t",t.marks[i]);


}
printf("%4.1f\n",t.total);
fclose(fp);



}

}
#include<stdio.h>
#include"user.h"
void AddUser()
{
FILE *fp=NULL;
user Show;
user Temps;
char DataFile[40]="yonghu.txt";
int count=1;
fp=fopen(DataFile,"ab+");
if(fp==NULL)
{
printf("\nopen file fail!\n");
exit(1);
}
/*若果成功打开文件,则提示输入用户相关信息*/

printf("input number ,name,and password,number 0 means end!\n");
/*循环从键盘上读取用户输入的用户相关信息*/
while(count<=SIZE)
{
printf("number=:");
scanf("%ld",&Temps.Number);
if(Temps.Number==0)
{
break;
}
printf("name:");
scanf("%s",Temps.Name);
getchar();
printf("password=:");
scanf("%s",Temps.ps);
printf("ps is :%s\n",Temps.ps);
printf("power=");
scanf("%d",&Temps.power);
getchar();
/*如果遇到无法写入文件的异常,则加以提示*/
if(fwrite(&Temps,sizeof(user),1,fp)!=1)
{
printf("\nwrite file fail!end with any key!");
exit(1);

}
count++;

}
/*如果输入的数据量超过最大允许范围,则提示数据不能录入*/
if(count>SIZE)
printf("\nsorry,numbber of data can not exceed%d",SIZE);
fclose(fp);
/*在屏幕上显示文件类容*/
printf("The data you input is stored successful in %s",DataFile);
printf("content as follow:\n");
fp=fopen(DataFile,"rb");
if(fp==NULL)
{
printf("\nopen file fail!");
exit(1);
}
printf("\nNumber\tName\tps\tpower\n");
while(fread(&Show,sizeof(user),1,fp)!=(int)NULL)
{
printf("\n%ld\t%s\t%s\t%d\n",Show.Number,Show.Name,Show.ps,Show.power);


}

fclose(fp);


}
#include"managescore.h"
#include"user.h"
void dminn()
{
int choice=0;/*存放用户选项的变量*/
/*功能及操作的界面提示*/
while(1)
{
printf("------------------------------------------------------- \n");
printf("Welcome come to score management system !\n ");
printf("1. Init file to store student score \n");
printf("2. AddRecord() \n");
printf("3. DelRecord() \n");
printf("4. QueryBySeatNum() \n");
printf("5. QueryByName() \n");
printf("6. ModifyByNumber() \n");
printf("7. SortByScore() \n");
printf("***************************************************************\n");
printf(" System User Management!\n");
printf("11. CreatNewUserFile() \n");
printf("12. AddUser() \n");
printf("13. DelUser() \n");
printf("14. ModifyUser() \n");

printf("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
printf("0. END program! ");
printf("----------- ----------------------------------------------------\n");
printf("# Please Input Your Choose ! \n");
printf("#number1--7 to Manage the student's score! \n");
printf("#number11--15 to manage the system user! \n");
printf("#number 0 to Exit the sytem! \n");
printf("##################################################################\n");
scanf("%d",&choice);
getchar();
switch(choice)
{
case 1:
CreatFile();
break;
case 2:
AddRecord();
break;
case 3:
DelRecord();
break;
case 4:
QueryByName();
break;
case 5:
QueryBySeatNum();
break;
case 6:
ModifyByNumber();
break;
case 7:
SortByheji();
break;
case 11:
CreatUser();
break;
case 12:
AddUser();
break;
case 13:
DelUser();
break;
case 14:
ModifyByUserNumber();
break;

break;
case 0:
exit(0);
default:
break;

}
}

}


void main1()
{
dminn();
}
#include <stdio.h>
#include "managescore.h"


void CreatFile()
{
FILE *fp=NULL;/*定义指向文件的指针*/
student t;/*定义进行操作是存放结构体变量的*/
char DataFile[40]="";/*存储学生成绩文件名*/
int count=1,i;/*计算可输入数据的最大范围*/



/*输入存放学生成绩信息的文件名*/
printf("\nplease input new file of score.");
printf("\nNotice :Name of file can't exceed 8 characters.suffix can't exceed 3 characters,part of exceed will be discarded.\n");
gets(DataFile);
/*如果用户没有输入,则循环提示用户输入*/

while(*DataFile==('\0'))
{
printf("\nplease input new file of score");
printf("\nNotice :Name of file can't exceed 8 characters.suffix can't exceed 3 characters,part of exceed will be discarded.\n");
gets(DataFile);

}
/*用二进制写的方式打开文件,即创建文件*/

fp=fopen(DataFile,"wb+");
/*如果当前文件不存在,则提示打开文件失败*/
if(fp==NULL)
{
printf("\nOpen file %s fail!End with any key.\n",DataFile);
exit(1);

}
/*如果成功打开或创建文件,则提示输入学生学号,姓名,各科成绩等相关信息*/

printf("input number,name,and grade of math and chines,english.number 0 means input is end.\n");
printf("输入的学号不超过九位数,名字不超过二十个字符,分数为0到100\n");
/*循环从键盘上输入个学生的信息*/

while(count<=Size)
{
/*输入学号,如为0则停止输入*/
printf("number\n:");
scanf("%ld",&t.Number);
if(t.Number==0)
break;
/*提是输入学生姓名*/
printf("name\n:");
scanf("%s",t.Name);
/*提示输入学生各科成绩*/
printf("请依次输入语文数学英语成绩,并以回车键隔开以回车键结束输入\n");
for(i=0;i<MS;i++)
{

scanf("%f",&t.marks[i]);

}
/*用公式自动计算个学生总成绩*/
t.total=0;
for(i=0;i<MS;i++)
{
t.total+=t.marks[i];

}
printf("\n");
/*如果遇到无法写入文件的异常,则加以提示*/

if(fwrite(&t,sizeof(student),1,fp)!=1)
{
printf("\nwrite file %s fail!End with any key\n",DataFile);
exit(1);

}
count++;

}
/*如果输入的数据超过最大允许的范围,则提示数据不能录入*/
if(count>Size)
{
printf("\nsorry! number of data can not exceed%d",Size);

}
fclose(fp);
/*在屏幕上显示文件内容*/
printf("the data you input is stored successful %s in file.\n",DataFile);
printf("Content as follow:\n");
fp=fopen(DataFile,"rb");
if(fp==NULL)
{
printf("\nopen file %s is fail!End with any key\n");
exit(1);

}
printf("\nnumber \t name \t");
printf("语文\t数学\t英语\t");
printf("总计\n");
while(fread(&t,sizeof(student),1,fp)!=(int)NULL)
{
printf("\n%ld\t%s\t",t.Number,t.Name);
for(i=0;i<MS;i++)
{
printf("%4.1f\t",t.marks[i]);


}
printf("%4.1f\n",t.total);
fclose(fp);



}
}
...全文
278 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujun_ips 2012-05-11
  • 打赏
  • 举报
回复
他们写的++我已开始都以为是艹。。。我说这说得挺好的啊,怎么骂起来了。。。
wsxxiaohao 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

单步调试和设断点调试是程序员必须掌握的技能之一。
[/Quote]
++
赵4老师 2012-05-11
  • 打赏
  • 举报
回复
单步调试和设断点调试是程序员必须掌握的技能之一。
Defonds 2012-05-11
  • 打赏
  • 举报
回复
真长。
Heaven13483 2012-05-11
  • 打赏
  • 举报
回复
代码忒长。。得把问题说出来啊。
酱油党 2012-05-11
  • 打赏
  • 举报
回复
so long……
红红火火用 2012-05-11
  • 打赏
  • 举报
回复
好长啊
zO_Oz 2012-05-11
  • 打赏
  • 举报
回复
好难啊!完全看不懂。。。
lcj20bc 2012-05-10
  • 打赏
  • 举报
回复
这么长!懒得看,直接点说问题呀
自信男孩 2012-05-10
  • 打赏
  • 举报
回复
这么长的代码,效率一点,有什么问题?
W170532934 2012-05-10
  • 打赏
  • 举报
回复
好长的代码,具体说有什么问题吧?单步调试看看。
ouyh12345 2012-05-10
  • 打赏
  • 举报
回复
什么问题?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧