编写一个C语言小程序 急求
题目:要求用户输入5个同学的有关信息,内容包括姓名,学号,两门课程成绩。如果录入的学号与前面的输入有相同的,提示用户重新输入(仅重新录入该生学号,不能退出程序或让用户全部...
题目:
要求用户输入5个同学的有关信息,内容包括姓名,学号,两门课程成绩。如果录入的学号与前面的输入有相同的,提示用户重新输入(仅重新录入该生学号,不能退出程序或让用户全部重新输入相关信息,如果再次录入还有相同的,继续重新输入,直到不同为止)。完成输入后,实现按学号从小到大排序输出,并按平均成绩排序,将按平均成绩排序后的结果存入一个文本文件中(文件名为result.txt)。 展开
要求用户输入5个同学的有关信息,内容包括姓名,学号,两门课程成绩。如果录入的学号与前面的输入有相同的,提示用户重新输入(仅重新录入该生学号,不能退出程序或让用户全部重新输入相关信息,如果再次录入还有相同的,继续重新输入,直到不同为止)。完成输入后,实现按学号从小到大排序输出,并按平均成绩排序,将按平均成绩排序后的结果存入一个文本文件中(文件名为result.txt)。 展开
展开全部
/*
http://zhidao.baidu.com/question/355983315.html?fr=uc_push&push=core&oldq=1
要求用户输入5个同学的有关信息,内容包括姓名,学号,两门课程成绩。
如果录入的学号与前面的输入有相同的,提示用户重新输入
(仅重新录入该生学号,不能退出程序或让用户全部重新输入相关信息,
如果再次录入还有相同的,继续重新输入,直到不同为止)。完成输入后,
实现按学号从小到大排序输出,并按平均成绩排序,
将按平均成绩排序后的结果存入一个文本文件中(文件名为result.txt)。
*/
#define N 5
#define FILENAME "result.txt"
#define MODE "w+"
typedef struct _stu{
int no;
char name[20];
int cls1;
int cls2;
} Stu, *pStu;
Stu ar[N] = {0}; //globe vars
int checkID(int ID,int pos)
{
int i;
for(i=0;i<N;i++)
{
if(pos != i)
if(ar[i].no == ID) return 1;
}
return 0;
}
int main(int argc, char *argv[])
{
FILE *pf;
int i;
if(NULL == (pf = fopen(FILENAME,MODE))) return 0;
for(i=0;i<N;i++)
{
printf("input ID num:");
while(scanf("%d",&ar[i].no) && checkID(ar[i].no,i))
printf("input ID num:");
printf("input Stu name:");
scanf("%s",&ar[i].name);
printf("input Cls1 grade:");
scanf("%d",&ar[i].cls1);
printf("input Cls2 grade:");
scanf("%d",&ar[i].cls2);
}
for(i=0;i<N;i++)
{
printf("ID = %d name:%s, cls1:%d cls2: %d \n",ar[i].no,ar[i].name,ar[i].cls1,ar[i].cls2);
fprintf(pf,"%d %s %d %d\n",ar[i].no,ar[i].name,ar[i].cls1,ar[i].cls2);
}
fclose(pf);
system("PAUSE");
return 0;
}
http://zhidao.baidu.com/question/355983315.html?fr=uc_push&push=core&oldq=1
要求用户输入5个同学的有关信息,内容包括姓名,学号,两门课程成绩。
如果录入的学号与前面的输入有相同的,提示用户重新输入
(仅重新录入该生学号,不能退出程序或让用户全部重新输入相关信息,
如果再次录入还有相同的,继续重新输入,直到不同为止)。完成输入后,
实现按学号从小到大排序输出,并按平均成绩排序,
将按平均成绩排序后的结果存入一个文本文件中(文件名为result.txt)。
*/
#define N 5
#define FILENAME "result.txt"
#define MODE "w+"
typedef struct _stu{
int no;
char name[20];
int cls1;
int cls2;
} Stu, *pStu;
Stu ar[N] = {0}; //globe vars
int checkID(int ID,int pos)
{
int i;
for(i=0;i<N;i++)
{
if(pos != i)
if(ar[i].no == ID) return 1;
}
return 0;
}
int main(int argc, char *argv[])
{
FILE *pf;
int i;
if(NULL == (pf = fopen(FILENAME,MODE))) return 0;
for(i=0;i<N;i++)
{
printf("input ID num:");
while(scanf("%d",&ar[i].no) && checkID(ar[i].no,i))
printf("input ID num:");
printf("input Stu name:");
scanf("%s",&ar[i].name);
printf("input Cls1 grade:");
scanf("%d",&ar[i].cls1);
printf("input Cls2 grade:");
scanf("%d",&ar[i].cls2);
}
for(i=0;i<N;i++)
{
printf("ID = %d name:%s, cls1:%d cls2: %d \n",ar[i].no,ar[i].name,ar[i].cls1,ar[i].cls2);
fprintf(pf,"%d %s %d %d\n",ar[i].no,ar[i].name,ar[i].cls1,ar[i].cls2);
}
fclose(pf);
system("PAUSE");
return 0;
}
追问
需要加上头文件#include不然编译时FILE会出错误
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询