新编日语第一册语法:C语言问题 高手帮忙啊 急

来源:百度文库 编辑:高校问答 时间:2024/05/10 18:33:21
学生成绩管理系统
设计内容:编程序通过菜单的方式实现以下功能:
插入:按学号顺序插入新的学生记录。
删除:按学号删除指定的学生记录。
查询:按姓名、学号查询并显示查询结果。
排序:按姓名、学号、各单科成绩、总成绩排序。
输出:输出所有学生记录到显示或文件。
设计要求:
(1)设计一个结构体类型,其中包括学生的学号、姓名、性别、三门课成绩和总分。
(2)动态申请存储空间,并用链表把所有学生链在一起。
(3)用链表操作的方法实现上述功能。
(4)系统的各个功能模块都用函数的形式来实现;
(5)可以将学生成绩信息保存在文件中。
(6)可以将学生信息从文件中读取出来。
编了N久都编不出啊。谁帮了我我追分啊
谁能给个流程图也好啊。。大哥大姐门``````求你们啦```!!!!!!!!!!!!!!!!!!!!!

#include <string.h>
#include <conio.h>
struct student //定义存放学生数据的结构体类型
{
char name[10]; //学生名字,最长9字节
float score[8]; //八门课程的得分
float total; //总分
};
void main()
{
struct student person[3]; //声明学生个数为3
struct student temp; //临时数据,交换两个学生数据作中间量

int i,j;
float t;
strcpy(person[0].name,"Lihong");//姓名赋值
strcpy(person[1].name,"Wangjian");
strcpy(person[2].name,"Zhaoming");
for (i=0;i<3;i++) //输入三个学生数据
{
printf("Please input scores of %s:",person[i].name); //提示文字
person[i].total=0; //总分清零
for (j=0;j<8;j++) //输入一个学生的得分
{
scanf("%f",&t); //输入一个学生一门课程得分
person[i].total+=t; //将得分加入总分
person[i].score[j]=t; //将得分保存到学生纪录里
}
}

for (i=0;i<2;i++) //选择法排血
for (j=i+1;j<3;j++)
if (person[i].total<person[j].total)
{temp=person[i]; person[i]=person[j];person[j]=temp;} //交换两学生数据
for (i=0;i<3;i++) //输出3名学生数据
printf("No.%d: %10s %4.1f\n",i+1,person[i].name, person[i].total); //按行输出姓名可总分
}

是在做实习作业把,题目有点大,给你一个插入样例把(不过录入的不是你要的自己,自己改改结构变量把把):
/*工资基础信息录入*/
#include"stdio.h"
#define LE sizeof(struct wage_f)
#define NULL 0
FILE *fp;
struct wage_f
{
char skdu_code[20]; /*技术职称编号*/
char skl_duty[50]; /*技术职称*/
float bas_wage; /*基本工资*/
float voc_wage; /*职务工资*/
float sub_sum; /*各种补助*/
}wage;
main()
{ int i,n;
printf("Please input the number you want input:\n");
scanf("%d",&n);
printf("now bigin build file:\n");
fp=fopen("wage_information","a");
for(i=0;i<n;i++)
{printf("input skill duty %d information:\n",i+1);scanf("%*c");
printf("\nSKILL DUTY CODE:\t");gets(wage.skdu_code);
printf("\nSKILL DUTY:\t");gets(wage.skl_duty);
printf("\nBASIC WAGE:\t");scanf("%f",&wage.bas_wage);
printf("\nBASIC WAGE:\t");scanf("%f",&wage.voc_wage);
printf("\nSUM OF WELFARE:\t");scanf("%f",&wage.sub_sum);
fwrite(&wage,LE,1,fp);
clrscr();
}
fclose(fp);
printf("\n\n\t\t\tYou have finish input information of wage!\n");
printf("\n\n\t\t\tPress any key lieve!\n\n");getch();
}