我是大一的学生 老师让我们做一个c语言课程设计 现在给出三道 希望大家 帮帮忙 编写一个工资管理的程序。

作者&投稿:罗尝 (若有异议请与网页底部的电邮联系)
大一C语言课程设计~

免费给你一个,自己改改
#include
#include
#include
struct Student
{
char xuehao[100];
char name[100];
char sex[100];
int age;
float score;

};
void menu(int *n)
{
printf("*********************************************
");
printf("1.创建数据
");
printf("2.添加数据
");
printf("3.删除数据
");
printf("4.查找数据
");
printf("5.按成绩进行排序
");
printf("6.退出
");
printf("*********************************************
");
printf("请输入数字1-6:");
scanf("%d",n);
}
void scanfstudent(struct Student * p,int len)//输入学生的信息 学号 姓名 性别 年龄 得分
{
int i;
for(i = 0; i < len; i++)
{
printf("请输入第%d学生的信息:
",i+1);
printf("学号:");
scanf("%s",p[i].xuehao);
printf("姓名:");
scanf("%s",p[i].name);
printf("性别:");
scanf("%s",p[i].sex);
printf("年龄:");
scanf("%d",&p[i].age);
printf("得分:");
scanf("%f",&p[i].score);
printf("
");
}

}

void printfstudent(struct Student *p,int len)//对学生的信息进行输出
{
int i;
printf("学号姓名性别年龄分数

");

for (i = 0; i < len; i++)
{
printf("%s",p[i].xuehao);
printf("%s",p[i].name);
printf("%s",p[i].sex);
printf("%d",p[i].age);
printf("%.2f
",p[i].score);


}
}
void createdata(struct Student *p,int *len)
{
int n;

printf("请输入要创建数组的长度:");
scanf("%d",&n);
scanfstudent(p,n);
*len = n;
printfstudent(p,*len);

}
void add(struct Student *p,int *len)//增加一个学生的信息。并且按照顺序排列
{
// int i,j;

//int pos = 0;
int c = 1;
while(c == 1)
{
int mylen = *len;
struct Student st;
printf("请输入要添加学生的信息:
");
printf("学号:");
scanf("%s",st.xuehao);
printf("姓名:");
scanf("%s",st.name);
printf("性别:");
scanf("%s",st.sex);
printf("年龄:");
scanf("%d",&st.age);
printf("得分:");
scanf("%f",&st.score);
printf("
");

p[mylen] = st;
*len = mylen+1;
printfstudent(p,*len);
printf("
");
printf("是否继续添加?输入:
1.继续
2.退出
");
scanf("%d",&c);
}
}
void Sort(struct Student *p,int len)//按照分数从大到小排列选择排序法
{
struct Student st;
int i,j;
for(i = 0; i < len - 1; i++)
{
for(j = i + 1 ; j < len; j++)
if(p[i].score < p[j].score)
{
st = p[i];
p[i] = p[j];
p[j] = st;

}
}
printfstudent(p,len);
}

/*if(myp->score >= p[0].score)//
{

for(i = mylen; i > 0 ; i--)
p[i] = p[i-1];
p[0] = *myp;

}
else if(myp->score <= p[mylen-1].score)
{
p[mylen] = *myp;
}
*/
//else
//{
/*for(i = 0; i < mylen; i++)
{
if(myp->score >= p[i].score)
break;
}
pos = i;
for(j = mylen; j > pos; j--)
{
p[j] = p[j-1];
}
p[pos] = *myp;



*len = mylen+1;



}*/
void del(struct Student *p,int *len)//删除学生的信息
{
int i,j;
char p1[1024];
int c = 1;
while(c == 1)
{
int mylen=*len;
printf("请输入要删除学生的学号:");
scanf("%s",p1);
for(i = 0; i < *len; i++)
{
if(strcmp(p[i].xuehao,p1)==0)
break;
}
if(i == 0)//删除的是第一个元素
{
for(j = 0; j < (*len)-1; j++)
p[j] = p[j+1];
}
else if(i>0 && i<(*len)-1)//删除中间的元素
{

for(j = i;j<(*len) -1;j++)
p[j] = p[j+1];



}
else if(i == (*len)-1)
;
else
printf("error,学号输入有误!
");
*len =mylen-1;//数组长度减少一个
printfstudent(p,*len);
printf("
");
printf("是否继续删除?输入:
1.继续
2.退出
");
scanf("%d",&c);
}
}

void serch(struct Student *p,int len)//按学号或者姓名查找学生信息
{


int i,j;
int flat = 0;
char num[100];
char name1[100];
printf("请输入1或2,1按学号查找,2按姓名查找:");
scanf("%d",&i);

if(i == 1)
{
printf("请输入要查找的学号:");
scanf("%s",num);
for(j = 0; j <len; j++)
{
if(strcmp(p[j].xuehao,num) == 0)

{
flat ++;

break;
}

}
if(!flat)
{
printf("学号输入有误!
");
}
else
{
printf("学号:%s,姓名:%s,性别:%s,年龄:%d,得分:%.2f
",p[j].xuehao,p[j].name,p[j].sex,p[j].age,p[j].score);
}
}
else if(i == 2)
{
flat = 0;
printf("请输入要查找的姓名:");
scanf("%s",name1);
for(j = 0; j <len; j++)
{
if(strcmp(p[j].name,name1) == 0)
{
flat ++;
printf("学号:%s,姓名:%s,性别:%s,年龄:%d,得分:%.2f
",p[j].xuehao,p[j].name,p[j].sex,p[j].age,p[j].score);
break;
}


}
if(!flat)
{
printf("姓名输入有误!
");
}
}
}
/*int main(void)
{

int len;
int c;
//char c;
//char xuehao11[1024];
//struct Student *p;
//静态构造结构数组
struct Student p[1024];

printf("请输入学生的个数:");
scanf("%d",&len);

//p = (struct Student*)malloc(sizeof(struct Student)*len);动态构造一个结构数组

scanfstudent(p,len);
Sort(p,len);
printfstudent(p,len);
do
{
struct Student st;


printf("
请输入增加的学生的信息:
");
printf("学号:");
scanf("%s",st.xuehao);
printf("姓名:");
scanf("%s",st.name);
printf("性别:");
scanf("%s",st.sex);
printf("年龄:");
scanf("%d",&st.age);
printf("得分:");
scanf("%f",&st.score);


//serch(p,len);

printf("
");
//printf("请输入要删除的学生的学号:");
printf("
");
//scanf("%s",xuehao11);
add(p,&st,&len);
//del(p,xuehao11,&len);删除一个学生的信息
printfstudent(p,len);
printf("是否继续添加?
1:是
2不添加
");
scanf("%d",&c);

}
while(c==1);


}*/
int main(void)
{
int n;
struct Student p[1024];
int len = 0;
while(1)
{
menu(&n);
switch(n)
{
case 1:createdata(p,&len);break;
case 2:add(p,&len);break;
case 3:del(p,&len);break;
case 4:serch(p,len);break;
case 5:Sort(p,len);break;
case 6:printf("谢谢您的使用!

");break;
default:printf("输入有误重新输入!

");break;
}
if(n == 6)
break;
}
return 0;
}

楼主你好这是我的专周做的我也是大一的你可以稍加修改就好很适合大一的
#include <stdio.h>
#include <conio.h>
#include <string.h> //包含使用strcmp的头文件
#include "baohan.h"
void main()
{
int chg=1,n;
printf("\t\t欢迎使用本管理系统,为了您的正常使用请在Debug下使用\n");
while(chg)
{
Menu();
scanf("%d",&n);
switch(n)
{
case 1:
Infobase(); //信息维护
break;
case 2:
Find(); //信息查询
break;
case 3:
InfoStat(); //成绩统计
break;
case 4:
Comp();
break; //成绩排序
case 0:
chg=0; //退出菜单
printf("谢谢使用!再见\n");
break;
default:
printf("选择错误(0~4)?请重新输入\n");
}
}
getch();
}
/************************************主菜单画面***********************************************/
void Menu()
{
printf("\t\t\t********************\n");
printf("\t\t\t** **\n");
printf("\t\t\t** 主菜单 **\n");
printf("\t\t\t** **\n");
printf("\t\t\t********************\n");
printf("\t\t\t 1 信息维护\n");
printf("\t\t\t 2 信息查询\n");
printf("\t\t\t 3 成绩统计\n");
printf("\t\t\t 4 成绩排序\n");
printf("\t\t\t 0 退出菜单\n");
}
/*************************************信息维护***********************************************/
void Infobase()
{
int n,chg=1;
while(chg)
{
printf("\t\t\t1 录入学生信息\n");
printf("\t\t\t2 修改学生信息\n");
printf("\t\t\t3 删除学生信息\n");
printf("\t\t\t0 回到主菜单\n");
scanf("%d",&n);
switch(n)
{
case 1:
Infobase_add(); //录入信息
break;
case 2:
Infobase_amend(); //修改信息
break;
case 3:
Delete(); //删除信息
case 0:
chg=0; //退回主菜单
break;
default :
printf("\t选择错误请重新输入\n:");
}
}
}
/*******************************录入信息*****************************************************/
void Infobase_add()
{
Student stu[1]; //定义Student型数组变量
FILE* fp=NULL; //声明文件指针
fp=fopen("专周.txt","a"); //以追加方式打开
printf("\t输入姓名 性别 学号 成绩(数学 外语 C语言)\n");
scanf("%s%s%d%d%d%d", //接收输入
stu[0].name,
stu[0].sex,
&stu[0].ID,
&stu[0].math,
&stu[0].english,
&stu[0].computer_C);
stu[0].sum=stu[0].english+stu[0].computer_C+stu[0].math;//计算总分
if(fprintf(fp," %s %s %d %d %d %d %d \n",//写入磁盘防错处理
stu[0].name,
stu[0].sex,
stu[0].ID,
stu[0].math,
stu[0].english,
stu[0].computer_C,
stu[0].sum)==0)
{
printf("写入失败");
}
fclose(fp); //关闭文件指针
}
/*********************************修改信息***************************************************/
void Infobase_amend()
{
int i,j;
char ch[10]; //声明字符数组以保存需修改的姓名
Student stu[50]; //声明Student型数组
FILE* fp=NULL; //声明文件指针
printf("\t输入需修改学生的名字");//提示输入
scanf("%s",ch); //接收输入姓名
fp=fopen("专周.txt","rt+"); //以可读写方式打开
for(i=0;;i++)
{
fscanf(fp," %s %s %d %d %d %d %d ",//从磁盘读入内存
stu[i].name,
stu[i].sex,
&stu[i].ID,
&stu[i].math,
&stu[i].english,
&stu[i].computer_C,
&stu[i].sum);
if(strcmp(stu[i].name,ch)==0) //判断是否查找所需
{
rewind(fp); //指针移到文件开头
printf("\t输入修改姓名 性别 学号 成绩(数学 外语 C语言)\n");
scanf("%s%s%d%d%d%d", //接收输入
stu[i].name,
stu[i].sex,
&stu[i].ID,
&stu[i].math,
&stu[i].english,
&stu[i].computer_C);
j=i;
stu[i].sum=stu[i].english+stu[i].computer_C+stu[i].math;
for(i=0;i<j;i++)
{
fprintf(fp," %s %s %d %d %d %d %d \n",//原数据写入磁盘
stu[i].name,
stu[i].sex,
stu[i].ID,
stu[i].math,
stu[i].english,
stu[i].computer_C,
stu[i].sum);
}
fprintf(fp," %s %s %d %d %d %d %d ",//将修改数据写入磁盘
stu[i].name,
stu[i].sex,
stu[i].ID,
stu[i].math,
stu[i].english,
stu[i].computer_C,
stu[i].sum);
fclose(fp); //关闭文件指针
break;
}
}
}
/**************************************删除信息********************************************/
void Delete()
{
int i,j,k=0;
char ch[10]; //声明字符数组以保存需删除的姓名
Student stu[50]; //声明Student型数组
FILE* fp=NULL,*fp1=NULL; //声明文件指针
printf("\t输入需删除学生的名字"); //提示输入
scanf("%s",ch); //接收输入姓名
fp=fopen("专周.txt","rt+"); //以可读写方式打开
for(i=0;!feof(fp);i++)
{
fscanf(fp," %s %s %d %d %d %d %d ",//从磁盘读入内存
stu[i].name,
stu[i].sex,
&stu[i].ID,
&stu[i].math,
&stu[i].english,
&stu[i].computer_C,
&stu[i].sum);
if(strcmp(stu[i].name,ch)==0) //判断是否查找所需
j=i;
}
rewind(fp); //指针移动到开头
for(;j<i-1;j++)
{
stu[j]=stu[j+1]; //覆盖需删除的后依次前移
}
for(i=0;i<j;i++)
fprintf(fp," %s %s %d %d %d %d %d \n", //写入磁盘
stu[i].name,
stu[i].sex,
stu[i].ID,
stu[i].math,
stu[i].english,
stu[i].computer_C,
stu[i].sum);
}
fclose(fp);
/***************************************信息查询***********************************************/
void Find()
{
int n,chg=1; //声明chg变量用以循环
while(chg)
{
printf("\t\t\t1 按学号查询\n");
printf("\t\t\t2 按姓名查询\n");
printf("\t\t\t0 退回主菜单\n");
scanf("%d",&n);
switch(n)
{
case 1:
Find_ID(); //调用以学号查找的函数
break;
case 2:
Find_name(); //调用以姓名查找的函数
break;
case 0:
chg=0; //退回主菜单
break;
default :printf("\n选择错误请重新输入\n");
}
}
}
/*********************************按学号查找***************************************************/
void Find_ID()
{
int n,i;
Student stu[50]; //声明Student型数组变量
FILE* fp=NULL; //声明文件指针
printf("请输入学号"); //提示接收输入
scanf("%d",&n); //接收输入学号
fp=fopen("专周.txt","rt"); //以只读方式打开
for(i=0;!feof(fp);i++)
{
if(fscanf(fp," %s %s %d %d %d %d %d \n", //防止读入内存失败
stu[i].name,
stu[i].sex,
&stu[i].ID,
&stu[i].math,
&stu[i].english,
&stu[i].computer_C,
&stu[i].sum)==0)
printf("读取失败");
if(stu[i].ID==n) //判断是否需查找学生
{
printf("查找到:%s 性别%s 学号%d 数学%d 外语%d C语言%d 总分%d\n",//输出查找目标
stu[i].name,
stu[i].sex,
stu[i].ID,
stu[i].math,
stu[i].english,
stu[i].computer_C,
stu[i].sum);
break;
}
if(feof(fp)) //处理未找到情况
{
printf("无此学生信息\n");
}
}fclose(fp); //关闭文件指针
}
/******************************按姓名查找*****************************************************/
void Find_name()
{
int i;
char ch[10]; //声明字符数组以储存查找姓名
Student stu[50]; //声明Student型数组变量
FILE* fp=NULL; //声明文件指针
printf("请输入姓名\n"); //提示输入
scanf("%s",ch); //接收输入姓名
fp=fopen("专周.txt","rt"); //以只读方式打开
for(i=0;!feof(fp);i++) //循环,以文件指针到末尾结束循环
{
fscanf(fp," %s %s %d %d %d %d %d ",//从磁盘读入内存
stu[i].name,
stu[i].sex,
&stu[i].ID,
&stu[i].math,
&stu[i].english,
&stu[i].computer_C,
&stu[i].sum);
if(strcmp(stu[i].name,ch)==0) //判断是否查找学生
{
printf("查找到:%s 性别%s 学号%d 数学%d 外语%d C语言%d 总分%d\n",//输出查找目标
stu[i].name,
stu[i].sex,
stu[i].ID,
stu[i].math,
stu[i].english,
stu[i].computer_C,
stu[i].sum);
break;
}
if(feof(fp)) //处理未找到情况
{
printf("无此学生信息\n");
}
}fclose(fp); //关闭文件指针
}
/*********************************信息统计*****************************************************/
void InfoStat()
{
int n,m,i,count=0;
char ch[15]; //声明字符数组保存课程名
Student stu[60]; //声明Student型数组变量
FILE* fp=NULL; //声明文件指针
fp=fopen("专周.txt","rt"); //以只读方式打开
printf("输入课程名(数学 外语 C)和分数段(格式:数学 x1-x2)\n");
scanf("%s",ch); //接收输入课程名
scanf("%d-%d",&n,&m); //接收输入分数段
for(i=0;!feof(fp);i++) //以文件指针到文件末尾结束循环
{
if(fscanf(fp," %s %s %d %d %d %d %d \n", //防止读入内存失败
stu[i].name,
stu[i].sex,
&stu[i].ID,
&stu[i].math,
&stu[i].english,
&stu[i].computer_C,
&stu[i].sum)==0)
printf("读取失败");
count++;
}
fclose(fp); //关闭文件指针
/****************************以下输出查找目标**********************************************/
printf("姓名 性别 %s 总分\n",ch);
for(i=0;i<count;i++)
if(strcmp(ch,"数学")==0 && stu[i].math>=n && stu[i].math<=m)
{

printf("%s\t%s\t%d\t%d\n",
stu[i].name,
stu[i].sex,
stu[i].math,
stu[i].sum);
}
for(i=0;i<count;i++)
if(strcmp(ch,"外语")==0 && stu[i].english>=n && stu[i].english<=m)
{

printf("%s\t%s\t%d\t%d\n",
stu[i].name,
stu[i].sex,
stu[i].english,
stu[i].sum);
}
for(i=0;i<count;i++)
if(!strcmp(ch,"C") && stu[i].computer_C>=n && stu[i].computer_C<=m)
{
printf("%s\t%s\t%d\t%d\n",
stu[i].name,
stu[i].sex,
stu[i].english,
stu[i].sum);
}
}
/******************************成绩排序*******************************************************/
void Comp()
{
int i,k,j,count=0;
char ch[15]; //声明字符数组保存课程名
Student stu[50],temp; //声明Student型变量
FILE *fp=NULL; //声明文件指针
printf("请输入需要排序的课程名"); //提示输入
scanf("%s",ch); //接收输入的课程名
fp=fopen("专周.txt","rt"); //以读方式打开文件
for(i=0;!feof(fp);i++) //以文件指针到末尾结束循环
{
if(fscanf(fp," %s %s %d %d %d %d %d \n", //防止读入内存失败
stu[i].name,
stu[i].sex,
&stu[i].ID,
&stu[i].math,
&stu[i].english,
&stu[i].computer_C,
&stu[i].sum)==0)
printf("读取失败");
count++; //记录文件内学生人数
}
fclose(fp); //关闭文件指针
if(strcmp(ch,"数学")==0)
{
for(i=0;i<count-1;i++) //以下为以降序顺序排序
{
k=i;
for(j=i+1;j<count;j++)
if(stu[k].math<stu[j].math)
k=j;
if(i!=k)
{
temp=stu[i];
stu[i]=stu[k];
stu[k]=temp;
}
}
printf("姓名 性别 学号 数学 外语 C语言 总分 数学成绩名次\n");
for(i=0;i<count;i++)
{
printf("%-6s %4s %d %d %d %d %d %d\n", //输出信息
stu[i].name,
stu[i].sex,
stu[i].ID,
stu[i].math,
stu[i].english,
stu[i].computer_C,
stu[i].sum,i+1);
}
}
if(strcmp(ch,"外语")==0)
{
for(i=0;i<count-1;i++) //以下为降序顺序排序
{
k=i;
for(j=i+1;j<count;j++)
if(stu[k].english<stu[j].english)
k=j;
if(i!=k)
{
temp=stu[i];
stu[i]=stu[k];
stu[k]=temp;
}
}
printf("姓名 性别 学号 数学 外语 C语言 总分 外语成绩名次\n");
for(i=0;i<count;i++)
{
printf("%-6s %4s %d %d %d %d %d %d\n", //输出信息
stu[i].name,
stu[i].sex,
stu[i].ID,
stu[i].math,
stu[i].english,
stu[i].computer_C,
stu[i].sum,i+1);
}
}
if(strcmp(ch,"C")==0)
{
for(i=0;i<count-1;i++) //以下为降序顺序排序
{
k=i;
for(j=i+1;j<count;j++)
if(stu[k].computer_C<stu[j].computer_C)
k=j;
if(i!=k)
{
temp=stu[i];
stu[i]=stu[k];
stu[k]=temp;
}
}
printf("姓名 性别 学号 数学 外语 C语言 总分 C语言成绩名次\n");
for(i=0;i<count;i++)
{
printf("%-6s %4s %d %d %d %d %d %d\n", //输出信息
stu[i].name,
stu[i].sex,
stu[i].ID,
stu[i].math,
stu[i].english,
stu[i].computer_C,
stu[i].sum,i+1);
}
}
}以下是baohan头文件
void Menu(); //主菜单
void Infobase(); //信息维护
void Find(); //信息查询
void InfoStat(); //成绩统计
void Comp(); //成绩排序
void Find_ID(); //以学号查找
void Find_name(); //以姓名查找
void Infobase_add(); //录入信息
void Infobase_amend(); //修改信息
void Delete(); //删除信息
typedef struct //重命名学生信息结构体
{
char name[10]; //姓名
char sex[3]; //性别
int ID; //学号
int math; //数学成绩
int english; //英语成绩
int computer_C; //计算机C语言成绩
int sum; //成绩总和
}Student;

#include <time.h>
#include<stdio.h>
#include<conio.h>
#include <stdlib.h>
#include<string.h>
#define MAX 80
void input();
void sort();
void display();
void insert();
void del();
void average();
void find();
void save();
void read();
void del_file();
void average();
void modify();
int now_no=0;
struct student
{
int no;
char name[20];
char sex[4];
float score1;
float score2;
float score3;
float sort;
float ave;
float sum;
};
struct student stu[MAX],*p;
main()/*主函数*/
{
int as;
start: printf("\n\t\t\t欢迎使用学生成绩管理系统\n");
/*一下为功能选择模块*/
do
{
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\t\t\t\t7.查询学员信息\n\t\t\t\t8.从文件读入学员信息\n\t\t\t\t9.删除文件中学员信息\n\t\t\t\t10.保存学员信息\n\t\t\t\t11.退出\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:system("cls");sort();break;
case 4:system("cls");insert();break;
case 5:system("cls");del();break;
case 6:system("cls");modify();break;
case 7:system("cls");find();break;
case 8:system("cls");read();break;
case 9:system("cls");del_file();break;
case 10:system("cls");save();break;
case 11:system("exit");exit(0);
default:system("cls");goto start;
}
}while(1);
/*至此功能选择结束*/
}
void input()/*原始数据录入模块*/
{
int i=0;
char ch;
do
{
printf("\t\t\t\t1.录入学员信息\n输入第%d个学员的信息\n",i+1);
printf("\n输入学生编号:");
scanf("%d",&stu[i].no);
fflush(stdin);
printf("\n输入学员姓名:");
fflush(stdin);
gets(stu[i].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[i].sex);
printf("\n输入学员成绩1:");
fflush(stdin);
scanf("%f",&stu[i].score1);
printf("\n输入学员成绩2:");
fflush(stdin);
scanf("%f",&stu[i].score2);
printf("\n输入学员成绩3:");
fflush(stdin);
scanf("%f",&stu[i].score3);
printf("\n\n");
i++;
now_no=i;
printf("是否继续输入?(Y/N)");
fflush(stdin);
ch=getch();
system("cls");
}
while(ch!='n'&&ch!='N');
system("cls");
}
void sort()/*排序数据函数*/
{
struct student temp;
int i,j;
average();
for(i=1;i<now_no;i++)
{
for(j=1;j<=now_no-i;j++)
{
if(stu[j-1].ave<stu[j].ave)
{
temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}
}
}
}
void display()/*显示数据函数*/
{
int i;
char as;
average();
do
{
printf("\t\t\t班级学员信息列表\n");
printf("\t编号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");
for(i=0;i<now_no&&stu[i].name[0];i++)printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
printf("\t\t按任意键返回主菜单.");
fflush(stdin);
as=getch();
}
while(!as);
system("cls");
}
void insert()/*插入数据函数*/
{
char ch;
do
{
printf("\n\t\t输入新插入学员队信息\n");
printf("\n输入学生编号:");
scanf("%d",&stu[now_no].no);
fflush(stdin);
printf("\n输入学员姓名:");
fflush(stdin);
gets(stu[now_no].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[now_no].sex);
printf("\n输入学员成绩1:");
fflush(stdin);
scanf("%f",&stu[now_no].score1);
printf("\n输入学员成绩2:");
fflush(stdin);
scanf("%f",&stu[now_no].score2);
printf("\n输入学员成绩3:");
fflush(stdin);
scanf("%f",&stu[now_no].score3);
printf("\n\n");
now_no=now_no+1;
sort();
printf("是否继续输入?(Y/N)");
fflush(stdin);
ch=getch();
system("cls");
}
while(ch!='n'&&ch!='N');
}
void del()/*删除数据函数*/
{
int inum,i,j;
printf("输入要删除学员的编号:");
fflush(stdin);
scanf("%d",&inum);
for(i=0;i<now_no;i++)
{
if(stu[i].no==inum)
{
if(i==now_no)now_no-=1;
else
{
stu[i]=stu[now_no-1];
now_no-=1;
}
sort();
break;
}
}
system("cls");
}
void save()/*保存数据函数*/
{
FILE *fp;
int i;
char filepath[20];
printf("输入要保存的文件路径:");
fflush(stdin);
gets(filepath);
if((fp=fopen(filepath,"w"))==NULL)
{
printf("\n保存失败!");
exit(0);
}
for(i=0;i<now_no;i++)
{
stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;
stu[i].ave=stu[i].sum/3;
fprintf(fp,"\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
}
fclose(fp);
printf("学生信息已保存在%s中!\n",filepath);
system("pause");
system("cls");
}
void find()/*查询函数*/
{
int i;
char str[20],as;
do
{
printf("输入要查询的学生姓名:");
fflush(stdin);
gets(str);
for(i=0;i<now_no;i++)
if(!strcmp(stu[i].name,str))
{
printf("\t编号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");
printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
}
printf("\t\t按任意键返回主菜单.");
fflush(stdin);
as=getch();
}
while(!as);
system("cls");
}
void average()/*求平均数*/
{
int i;
for(i=0;i<now_no;i++)
{
stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;
stu[i].ave=stu[i].sum/3;
}
}
void modify()/*修改数据函数*/
{
int i;
char str[20],as;
printf("输入要修改的学生姓名:");
fflush(stdin);
gets(str);
for(i=0;i<now_no;i++)
if(!strcmp(stu[i].name,str))
{
system("cls");
printf("\n\t\t输入新插入学员队信息\n");
printf("\n输入学生编号:");
fflush(stdin);
scanf("%d",&stu[i].no);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[i].sex);
printf("\n输入学员成绩1:");
fflush(stdin);
scanf("%f",&stu[i].score1);
printf("\n输入学员成绩2:");
fflush(stdin);
scanf("%f",&stu[i].score2);
printf("\n输入学员成绩3:");
fflush(stdin);
scanf("%f",&stu[i].score3);
printf("\n\n");
sort();
break;
}
system("cls");
}

void read()
{
FILE *fp;
int i;
char filepath[20];
printf("输入要读入的文件路径:");
fflush(stdin);
gets(filepath);
if((fp=fopen(filepath,"r"))==NULL)
{
printf("找不到%s文件!\n",filepath);
system("pause");
exit(0);
}
now_no=0;
for(i=0;i<MAX&&!feof(fp);i++)
{
fscanf(fp,"\t%d\t%s\t%s\t%f\t%f\t%f\t%f\n",&stu[i].no,stu[i].name,stu[i].sex,&stu[i].score1,&stu[i].score2,&stu[i].score3,&stu[i].ave);
now_no++;
}
fclose(fp);
printf("保存的在文件%s中的所有信息已经读入!\n",filepath);
system("pause");
system("cls");
}

void del_file()
{
FILE *fp;
char filepath[20];
printf("输入要删除的文件路径:");
fflush(stdin);
gets(filepath);
fp=fopen(filepath,"w");
fclose(fp);
printf("保存的在文件%s中的所有信息已经删除!\n",filepath);
system("pause");
system("cls");
}

void input();
void sort();
void display();
void insert();
void del();
void average();
void find();
void save();
void read();
void del_file();
void average();
void modify();
int now_no=0;
struct student
{
int no;
char name[20];
char sex[4];
float score1;
float score2;
float score3;
float sort;
float ave;
float sum;
};
struct student stu[MAX],*p;
main()/*主函数*/
{
int as;
start: printf("\n\t\t\t欢迎使用学生成绩管理系统\n");
/*一下为功能选择模块*/
do
{
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\t\t\t\t7.查询学员信息\n\t\t\t\t8.从文件读入学员信息\n\t\t\t\t9.删除文件中学员信息\n\t\t\t\t10.保存学员信息\n\t\t\t\t11.退出\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:system("cls");sort();break;
case 4:system("cls");insert();break;
case 5:system("cls");del();break;
case 6:system("cls");modify();break;
case 7:system("cls");find();break;
case 8:system("cls");read();break;
case 9:system("cls");del_file();break;
case 10:system("cls");save();break;
case 11:system("exit");exit(0);
default:system("cls");goto start;
}
}while(1);
/*至此功能选择结束*/
}
void input()/*原始数据录入模块*/
{
int i=0;
char ch;
do
{
printf("\t\t\t\t1.录入学员信息\n输入第%d个学员的信息\n",i+1);
printf("\n输入学生编号:");
scanf("%d",&stu[i].no);
fflush(stdin);
printf("\n输入学员姓名:");
fflush(stdin);
gets(stu[i].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[i].sex);
printf("\n输入学员成绩1:");
fflush(stdin);
scanf("%f",&stu[i].score1);
printf("\n输入学员成绩2:");
fflush(stdin);
scanf("%f",&stu[i].score2);
printf("\n输入学员成绩3:");
fflush(stdin);
scanf("%f",&stu[i].score3);
printf("\n\n");
i++;
now_no=i;
printf("是否继续输入?(Y/N)");
fflush(stdin);
ch=getch();
system("cls");
}
while(ch!='n'&&ch!='N');
system("cls");
}
void sort()/*排序数据函数*/
{
struct student temp;
int i,j;
average();
for(i=1;i<now_no;i++)
{
for(j=1;j<=now_no-i;j++)
{
if(stu[j-1].ave<stu[j].ave)
{
temp=stu[j];
stu[j]=stu[j-1];
stu[j-1]=temp;
}
}
}
}
void display()/*显示数据函数*/
{
int i;
char as;
average();
do
{
printf("\t\t\t班级学员信息列表\n");
printf("\t编号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");
for(i=0;i<now_no&&stu[i].name[0];i++)printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
printf("\t\t按任意键返回主菜单.");
fflush(stdin);
as=getch();
}
while(!as);
system("cls");
}
void insert()/*插入数据函数*/
{
char ch;
do
{
printf("\n\t\t输入新插入学员队信息\n");
printf("\n输入学生编号:");
scanf("%d",&stu[now_no].no);
fflush(stdin);
printf("\n输入学员姓名:");
fflush(stdin);
gets(stu[now_no].name);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[now_no].sex);
printf("\n输入学员成绩1:");
fflush(stdin);
scanf("%f",&stu[now_no].score1);
printf("\n输入学员成绩2:");
fflush(stdin);
scanf("%f",&stu[now_no].score2);
printf("\n输入学员成绩3:");
fflush(stdin);
scanf("%f",&stu[now_no].score3);
printf("\n\n");
now_no=now_no+1;
sort();
printf("是否继续输入?(Y/N)");
fflush(stdin);
ch=getch();
system("cls");
}
while(ch!='n'&&ch!='N');
}
void del()/*删除数据函数*/
{
int inum,i,j;
printf("输入要删除学员的编号:");
fflush(stdin);
scanf("%d",&inum);
for(i=0;i<now_no;i++)
{
if(stu[i].no==inum)
{
if(i==now_no)now_no-=1;
else
{
stu[i]=stu[now_no-1];
now_no-=1;
}
sort();
break;
}
}
system("cls");
}
void save()/*保存数据函数*/
{
FILE *fp;
int i;
char filepath[20];
printf("输入要保存的文件路径:");
fflush(stdin);
gets(filepath);
if((fp=fopen(filepath,"w"))==NULL)
{
printf("\n保存失败!");
exit(0);
}
for(i=0;i<now_no;i++)
{
stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;
stu[i].ave=stu[i].sum/3;
fprintf(fp,"\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
}
fclose(fp);
printf("学生信息已保存在%s中!\n",filepath);
system("pause");
system("cls");
}
void find()/*查询函数*/
{
int i;
char str[20],as;
do
{
printf("输入要查询的学生姓名:");
fflush(stdin);
gets(str);
for(i=0;i<now_no;i++)
if(!strcmp(stu[i].name,str))
{
printf("\t编号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t平均值\n");
printf("\t%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].no,stu[i].name,stu[i].sex,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].ave);
}
printf("\t\t按任意键返回主菜单.");
fflush(stdin);
as=getch();
}
while(!as);
system("cls");
}
void average()/*求平均数*/
{
int i;
for(i=0;i<now_no;i++)
{
stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3;
stu[i].ave=stu[i].sum/3;
}
}
void modify()/*修改数据函数*/
{
int i;
char str[20],as;
printf("输入要修改的学生姓名:");
fflush(stdin);
gets(str);
for(i=0;i<now_no;i++)
if(!strcmp(stu[i].name,str))
{
system("cls");
printf("\n\t\t输入新插入学员队信息\n");
printf("\n输入学生编号:");
fflush(stdin);
scanf("%d",&stu[i].no);
printf("\n输入学员性别:");
fflush(stdin);
gets(stu[i].sex);
printf("\n输入学员成绩1:");
fflush(stdin);
scanf("%f",&stu[i].score1);
printf("\n输入学员成绩2:");
fflush(stdin);
scanf("%f",&stu[i].score2);
printf("\n输入学员成绩3:");
fflush(stdin);
scanf("%f",&stu[i].score3);
printf("\n\n");
sort();
break;
}
system("cls");
}

void read()
{
FILE *fp;
int i;
char filepath[20];
printf("输入要读入的文件路径:");
fflush(stdin);
gets(filepath);
if((fp=fopen(filepath,"r"))==NULL)
{
printf("找不到%s文件!\n",filepath);
system("pause");
exit(0);
}
now_no=0;
for(i=0;i<MAX&&!feof(fp);i++)
{
fscanf(fp,"\t%d\t%s\t%s\t%f\t%f\t%f\t%f\n",&stu[i].no,stu[i].name,stu[i].sex,&stu[i].score1,&stu[i].score2,&stu[i].score3,&stu[i].ave);
now_no++;
}
fclose(fp);
printf("保存的在文件%s中的所有信息已经读入!\n",filepath);
system("pause");
system("cls");
}

void del_file()
{
FILE *fp;
char filepath[20];
printf("输入要删除的文件路径:");
fflush(stdin);
gets(filepath);
fp=fopen(filepath,"w");
fclose(fp);
printf("保存的在文件%s中的所有信息已经删除!\n",filepath);
system("pause");
system("cls");
}

看到这个题目我很无语,再看到上面大哥们的答案我更无语.............

大一的学生,老师会给这么复杂的东西做嘛.........................
这个要拿控制台做出来不得累死......用mfc还差不多.....

上面那些大哥你们是从哪粘了这么长一堆代码过来呢......................

靠,我也是大一的!但跟你差距太大了…我一看就蒙了。悲剧。


中卫市13237851596: 我是大一的学生 老师让我们做一个c语言课程设计 现在给出三道 希望大家 帮帮忙 编写一个工资管理的程序. -
年律疤痕: #include <time.h> #include<stdio.h> #include<conio.h> #include <stdlib.h> #include<string.h> #define MAX 80 void input(); void sort(); void display(); void insert(); void del(); void average(); void find(); void save(); void read(); void del_file(); void ...

中卫市13237851596: 急需,数据结构线性表学了一点,老师就叫用c语言做个学生信息管理系统
年律疤痕: #include<stdio.h> struct node { int num; struct node *next; } main() { struct node *cycle[6],*preptr=NULL; struct node *pre, *cur, *del(); int i; for(i=0;i<6;i++) { cycle[i] = malloc(sizeof(struct node)); printf("type in %dth number:", i); scanf("%d", &(...

中卫市13237851596: 我是一名大一的学生,目前只学过C语言,但现在需要自己制作一个APP,我接下来需要学什么呢?用什么软 -
年律疤痕: 脚踏实地吧,App是应用程序,需要涉及的知识很多,你可以先学一门面向对象的语言,c++,C#,java,都可以,再学数据库,如果还有时间的话,学一门软件工程设计吧,仅仅靠C和设计前端是做不出APP的.

中卫市13237851596: 我是大一的学生,信息安全专业,将来准备考研,老师让我们从c++和java -
年律疤痕: 如果是信息安全我认为选c++好一点.Java的优势是移植性好,一次开发,各个平台都能运行.不需要针对不同操作系统多次开发,并且有一些自己的特点.对于信息安全来说其实移植性的特点体现的并不明显,而c++则更为接触底层一些.使用c++可以操控一些底层,对于系统的底层接触更多,理解更多.甚至就是Java编译过程中都有c++的身影.在编译时会加入头文件,转为c++.

中卫市13237851596: 求助,我是学材料的大一新生,我们的计算机老师给我留了个作业,让我们编个程序,运行程序时,他输入1+ -
年律疤痕: 楼上那个热心网友肯定没用过C语言吧#include <stdio.h>#include <stdlib.h> int main() { int data,data1,data2; //结果、第一位、第二位变量 char op; //符号变量 printf("输入公式:"); scanf("%d%c%d",&data1,&op,&data2); //获取输入...

中卫市13237851596: 学会了C语言,能做什么?
年律疤痕: 你写一些小游戏`` 比如俄罗斯方块`拼图游戏``计算器`` 还有小型的系统``如学生成绩管理系统`图书管理系统``等等` 刚学C语言时``老师先让你把最基础的C函数搞懂`` 再叫你写一些小型的程序`` 我大一学了半年之后``老师就叫我们写一个小型的学生成绩管理系统` 不过我现在已快毕业了``现在能写出小型的游戏`

中卫市13237851596: 老师让我们做一个简单猜数的程序,求问咋做?我的出不来(C语言) -
年律疤痕: #include#include#include int main(void) { int a=0,b=0; char again; while (1) { srand((unsigned) time(NULL)); a=1+rand()%100; // printf("debug: the number is %d\n", a); printf("enter a number:"); scanf("%d",&b); getchar(); while(b!=a) { if(b>...

中卫市13237851596: 我是大一的,刚接触学习C语言,用的是清华的教材,老师让用visual C++6.0,急求入门方法啊!!!多谢! -
年律疤痕: 呵呵,入门还是很重要的.C入门了,其他语言很容易上手. 刚学C的时候记住编写的格式1:头文件,2:main函数,3:定义变量 比如int a=2;4输入输出,5:算法,比如if语句之类的. 如果有上机课的话,一般老师带着你们做,我当时就是老...

中卫市13237851596: 我现在是大一的学生,刚学了c,那接下来怎么深入地学c,达到精通,现在我只能解决一些数学计算得问题,... -
年律疤痕: 记住呀,C只是程序语言的一种,C是众多程序中的基础的一个.额,其实你问的问题太宽泛了,程序包括算法+数据结构.刚刚学C的你,只是学的C语言的皮毛,可以买点C语言的书来看.当然了,程序最重要的是练手,你自己多打打代码就知道自己是不是真的喜欢程序

中卫市13237851596: 我是大一学生,是机械设计专业,C程序设计是我们的选修课,但我觉得 -
年律疤痕: 可以退,我当初考的二级证还压箱底呢,一点用不上,除非你继续钻研,搞设计编程方面,三级还分硬件和软件分别考.其实二级很简单的,不难,当初伙...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网