c语言信管
⑴ c语言编写学生信息管理系统,不要报错的......
可以输入
输出
查找
排序学生的成绩
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define
N
50
struct
Student
{
long
number;
char
name[20];
int
score;
}stu[N],t;
struct
Student
*p;
int
Num=0;
void
input()
{
char
ch;
for(p=stu+Num;p-stu<N;p++)
{
Num++;
printf("请输入第%d个学生的学号:",Num);
scanf("%ld",&p->number);
printf("请输入第%d个学生的姓名:",Num);
scanf("%s",p->name);
printf("请输入第%d个学生的成绩:",Num);
scanf("%d",&p->score);
if(Num<N)
{
printf("\n已输入%d个学生的信息,是否继续输入(y/n)?",Num);
ch=getchar();
scanf("%c",&ch);
if(ch=='n')
break;
}
else
printf("已输入%d个学生的信息,不能再输入\n",N);
}
}
void
output()
{
char
ch;
for(p=stu;p-stu<Num;p++)
{
printf("学号\t\t\t姓名\t\t\t成绩\n");
printf("%-24ld%-24s%d\n",p->number,p->name,p->score);
}
printf("按回车键继续\n");
ch=getchar();
ch=getchar();
}
void
sort()
{
char
ch;
int
i,j;
for(i=0;i<Num-1;i++)
for(j=i+1;j<Num;j++)
{
if(stu[i].score<stu[j].score)
{
t=stu[i];
stu[i]=stu[j];
stu[j]=t;
}
}
printf("已排序完毕,是否输出排序后学生信息(y/n)?");
ch=getchar();
if(ch=getchar()=='y')
output();
}
void
search()
{
char
nam[20],ch;
int
k=0;
fflush(stdin);
printf("请输入需要查询的学生姓名:");
gets(nam);
for(p=stu;p-stu<Num;p++)
{
if(!strcmp(nam,p->name))
{
printf("学号\t\t\t姓名\t\t\t成绩\n");
printf("%-24ld%-24s%d\n",p->number,p->name,p->score);
k=1;
}
}
if(k==0)
printf
("不存在该学生信息\n");
printf("按回车键继续\n");
ch=getchar();
}
int
menu()
{
int
choice;
printf("\t\t学生信息管理系统\n");
printf("\t1.输入学生的成绩\n\t2.输出学生的成绩\n\t3.排序学生的成绩\n\t4.查找学生的成绩\n\t5.退出系统\n");
printf("\n请输入你的选择(1-5):");
scanf("%d",&choice);
return
choice;
}
main()
{
while(1)
{
switch(menu())
{
case
1:input();break;
case
2:output();break;
case
3:sort();break;
case
4:search();break;
case
5:exit(0);
}
}
}
⑵ 如何用c语言制作一个学生信息管理系统,要求以文件形式保存
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//链表结点结构体声明
typedef struct subjects
{
char name[20];
float score;
}sub;
typedef struct student
{
int num;
char name[20];
sub subject[3];
struct student* next;
}stu,*pstu;
#define SIZE sizeof(stu)
//函数申明
pstu LoadInfo();
void PrintMenu();
pstu AddStu(pstu );
pstu DeleStu(pstu );
pstu RwrStu(pstu );
void FindStu(pstu , char );
void Count(pstu ,char * ,float ,float );
void Rank(pstu ,char * );
void SaveQuit(pstu );
//创建菜单,进入选择循环
while(1)
{
PrintMenu();
printf("请输入您的选择编号:");
scanf("%d",&n);
getchar();
switch(n)
{
case 1:
{
system("cls");
j=0;
while(4!=j)
{
printf("欢迎进入信息管理版块! ");
printf("